[PATCH] Ptrace/i386: fix "syscall audit" interaction with singlestep
authorBodo Stroesser <bstroesser@fujitsu-siemens.com>
Sat, 3 Sep 2005 22:57:13 +0000 (15:57 -0700)
committerLinus Torvalds <torvalds@evo.osdl.org>
Mon, 5 Sep 2005 07:06:19 +0000 (00:06 -0700)
commit94c80b2598dbd2b8a6fe5f5c2c3af1beb37f66c7
tree7e4221c42418898084961f66670c7f66042f164c
parent08b178ebf37bbfb78329e0ae6ea688b103d205bf
[PATCH] Ptrace/i386: fix "syscall audit" interaction with singlestep

      Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

Avoid giving two traps for singlestep instead of one, when syscall auditing is
enabled.

In fact no singlestep trap is sent on syscall entry, only on syscall exit, as
can be seen in entry.S:

# Note that in this mask _TIF_SINGLESTEP is not tested !!! <<<<<<<<<<<<<<
        testb $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),TI_flags(%ebp)
        jnz syscall_trace_entry
...
syscall_trace_entry:
...
call do_syscall_trace

But auditing a SINGLESTEP'ed process causes do_syscall_trace to be called, so
the tracer will get one more trap on the syscall entry path, which it
shouldn't.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
CC: Roland McGrath <roland@redhat.com>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/ptrace.c