Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc3a1bf5 authored by Srikar Dronamraju's avatar Srikar Dronamraju Committed by Ingo Molnar
Browse files

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: default avatarAnanth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: default avatarSrikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: default avatarPeter 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: default avatarIngo Molnar <mingo@elte.hu>
parent 3596ff4e
Loading
Loading
Loading
Loading
+1 −6
Original line number Original line Diff line number Diff line
@@ -306,15 +306,10 @@ dotraplinkage void __kprobes do_int3(struct pt_regs *regs, long error_code)
			== NOTIFY_STOP)
			== NOTIFY_STOP)
		return;
		return;
#endif /* CONFIG_KGDB_LOW_LEVEL_TRAP */
#endif /* CONFIG_KGDB_LOW_LEVEL_TRAP */
#ifdef CONFIG_KPROBES

	if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)
	if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)
			== NOTIFY_STOP)
			== NOTIFY_STOP)
		return;
		return;
#else
	if (notify_die(DIE_TRAP, "int3", regs, error_code, 3, SIGTRAP)
			== NOTIFY_STOP)
		return;
#endif


	preempt_conditional_sti(regs);
	preempt_conditional_sti(regs);
	do_trap(3, SIGTRAP, "int3", regs, error_code, NULL);
	do_trap(3, SIGTRAP, "int3", regs, error_code, NULL);