[PATCH] dio: add missing iounmap() after ioremap()

From: yang.yang29
Date: Mon Aug 23 2021 - 08:46:08 EST


From: xu xin <xu.xin16@xxxxxxxxxx>

If kzalloc() fails, the 'va' needs to be unmapped before returning -ENOMEM.

Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
Signed-off-by: xu xin <xu.xin16@xxxxxxxxxx>
---
drivers/dio/dio.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/dio/dio.c b/drivers/dio/dio.c
index 4c06c93..7d19250 100644
--- a/drivers/dio/dio.c
+++ b/drivers/dio/dio.c
@@ -218,9 +218,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;
dev->dev.bus = &dio_bus_type;
--
2.15.2