| From 61cc2b045033ea2cd26501ca42c10a1a17aec31c Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 19 Nov 2022 07:33:07 +0000 |
| Subject: mtd: maps: pxa2xx-flash: fix memory leak in probe |
| |
| From: Zheng Yongjun <zhengyongjun3@huawei.com> |
| |
| [ Upstream commit 2399401feee27c639addc5b7e6ba519d3ca341bf ] |
| |
| Free 'info' upon remapping error to avoid a memory leak. |
| |
| Fixes: e644f7d62894 ("[MTD] MAPS: Merge Lubbock and Mainstone drivers into common PXA2xx driver") |
| Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com> |
| [<miquel.raynal@bootlin.com>: Reword the commit log] |
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |
| Link: https://lore.kernel.org/linux-mtd/20221119073307.22929-1-zhengyongjun3@huawei.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/mtd/maps/pxa2xx-flash.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/mtd/maps/pxa2xx-flash.c b/drivers/mtd/maps/pxa2xx-flash.c |
| index 7d96758a8f04..6e5e55755970 100644 |
| --- a/drivers/mtd/maps/pxa2xx-flash.c |
| +++ b/drivers/mtd/maps/pxa2xx-flash.c |
| @@ -66,6 +66,7 @@ static int pxa2xx_flash_probe(struct platform_device *pdev) |
| if (!info->map.virt) { |
| printk(KERN_WARNING "Failed to ioremap %s\n", |
| info->map.name); |
| + kfree(info); |
| return -ENOMEM; |
| } |
| info->map.cached = ioremap_cache(info->map.phys, info->map.size); |
| @@ -87,6 +88,7 @@ static int pxa2xx_flash_probe(struct platform_device *pdev) |
| iounmap((void *)info->map.virt); |
| if (info->map.cached) |
| iounmap(info->map.cached); |
| + kfree(info); |
| return -EIO; |
| } |
| info->mtd->dev.parent = &pdev->dev; |
| -- |
| 2.35.1 |
| |