aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/traps.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-10-22 06:42:38 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-10-27 08:27:28 -0400
commit7a5388de5c70f7a92de71e03ce72692c1827d162 (patch)
treea7864c02475a78d8193d2b43f0f9d34f17521947 /arch/s390/kernel/traps.c
parentc933146a5e41e42ea3eb4f34fa02e201da3f068e (diff)
s390/kprobes: make use of NOKPROBE_SYMBOL()
Use NOKPROBE_SYMBOL() instead of __kprobes annotation. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/traps.c')
-rw-r--r--arch/s390/kernel/traps.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
index 9ff5ecba26ab..1e1b866b2966 100644
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -87,16 +87,16 @@ void do_report_trap(struct pt_regs *regs, int si_signo, int si_code, char *str)
87 } 87 }
88} 88}
89 89
90static void __kprobes do_trap(struct pt_regs *regs, int si_signo, int si_code, 90static void do_trap(struct pt_regs *regs, int si_signo, int si_code, char *str)
91 char *str)
92{ 91{
93 if (notify_die(DIE_TRAP, str, regs, 0, 92 if (notify_die(DIE_TRAP, str, regs, 0,
94 regs->int_code, si_signo) == NOTIFY_STOP) 93 regs->int_code, si_signo) == NOTIFY_STOP)
95 return; 94 return;
96 do_report_trap(regs, si_signo, si_code, str); 95 do_report_trap(regs, si_signo, si_code, str);
97} 96}
97NOKPROBE_SYMBOL(do_trap);
98 98
99void __kprobes do_per_trap(struct pt_regs *regs) 99void do_per_trap(struct pt_regs *regs)
100{ 100{
101 siginfo_t info; 101 siginfo_t info;
102 102
@@ -111,6 +111,7 @@ void __kprobes do_per_trap(struct pt_regs *regs)
111 (void __force __user *) current->thread.per_event.address; 111 (void __force __user *) current->thread.per_event.address;
112 force_sig_info(SIGTRAP, &info, current); 112 force_sig_info(SIGTRAP, &info, current);
113} 113}
114NOKPROBE_SYMBOL(do_per_trap);
114 115
115void default_trap_handler(struct pt_regs *regs) 116void default_trap_handler(struct pt_regs *regs)
116{ 117{
@@ -179,7 +180,7 @@ static inline void do_fp_trap(struct pt_regs *regs, int fpc)
179 do_trap(regs, SIGFPE, si_code, "floating point exception"); 180 do_trap(regs, SIGFPE, si_code, "floating point exception");
180} 181}
181 182
182void __kprobes illegal_op(struct pt_regs *regs) 183void illegal_op(struct pt_regs *regs)
183{ 184{
184 siginfo_t info; 185 siginfo_t info;
185 __u8 opcode[6]; 186 __u8 opcode[6];
@@ -252,7 +253,7 @@ void __kprobes illegal_op(struct pt_regs *regs)
252 if (signal) 253 if (signal)
253 do_trap(regs, signal, ILL_ILLOPC, "illegal operation"); 254 do_trap(regs, signal, ILL_ILLOPC, "illegal operation");
254} 255}
255 256NOKPROBE_SYMBOL(illegal_op);
256 257
257#ifdef CONFIG_MATHEMU 258#ifdef CONFIG_MATHEMU
258void specification_exception(struct pt_regs *regs) 259void specification_exception(struct pt_regs *regs)
@@ -469,7 +470,7 @@ void space_switch_exception(struct pt_regs *regs)
469 do_trap(regs, SIGILL, ILL_PRVOPC, "space switch event"); 470 do_trap(regs, SIGILL, ILL_PRVOPC, "space switch event");
470} 471}
471 472
472void __kprobes kernel_stack_overflow(struct pt_regs * regs) 473void kernel_stack_overflow(struct pt_regs *regs)
473{ 474{
474 bust_spinlocks(1); 475 bust_spinlocks(1);
475 printk("Kernel stack overflow.\n"); 476 printk("Kernel stack overflow.\n");
@@ -477,6 +478,7 @@ void __kprobes kernel_stack_overflow(struct pt_regs * regs)
477 bust_spinlocks(0); 478 bust_spinlocks(0);
478 panic("Corrupt kernel stack, can't continue."); 479 panic("Corrupt kernel stack, can't continue.");
479} 480}
481NOKPROBE_SYMBOL(kernel_stack_overflow);
480 482
481void __init trap_init(void) 483void __init trap_init(void)
482{ 484{