diff options
author | Srikar Dronamraju <srikar@linux.vnet.ibm.com> | 2011-10-25 19:51:59 +0530 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-12-06 08:20:37 +0100 |
commit | cc3a1bf52a9d2808c7cd6e8f413b02b650b6b84b (patch) | |
tree | 59366ee428d280afa4e6384488d9407db3da72bd /arch | |
parent | 3596ff4e6b2aff8a28c69af389d5046090a53330 (diff) | |
download | linux-cc3a1bf52a9d2808c7cd6e8f413b02b650b6b84b.tar.gz linux-cc3a1bf52a9d2808c7cd6e8f413b02b650b6b84b.tar.bz2 linux-cc3a1bf52a9d2808c7cd6e8f413b02b650b6b84b.zip |
x86: Clean up and extend do_int3()
Since there is a possibility of !KPROBES int3 listeners
(such as kgdb) and since DIE_TRAP is currently not being
used by anybody, notify all listeners with DIE_INT3.
Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/20111025142159.GB21225@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/traps.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index a8e3eb83466c..fa1191fb679d 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -306,15 +306,10 @@ dotraplinkage void __kprobes do_int3(struct pt_regs *regs, long error_code) == NOTIFY_STOP) return; #endif /* CONFIG_KGDB_LOW_LEVEL_TRAP */ -#ifdef CONFIG_KPROBES + if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) == NOTIFY_STOP) return; -#else - if (notify_die(DIE_TRAP, "int3", regs, error_code, 3, SIGTRAP) - == NOTIFY_STOP) - return; -#endif preempt_conditional_sti(regs); do_trap(3, SIGTRAP, "int3", regs, error_code, NULL); |