Re: [PATCH 5/6]kernel:module.c variable 'nowarn' set but not used

From: Justin P. Mattock
Date: Sat Jun 19 2010 - 16:26:54 EST


On 06/19/2010 01:23 PM, Geert Uytterhoeven wrote:
On Sat, Jun 19, 2010 at 22:10, Justin P. Mattock
<justinmattock@xxxxxxxxx> wrote:
On 06/19/2010 12:45 PM, Geert Uytterhoeven wrote:

On Sat, Jun 19, 2010 at 21:10, Justin P. Mattock
<justinmattock@xxxxxxxxx> wrote:

On 06/19/2010 01:08 AM, Geert Uytterhoeven wrote:

On Sat, Jun 19, 2010 at 07:04, Justin P. Mattock
<justinmattock@xxxxxxxxx> wrote:

Also wrong, you removed the creation of the links in sysfs.

The assignment to nowarn was there to avoid another compiler warning,
as sysfs_create_link() is marked __must_check.

I also went back to this one and made the following changes.. let me
know
if
it's wrong etc..

From 4f45beed80627d2bb32fb021bb6d22d88089557b Mon Sep 17 00:00:00 2001
From: Justin P. Mattock<justinmattock@xxxxxxxxx>
Date: Fri, 18 Jun 2010 22:01:07 -0700
Subject: [PATCH 5/5] module.c
Signed-off-by: Justin P. Mattock<justinmattock@xxxxxxxxx>

---
kernel/module.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 8c6b428..48fc5c8 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1340,11 +1340,10 @@ static void add_usage_links(struct module *mod)
{
#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,
+ sysfs_create_link(use->target->holders_dir,
&mod->mkobj.kobj, mod->name);
}
mutex_unlock(&module_mutex);
--
1.7.1.rc1.21.gf3bd6

if it looks good, then I can resend it out.

Have you compile-tested this?
As sysfs_create_link() is marked __must_check, that will cause another
compiler
warning, but only if CONFIG_SYSFS=y.

Perhaps you can just mark the nowarn variable __unused?


o.k. this builds cleanly without a warning, but is it the right thing
todo?
i.g. rather leave the warning message there and file a bug than just
silence
the issue. Anyways here is what I have:

From edbeb2b1ee051218f9e5b93fcb8bbdbf1119a6e4 Mon Sep 17 00:00:00 2001
From: Justin P. Mattock<justinmattock@xxxxxxxxx>
Date: Sat, 19 Jun 2010 12:07:32 -0700
Subject: [PATCH 5/5] module.c
Signed-off-by: Justin P. Mattock<justinmattock@xxxxxxxxx>

---
kernel/module.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 8c6b428..765bac5 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1340,7 +1340,7 @@ static void add_usage_links(struct module *mod)
{
#ifdef CONFIG_MODULE_UNLOAD
struct module_use *use;
- int nowarn;
+ int nowarn __attribute__((unused));

The `__attribute__((unused))' should be `__used'.


I'm confused now. how should I write that out?
(google is not giving me vary many examples on this)

Sorry, I misrememberd there was a #define for it, and could find only __used.
But on closer look, the `__attribute__((unused)` is correct.


alright!! then I'll resend this with the above change.

Thanks for looking at this!!

Justin P. Mattock
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/