Commit f1452d42 authored by Harvey Harrison's avatar Harvey Harrison Committed by Ingo Molnar

x86, kprobes: remove sparse warnings from x86

arch/x86/kernel/kprobes.c:584:16: warning: symbol 'kretprobe_trampoline_holder' was not declared. Should it be static?
arch/x86/kernel/kprobes.c:676:6: warning: symbol 'trampoline_handler' was not declared. Should it be static?

Make them static and add the __used attribute, approach taken from the
arm kprobes implementation.

kretprobe_trampoline_holder uses inline assemly to define the global
symbol kretprobe_trampoline, but nothing ever calls the holder explicitly.

trampoline handler is only called from inline assembly in the same file,
mark it used and static.
Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
Acked-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 08cd93f9
...@@ -581,7 +581,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) ...@@ -581,7 +581,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
* When a retprobed function returns, this code saves registers and * When a retprobed function returns, this code saves registers and
* calls trampoline_handler() runs, which calls the kretprobe's handler. * calls trampoline_handler() runs, which calls the kretprobe's handler.
*/ */
void __kprobes kretprobe_trampoline_holder(void) static void __used __kprobes kretprobe_trampoline_holder(void)
{ {
asm volatile ( asm volatile (
".global kretprobe_trampoline\n" ".global kretprobe_trampoline\n"
...@@ -673,7 +673,7 @@ void __kprobes kretprobe_trampoline_holder(void) ...@@ -673,7 +673,7 @@ void __kprobes kretprobe_trampoline_holder(void)
/* /*
* Called from kretprobe_trampoline * Called from kretprobe_trampoline
*/ */
void * __kprobes trampoline_handler(struct pt_regs *regs) static __used __kprobes void *trampoline_handler(struct pt_regs *regs)
{ {
struct kretprobe_instance *ri = NULL; struct kretprobe_instance *ri = NULL;
struct hlist_head *head, empty_rp; struct hlist_head *head, empty_rp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment