Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751470AbdFFMUT (ORCPT ); Tue, 6 Jun 2017 08:20:19 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:36506 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751433AbdFFMUQ (ORCPT ); Tue, 6 Jun 2017 08:20:16 -0400 From: Corentin Labbe To: jeyu@redhat.com, rusty@rustcorp.com.au Cc: linux-kernel@vger.kernel.org, Corentin Labbe Subject: [PATCH v2 2/2] kernel/module.c: suppress warning about unused nowarn variable Date: Tue, 6 Jun 2017 14:17:40 +0200 Message-Id: <20170606121740.350-3-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170606121740.350-1-clabbe.montjoie@gmail.com> References: <20170606121740.350-1-clabbe.montjoie@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1668 Lines: 64 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] Signed-off-by: Corentin Labbe --- kernel/module.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/kernel/module.c b/kernel/module.c index 983b81f6d4ba..6b2592193730 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1675,19 +1675,24 @@ static void del_usage_links(struct module *mod) #endif } -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, - &mod->mkobj.kobj, mod->name); + ret = sysfs_create_link(use->target->holders_dir, + &mod->mkobj.kobj, mod->name); + if (ret) + break; } mutex_unlock(&module_mutex); + if (ret) + del_usage_links(mod); #endif + return ret; } static int module_add_modinfo_attrs(struct module *mod) @@ -1798,13 +1803,18 @@ 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_modinfo_attrs; + add_sect_attrs(mod, info); add_notes_attrs(mod, info); kobject_uevent(&mod->mkobj.kobj, KOBJ_ADD); return 0; +out_unreg_modinfo_attrs: + module_remove_modinfo_attrs(mod); out_unreg_param: module_param_sysfs_remove(mod); out_unreg_holders: -- 2.13.0