kernel/module: Fix memleak in module_add_modinfo_attrs()

[ Upstream commit f6d061d617124abbd55396a3bc37b9bf7d33233c ]

In module_add_modinfo_attrs() if sysfs_create_file() fails
on the first iteration of the loop (so i = 0), we forget to
free the modinfo_attrs.

Fixes: bc6f2a757d52 ("kernel/module: Fix mem leak in module_add_modinfo_attrs")
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
YueHaibing
2019-12-28 19:54:55 +08:00
committed by Greg Kroah-Hartman
parent 4f98fe43cd
commit bdfaaf35ac

View File

@@ -1729,6 +1729,8 @@ static int module_add_modinfo_attrs(struct module *mod)
error_out: error_out:
if (i > 0) if (i > 0)
module_remove_modinfo_attrs(mod, --i); module_remove_modinfo_attrs(mod, --i);
else
kfree(mod->modinfo_attrs);
return error; return error;
} }