diff options
author | Sumit Semwal <sumit.semwal@linaro.org> | 2018-06-06 16:52:27 +0530 |
---|---|---|
committer | Sumit Semwal <sumit.semwal@linaro.org> | 2018-06-06 16:52:27 +0530 |
commit | 7f4d1304e8cc98c9b8ee49c4012a3aebe6728a1d (patch) | |
tree | f6e3c9411f9d05ddafa9927f9253360cda7e9aa0 | |
parent | af6c5d5e01ad9f2c9ca38cccaae6b5d67ddd241f (diff) |
signal.c: Dave martin's solution for seccomp_bpf test.mainline_master
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
-rw-r--r-- | arch/arm64/kernel/signal.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c index 154b7d30145d..f21209064041 100644 --- a/arch/arm64/kernel/signal.c +++ b/arch/arm64/kernel/signal.c @@ -830,11 +830,12 @@ static void do_signal(struct pt_regs *regs) unsigned long continue_addr = 0, restart_addr = 0; int retval = 0; struct ksignal ksig; + bool syscall = in_syscall(regs); /* * If we were from a system call, check for system call restarting... */ - if (in_syscall(regs)) { + if (syscall) { continue_addr = regs->pc; restart_addr = continue_addr - (compat_thumb_mode(regs) ? 2 : 4); retval = regs->regs[0]; @@ -886,7 +887,7 @@ static void do_signal(struct pt_regs *regs) * Handle restarting a different system call. As above, if a debugger * has chosen to restart at a different PC, ignore the restart. */ - if (in_syscall(regs) && regs->pc == restart_addr) { + if (syscall && regs->pc == restart_addr) { if (retval == -ERESTART_RESTARTBLOCK) setup_restart_syscall(regs); user_rewind_single_step(current); |