[PATCH] macintosh/ans-lcd: check ioremap() return value
Linkai Gong <[email protected]> Fri, 31 Jul 2026 17:41:44 +0800
| Newsgroups | org.ozlabs.lists.linuxppc-dev,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
anslcd_init() used ioremap() without checking for failure and then
called anslcd_write_byte_*() which dereference anslcd_ptr. Return
-ENOMEM if the mapping fails.
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Linkai Gong <[email protected]>
---
drivers/macintosh/ans-lcd.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/macintosh/ans-lcd.c b/drivers/macintosh/ans-lcd.c
index fa904b24a600..6ea7fb8666f7 100644
--- a/drivers/macintosh/ans-lcd.c
+++ b/drivers/macintosh/ans-lcd.c
@@ -168,9 +168,11 @@ anslcd_init(void)
of_node_put(node);
anslcd_ptr = ioremap(ANSLCD_ADDR, 0x20);
-
+ if (!anslcd_ptr)
+ return -ENOMEM;
+
retval = misc_register(&anslcd_dev);
- if(retval < 0){
+ if (retval < 0) {
printk(KERN_INFO "LCD: misc_register failed\n");
iounmap(anslcd_ptr);
return retval;
--
2.25.1