[patch] really-ptrace-single-step

Davide Libenzi
2004-05-11T17:15:19Z

This patch lets a ptrace process on x86 to "see" the instruction
following the INT #80h op.

- Davide

arch/i386/kernel/entry.S | 2 +-
include/asm-i386/thread_info.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

Index: arch/i386/kernel/entry.S
===================================================================
RCS file: /usr/src/bkcvs/linux-2.5/arch/i386/kernel/entry.S,v
retrieving revision 1.83
diff -u -r1.83 entry.S
--- arch/i386/kernel/entry.S 12 Apr 2004 20:29:12 -0000 1.83
+++ arch/i386/kernel/entry.S 11 May 2004 06:35:29 -0000
@@ -354,7 +354,7 @@
# perform syscall exit tracing
ALIGN
syscall_exit_work:
- testb $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT), %cl
+ testb $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP), %cl
jz work_pending
sti # could let do_syscall_trace() call
# schedule() instead
Index: include/asm-i386/thread_info.h
===================================================================
RCS file: /usr/src/bkcvs/linux-2.5/include/asm-i386/thread_info.h,v
retrieving revision 1.19
diff -u -r1.19 thread_info.h
--- include/asm-i386/thread_info.h 12 Apr 2004 20:29:12 -0000 1.19
+++ include/asm-i386/thread_info.h 11 May 2004 06:34:47 -0000
@@ -165,7 +165,7 @@

/* work to do on interrupt/exception return */
#define _TIF_WORK_MASK \
- (0x0000FFFF & ~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT))
+ (0x0000FFFF & ~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP))
#define _TIF_ALLWORK_MASK 0x0000FFFF /* work to do on any return to u-space */

/*