Re: [PATCH] mips: txx9: fix resource leak after register fail

From: Sergei Shtylyov
Date: Wed Sep 05 2018 - 05:50:40 EST


Hello!

On 9/5/2018 10:41 AM, Ding Xiang wrote:

the memory allocated and ioremap address need free after
device_register return error.

Signed-off-by: Ding Xiang <dingxiang@xxxxxxxxxxxxxxxxxxxx>
---
arch/mips/txx9/generic/setup.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index f6d9182..7f4fd2b 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -961,11 +961,13 @@ void __init txx9_sramc_init(struct resource *r)
err = sysfs_create_bin_file(&dev->dev.kobj, &dev->bindata_attr);
if (err) {
device_unregister(&dev->dev);
- iounmap(dev->base);
- kfree(dev);
+ goto exit_free;
}
return;
exit_put:
put_device(&dev->dev);
+exit_free:
+ iounmap(dev->base);
+ kfree(dev);
return;

*return* not needed here, never was needed.

}

MBR, Sergei