mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 22:50:41 +00:00
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>
This commit is contained in:
parent
6d7623943c
commit
92dfc9dc7b
@ -449,7 +449,7 @@ static inline void __module_get(struct module *module)
|
|||||||
/* For kallsyms to ask for address resolution. namebuf should be at
|
/* For kallsyms to ask for address resolution. namebuf should be at
|
||||||
* least KSYM_NAME_LEN long: a pointer to namebuf is returned if
|
* least KSYM_NAME_LEN long: a pointer to namebuf is returned if
|
||||||
* found, otherwise NULL. */
|
* found, otherwise NULL. */
|
||||||
char *module_address_lookup(unsigned long addr,
|
const char *module_address_lookup(unsigned long addr,
|
||||||
unsigned long *symbolsize,
|
unsigned long *symbolsize,
|
||||||
unsigned long *offset,
|
unsigned long *offset,
|
||||||
char **modname,
|
char **modname,
|
||||||
@ -519,7 +519,7 @@ static inline void module_put(struct module *module)
|
|||||||
#define module_name(mod) "kernel"
|
#define module_name(mod) "kernel"
|
||||||
|
|
||||||
/* For kallsyms to ask for address resolution. NULL means not found. */
|
/* 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 *symbolsize,
|
||||||
unsigned long *offset,
|
unsigned long *offset,
|
||||||
char **modname,
|
char **modname,
|
||||||
|
@ -2253,7 +2253,7 @@ static const char *get_ksymbol(struct module *mod,
|
|||||||
|
|
||||||
/* For kallsyms to ask for address resolution. NULL means not found. Careful
|
/* For kallsyms to ask for address resolution. NULL means not found. Careful
|
||||||
* not to lock to avoid deadlock on oopses, simply disable preemption. */
|
* 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 *size,
|
||||||
unsigned long *offset,
|
unsigned long *offset,
|
||||||
char **modname,
|
char **modname,
|
||||||
@ -2278,7 +2278,7 @@ char *module_address_lookup(unsigned long addr,
|
|||||||
ret = namebuf;
|
ret = namebuf;
|
||||||
}
|
}
|
||||||
preempt_enable();
|
preempt_enable();
|
||||||
return (char *)ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int lookup_module_symbol_name(unsigned long addr, char *symname)
|
int lookup_module_symbol_name(unsigned long addr, char *symname)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user