mtd: maps: pxa2xx-flash: fix memory leak in probe
Free 'info' upon remapping error to avoid a memory leak.
Fixes: e644f7d628
("[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
This commit is contained in:
parent
56570bdad5
commit
2399401fee
|
@ -64,6 +64,7 @@ static int pxa2xx_flash_probe(struct platform_device *pdev)
|
||||||
if (!info->map.virt) {
|
if (!info->map.virt) {
|
||||||
printk(KERN_WARNING "Failed to ioremap %s\n",
|
printk(KERN_WARNING "Failed to ioremap %s\n",
|
||||||
info->map.name);
|
info->map.name);
|
||||||
|
kfree(info);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
info->map.cached = ioremap_cache(info->map.phys, info->map.size);
|
info->map.cached = ioremap_cache(info->map.phys, info->map.size);
|
||||||
|
@ -85,6 +86,7 @@ static int pxa2xx_flash_probe(struct platform_device *pdev)
|
||||||
iounmap((void *)info->map.virt);
|
iounmap((void *)info->map.virt);
|
||||||
if (info->map.cached)
|
if (info->map.cached)
|
||||||
iounmap(info->map.cached);
|
iounmap(info->map.cached);
|
||||||
|
kfree(info);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
info->mtd->dev.parent = &pdev->dev;
|
info->mtd->dev.parent = &pdev->dev;
|
||||||
|
|
Loading…
Reference in New Issue