[PATCH] Make `obsolete params' work correctly if MODULE_SYMBOL_PREFIX is non-empty

From: Miles Bader (miles@lsi.nec.co.jp)
Date: Thu Jan 09 2003 - 04:49:23 EST


Since these are just symbols in the module object, they need symbol name
munging to find the symbol from the parameter name.

[I guess using the stack is bad in general, but parameter names should be
very short, and hey if they're obsolete, it seems pointless to spend
much effort.]

diff -ruN -X../cludes linux-2.5.55-moo.orig/kernel/module.c linux-2.5.55-moo/kernel/module.c
--- linux-2.5.55-moo.orig/kernel/module.c 2003-01-09 13:44:25.000000000 +0900
+++ linux-2.5.55-moo/kernel/module.c 2003-01-09 14:07:36.000000000 +0900
@@ -685,13 +685,18 @@
                        num, obsparm[i].name, obsparm[i].type);
 
         for (i = 0; i < num; i++) {
+ char sym_name[strlen (obsparm[i].name) + 2];
+
+ strcpy (sym_name, MODULE_SYMBOL_PREFIX);
+ strcat (sym_name, obsparm[i].name);
+
                 kp[i].name = obsparm[i].name;
                 kp[i].perm = 000;
                 kp[i].set = set_obsolete;
                 kp[i].get = NULL;
                 obsparm[i].addr
                         = (void *)find_local_symbol(sechdrs, symindex, strtab,
- obsparm[i].name);
+ sym_name);
                 if (!obsparm[i].addr) {
                         printk("%s: falsely claims to have parameter %s\n",
                                name, obsparm[i].name);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jan 15 2003 - 22:00:27 EST