summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2008-02-08 13:18:43 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-08 18:22:24 +0100
commit92dfc9dc7ba63134f721b6e745dbdcfc13ea341b (patch)
treeaa959d2d5ba1819651888601e4d917b01ddcc88c
parentmodules: include sections.h to avoid defining linker variables explicitly (diff)
downloadlinux-92dfc9dc7ba63134f721b6e745dbdcfc13ea341b.tar.xz
linux-92dfc9dc7ba63134f721b6e745dbdcfc13ea341b.zip
fix "modules: make module_address_lookup() safe"
Get the constness right, avoid nasty cast. Cc: Ingo Molnar <mingo@elte.hu> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
-rw-r--r--include/linux/module.h4
-rw-r--r--kernel/module.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/module.h b/include/linux/module.h
index ac481e2094fd..ac28e8761e84 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -449,7 +449,7 @@ static inline void __module_get(struct module *module)
/* For kallsyms to ask for address resolution. namebuf should be at
* least KSYM_NAME_LEN long: a pointer to namebuf is returned if
* found, otherwise NULL. */
-char *module_address_lookup(unsigned long addr,
+const char *module_address_lookup(unsigned long addr,
unsigned long *symbolsize,
unsigned long *offset,
char **modname,
@@ -519,7 +519,7 @@ static inline void module_put(struct module *module)
#define module_name(mod) "kernel"
/* For kallsyms to ask for address resolution. NULL means not found. */
-static inline char *module_address_lookup(unsigned long addr,
+static inline const char *module_address_lookup(unsigned long addr,
unsigned long *symbolsize,
unsigned long *offset,
char **modname,
diff --git a/kernel/module.c b/kernel/module.c
index 676c023c831b..4202da97a1da 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2253,7 +2253,7 @@ static const char *get_ksymbol(struct module *mod,
/* For kallsyms to ask for address resolution. NULL means not found. Careful
* not to lock to avoid deadlock on oopses, simply disable preemption. */
-char *module_address_lookup(unsigned long addr,
+const char *module_address_lookup(unsigned long addr,
unsigned long *size,
unsigned long *offset,
char **modname,
@@ -2278,7 +2278,7 @@ char *module_address_lookup(unsigned long addr,
ret = namebuf;
}
preempt_enable();
- return (char *)ret;
+ return ret;
}
int lookup_module_symbol_name(unsigned long addr, char *symname)