drivers: dio: add missing iounmap() in dio_init()
authorYang Yingliang <yangyingliang@huawei.com>
Wed, 11 May 2022 06:45:06 +0000 (14:45 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 May 2022 16:56:51 +0000 (18:56 +0200)
If kzalloc() fails, iounmap() need be called in error path.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20220511064506.3398512-1-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/dio/dio.c

index 005a82f..0e5a566 100644 (file)
@@ -216,8 +216,11 @@ static int __init dio_init(void)
 
                /* Found a board, allocate it an entry in the list */
                dev = kzalloc(sizeof(struct dio_dev), GFP_KERNEL);
-               if (!dev)
+               if (!dev) {
+                       if (scode >= DIOII_SCBASE)
+                               iounmap(va);
                        return -ENOMEM;
+               }
 
                dev->bus = &dio_bus;
                dev->dev.parent = &dio_bus.dev;