diff options
| -rw-r--r-- | arch/arm/kernel/ptrace.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index d407ebf41801..688a0a970c71 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c | |||
| @@ -932,20 +932,7 @@ asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno) | |||
| 932 | */ | 932 | */ |
| 933 | ip = regs->ARM_ip; | 933 | ip = regs->ARM_ip; |
| 934 | regs->ARM_ip = why; | 934 | regs->ARM_ip = why; |
| 935 | 935 | ptrace_report_syscall(regs); | |
| 936 | /* the 0x80 provides a way for the tracing parent to distinguish | ||
| 937 | between a syscall stop and SIGTRAP delivery */ | ||
| 938 | ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) | ||
| 939 | ? 0x80 : 0)); | ||
| 940 | /* | ||
| 941 | * this isn't the same as continuing with a signal, but it will do | ||
| 942 | * for normal use. strace only continues with a signal if the | ||
| 943 | * stopping signal is not SIGTRAP. -brl | ||
| 944 | */ | ||
| 945 | if (current->exit_code) { | ||
| 946 | send_sig(current->exit_code, current, 1); | ||
| 947 | current->exit_code = 0; | ||
| 948 | } | ||
| 949 | regs->ARM_ip = ip; | 936 | regs->ARM_ip = ip; |
| 950 | 937 | ||
| 951 | return current_thread_info()->syscall; | 938 | return current_thread_info()->syscall; |
