mirror of
https://github.com/torvalds/linux.git
synced 2026-06-09 07:03:37 +02:00
Revert "[ARM] Add code to prevent system calls from being restarted muliple times before returning from the kernel."
This reverts commit 85d747b476.
This commit is contained in:
parent
d3aeed4ff6
commit
6c7d3683e6
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user