From: YueHaibing Date: Sat, 28 Dec 2019 11:54:55 +0000 (+0800) Subject: kernel/module: Fix memleak in module_add_modinfo_attrs() X-Git-Tag: v5.4.22~293 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f606721660a614470869cab35317ff880b46283b;p=thirdparty%2Fkernel%2Fstable.git 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 Signed-off-by: YueHaibing Signed-off-by: Jessica Yu Signed-off-by: Sasha Levin --- diff --git a/kernel/module.c b/kernel/module.c index cb09a5f37a5fc..9fb8fa22e16b3 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1781,6 +1781,8 @@ static int module_add_modinfo_attrs(struct module *mod) error_out: if (i > 0) module_remove_modinfo_attrs(mod, --i); + else + kfree(mod->modinfo_attrs); return error; }