From 6c7d3683e64f591cfe22e252f5fa24d497a4b8ae Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Sat, 30 Jul 2011 23:09:53 +0800 Subject: [PATCH] Revert "[ARM] Add code to prevent system calls from being restarted muliple times before returning from the kernel." This reverts commit 85d747b476df558eb36fd9966125a08f02ab5d12. --- arch/arm/kernel/signal.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index 29a905bf747d..e7714f367eb8 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c @@ -517,14 +517,6 @@ setup_rt_frame(int usig, struct k_sigaction *ka, siginfo_t *info, static inline void setup_syscall_restart(struct pt_regs *regs) { - if (regs->ARM_ORIG_r0 == -ERESTARTNOHAND || - regs->ARM_ORIG_r0 == -ERESTARTSYS || - regs->ARM_ORIG_r0 == -ERESTARTNOINTR || - regs->ARM_ORIG_r0 == -ERESTART_RESTARTBLOCK) { - /* the syscall cannot be safely restarted, return -EINTR instead */ - regs->ARM_r0 = -EINTR; - return; - } regs->ARM_r0 = regs->ARM_ORIG_r0; regs->ARM_pc -= thumb_mode(regs) ? 2 : 4; } @@ -657,7 +649,6 @@ static void do_signal(struct pt_regs *regs, int syscall) */ if (syscall) { if (regs->ARM_r0 == -ERESTART_RESTARTBLOCK) { - regs->ARM_r0 = -EAGAIN; /* prevent multiple restarts */ if (thumb_mode(regs)) { regs->ARM_r7 = __NR_restart_syscall - __NR_SYSCALL_BASE; regs->ARM_pc -= 2; -- 2.34.1