]> git.neil.brown.name Git - history.git/commitdiff
x86: only single-step into signal handlers if the tracer
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 14 Nov 2004 16:56:31 +0000 (08:56 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 14 Nov 2004 16:56:31 +0000 (08:56 -0800)
asked for it.

arch/i386/kernel/signal.c

index a92cbc9fbe889df1841a34efa2dfac2b6619f563..5e222f0315a8e16e9b9826c559a7ebcb8a0800ce 100644 (file)
@@ -413,7 +413,7 @@ static void setup_frame(int sig, struct k_sigaction *ka,
        regs->xss = __USER_DS;
        regs->xcs = __USER_CS;
        if (regs->eflags & TF_MASK) {
-               if (current->ptrace & PT_PTRACED) {
+               if ((current->ptrace & (PT_PTRACED | PT_DTRACE)) == (PT_PTRACED | PT_DTRACE)) {
                        ptrace_notify(SIGTRAP);
                } else {
                        regs->eflags &= ~TF_MASK;