macintosh/macio-adb: check the return value of ioremap()
authorXie Shaowen <studentxswpy@163.com>
Tue, 2 Aug 2022 07:41:48 +0000 (15:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:50 +0000 (13:32 +0100)
[ Upstream commit dbaa3105736d4d73063ea0a3b01cd7fafce924e6 ]

The function ioremap() in macio_init() can fail, so its return value
should be checked.

Fixes: 36874579dbf4c ("[PATCH] powerpc: macio-adb build fix")
Reported-by: Hacash Robot <hacashRobot@santino.com>
Signed-off-by: Xie Shaowen <studentxswpy@163.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220802074148.3213659-1-studentxswpy@163.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/macintosh/macio-adb.c

index 9b63bd2551c632a4893f2be9332b5e11a03d4e85..cd4e34d15c26b55f11ecd8e1f1715c15103832ef 100644 (file)
@@ -108,6 +108,10 @@ int macio_init(void)
                return -ENXIO;
        }
        adb = ioremap(r.start, sizeof(struct adb_regs));
+       if (!adb) {
+               of_node_put(adbs);
+               return -ENOMEM;
+       }
 
        out_8(&adb->ctrl.r, 0);
        out_8(&adb->intr.r, 0);