linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [linux-next,v2] dio: add missing iounmap() after ioremap() from dio.c
@ 2021-08-31  3:05 cgel.zte
  0 siblings, 0 replies; only message in thread
From: cgel.zte @ 2021-08-31  3:05 UTC (permalink / raw)
  To: salah.triki; +Cc: xu.xin16, gregkh, linux-kernel, Zeal Robot

From: xu xin <xu.xin16@zte.com.cn>

When the condition 'scode >= DIOII_SCBASE' is true, the pointer 'va' is
mapped by executing ioremap(). Accordingly, if kzalloc() fails, 'va'
needs to be unmapped before returning -ENOMEM.

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

diff --git a/drivers/dio/dio.c b/drivers/dio/dio.c
index 4c06c93c93d3..7d192509a8bd 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.25.1


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-31  3:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-31  3:05 [linux-next,v2] dio: add missing iounmap() after ioremap() from dio.c cgel.zte

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).