summaryrefslogtreecommitdiffstats
path: root/kernel/kallsyms.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-01-29 22:45:39 +1100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-01-29 22:45:39 +1100
commit03bc26cfefd6db756e6bc7fcda11dc17ada7be16 (patch)
tree36b4cdbd02e464a016d78e4b520595922d803e68 /kernel/kallsyms.c
parent8cd226ca3f64f28c8123ebfaa6afe8dc8c18b174 (diff)
parent6494a93d55fad586238cc1940e846c6d03e1aaf6 (diff)
downloadkernel-crypto-03bc26cfefd6db756e6bc7fcda11dc17ada7be16.tar.gz
kernel-crypto-03bc26cfefd6db756e6bc7fcda11dc17ada7be16.tar.xz
kernel-crypto-03bc26cfefd6db756e6bc7fcda11dc17ada7be16.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: Module: check to see if we have a built in module with the same name module: add module taint on ndiswrapper module: fix the module name length in param_sysfs_builtin module: make module_address_lookup safe module: better OOPS and lockdep coverage for loading modules module: Fix gratuitous sprintf in module.c module: wait for dependent modules doing init. module: Don't report discarded init pages as kernel text.
Diffstat (limited to 'kernel/kallsyms.c')
-rw-r--r--kernel/kallsyms.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
index 2fc25810509..7dadc71ce51 100644
--- a/kernel/kallsyms.c
+++ b/kernel/kallsyms.c
@@ -233,10 +233,11 @@ static unsigned long get_symbol_pos(unsigned long addr,
int kallsyms_lookup_size_offset(unsigned long addr, unsigned long *symbolsize,
unsigned long *offset)
{
+ char namebuf[KSYM_NAME_LEN];
if (is_ksym_addr(addr))
return !!get_symbol_pos(addr, symbolsize, offset);
- return !!module_address_lookup(addr, symbolsize, offset, NULL);
+ return !!module_address_lookup(addr, symbolsize, offset, NULL, namebuf);
}
/*
@@ -251,8 +252,6 @@ const char *kallsyms_lookup(unsigned long addr,
unsigned long *offset,
char **modname, char *namebuf)
{
- const char *msym;
-
namebuf[KSYM_NAME_LEN - 1] = 0;
namebuf[0] = 0;
@@ -268,10 +267,8 @@ const char *kallsyms_lookup(unsigned long addr,
}
/* see if it's in a module */
- msym = module_address_lookup(addr, symbolsize, offset, modname);
- if (msym)
- return strncpy(namebuf, msym, KSYM_NAME_LEN - 1);
-
+ return module_address_lookup(addr, symbolsize, offset, modname,
+ namebuf);
return NULL;
}