Messages in this thread Patch in this message |  | | Date | Mon, 5 Jun 2017 22:09:24 -0700 | | From | Jessica Yu <> | | Subject | Re: [PATCH] kernel/module.c: fix warning about unused nowarn variable |
| |
+++ Corentin Labbe [02/06/17 14:05 +0200]: >This patch fix the following warning: >kernel/module.c: In function 'add_usage_links': >kernel/module.c:1653:6: warning: variable 'nowarn' set but not used [-Wunused-but-set-variable] > int nowarn; > >Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> >--- > kernel/module.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > >diff --git a/kernel/module.c b/kernel/module.c >index e3e9dbba6a5b..aed902bcb4aa 100644 >--- a/kernel/module.c >+++ b/kernel/module.c >@@ -1663,19 +1663,20 @@ static inline void remove_notes_attrs(struct module *mod) > } > #endif /* CONFIG_KALLSYMS */ > >-static void add_usage_links(struct module *mod) >+static int add_usage_links(struct module *mod) > { >+ int ret = 0; > #ifdef CONFIG_MODULE_UNLOAD > struct module_use *use; >- int nowarn; > > mutex_lock(&module_mutex); > list_for_each_entry(use, &mod->target_list, target_list) { >- nowarn = sysfs_create_link(use->target->holders_dir, >+ ret = sysfs_create_link(use->target->holders_dir, > &mod->mkobj.kobj, mod->name);
ret will get overwritten with each iteration of the loop; we should return ret as soon as we hit an error (while making sure we unlock module_mutex).
> } > mutex_unlock(&module_mutex); > #endif >+ return ret; > } > > static void del_usage_links(struct module *mod) >@@ -1798,13 +1799,17 @@ static int mod_sysfs_setup(struct module *mod, > if (err) > goto out_unreg_param; > >- add_usage_links(mod); >+ err = add_usage_links(mod); >+ if (err) >+ goto out_unreg_usage_links;
Small nitpick: could you add an extra newline here?
> add_sect_attrs(mod, info); > add_notes_attrs(mod, info); > > kobject_uevent(&mod->mkobj.kobj, KOBJ_ADD); > return 0; > >+out_unreg_usage_links:
Can you rename this to `out_unreg_modinfo_attrs` (to better reflect what's being done)?
>+ module_remove_modinfo_attrs(mod); > out_unreg_param: > module_param_sysfs_remove(mod); > out_unreg_holders:
Thanks,
Jessica
|  |