diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-19 12:48:50 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-07-28 06:11:52 -0400 |
commit | 6628521784d1da3b7354c6b6e8499e19ab46a3d1 (patch) | |
tree | cde8876156ebe9999bdc2156f76d18b15293c754 /arch/arm/kernel/ptrace.c | |
parent | 81783786d5cf4aa0d3e15bb0fac856aa8ebf1a76 (diff) |
ARM: 7474/1: get rid of TIF_SYSCALL_RESTARTSYS
just let do_work_pending() return 1 on normal local restarts and
-1 on those that had been caused by ERESTART_RESTARTBLOCK (and 0
is still "all done, sod off to userland now"). And let the asm
glue flip scno to restart_syscall(2) one if it got negative from
us...
[will: resolved conflicts with audit fixes]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/ptrace.c')
-rw-r--r-- | arch/arm/kernel/ptrace.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index efd25d65ae13..3e0fc5f7ed4b 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c | |||
@@ -941,12 +941,7 @@ static int ptrace_syscall_trace(struct pt_regs *regs, int scno, | |||
941 | 941 | ||
942 | asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno) | 942 | asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno) |
943 | { | 943 | { |
944 | int ret; | 944 | int ret = ptrace_syscall_trace(regs, scno, PTRACE_SYSCALL_ENTER); |
945 | |||
946 | if (test_and_clear_thread_flag(TIF_SYSCALL_RESTARTSYS)) | ||
947 | scno = __NR_restart_syscall - __NR_SYSCALL_BASE; | ||
948 | |||
949 | ret = ptrace_syscall_trace(regs, scno, PTRACE_SYSCALL_ENTER); | ||
950 | audit_syscall_entry(AUDIT_ARCH_ARM, scno, regs->ARM_r0, regs->ARM_r1, | 945 | audit_syscall_entry(AUDIT_ARCH_ARM, scno, regs->ARM_r0, regs->ARM_r1, |
951 | regs->ARM_r2, regs->ARM_r3); | 946 | regs->ARM_r2, regs->ARM_r3); |
952 | return ret; | 947 | return ret; |