diff options
author | YueHaibing <yuehaibing@huawei.com> | 2019-12-28 12:54:55 +0100 |
---|---|---|
committer | Jessica Yu <jeyu@kernel.org> | 2020-01-08 17:07:20 +0100 |
commit | f6d061d617124abbd55396a3bc37b9bf7d33233c (patch) | |
tree | b375c369ae0f93abefedc739cea6e55b62dfb02b /kernel/module.c | |
parent | export.h: reduce __ksymtab_strings string duplication by using "MS" section f... (diff) | |
download | linux-f6d061d617124abbd55396a3bc37b9bf7d33233c.tar.xz linux-f6d061d617124abbd55396a3bc37b9bf7d33233c.zip |
kernel/module: Fix memleak in module_add_modinfo_attrs()
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>
Diffstat (limited to 'kernel/module.c')
-rw-r--r-- | kernel/module.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/module.c b/kernel/module.c index 155349275b8e..d4d876172e9d 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1784,6 +1784,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; } |