From: Christoph Lameter Make sprint_symbol return the length of the symbol Signed-off-by: Christoph Lameter Cc: Robert Peterson Cc: Rusty Russell Cc: Roman Zippel Cc: "Randy.Dunlap" Cc: Sam Ravnborg Cc: Paulo Marques Signed-off-by: Andrew Morton --- include/linux/kallsyms.h | 2 +- kernel/kallsyms.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff -puN include/linux/kallsyms.h~extend-print_symbol-capability-fix include/linux/kallsyms.h --- a/include/linux/kallsyms.h~extend-print_symbol-capability-fix +++ a/include/linux/kallsyms.h @@ -25,7 +25,7 @@ const char *kallsyms_lookup(unsigned lon char **modname, char *namebuf); /* Look up a kernel symbol and return it in a text buffer. */ -extern void sprint_symbol(char *buffer, unsigned long address); +extern int sprint_symbol(char *buffer, unsigned long address); /* Look up a kernel symbol and print it to the kernel messages. */ extern void __print_symbol(const char *fmt, unsigned long address); diff -puN kernel/kallsyms.c~extend-print_symbol-capability-fix kernel/kallsyms.c --- a/kernel/kallsyms.c~extend-print_symbol-capability-fix +++ a/kernel/kallsyms.c @@ -268,7 +268,7 @@ const char *kallsyms_lookup(unsigned lon } /* Look up a kernel symbol and return it in a text buffer. */ -void sprint_symbol(char *buffer, unsigned long address) +int sprint_symbol(char *buffer, unsigned long address) { char *modname; const char *name; @@ -277,13 +277,13 @@ void sprint_symbol(char *buffer, unsigne name = kallsyms_lookup(address, &size, &offset, &modname, namebuf); if (!name) - sprintf(buffer, "0x%lx", address); + return sprintf(buffer, "0x%lx", address); else { if (modname) - sprintf(buffer, "%s+%#lx/%#lx [%s]", name, offset, + return sprintf(buffer, "%s+%#lx/%#lx [%s]", name, offset, size, modname); else - sprintf(buffer, "%s+%#lx/%#lx", name, offset, size); + return sprintf(buffer, "%s+%#lx/%#lx", name, offset, size); } } _