diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-09-27 13:24:38 (GMT) |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-09-30 11:04:40 (GMT) |
commit | dbbfe487e5f3fc00c9fe5207d63309859704d12f (patch) | |
tree | afa7a57191434a8838f450986ca5a22b255990d7 /arch/s390/kernel/entry64.S | |
parent | 4d3b0664a0d0c0dc7501cfbd067f74226aeca510 (diff) | |
download | linux-dbbfe487e5f3fc00c9fe5207d63309859704d12f.tar.xz |
s390: fix system call restart after inferior call
Git commit 616498813b11ffef "s390: system call path micro optimization"
introduced a regression in regard to system call restarting and inferior
function calls via the ptrace interface. The pointer to the system call
table needs to be loaded in sysc_sigpending if do_signal returns with
TIF_SYSCALl set after it restored a system call context.
Cc: stable@vger.kernel.org # 3.10+
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/entry64.S')
-rw-r--r-- | arch/s390/kernel/entry64.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 2b2188b..e5b43c9 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S @@ -297,6 +297,7 @@ sysc_sigpending: tm __TI_flags+7(%r12),_TIF_SYSCALL jno sysc_return lmg %r2,%r7,__PT_R2(%r11) # load svc arguments + lg %r10,__TI_sysc_table(%r12) # address of system call table lghi %r8,0 # svc 0 returns -ENOSYS llgh %r1,__PT_INT_CODE+2(%r11) # load new svc number cghi %r1,NR_syscalls |