[PATCH] S390: Always use svc 0
Stefan Liebler
stli@linux.ibm.com
Tue Aug 30 08:59:15 GMT 2022
On 25/08/2022 12:17, Stefan Liebler wrote:
> On s390x syscalls are triggered by svc instruction. One can
> pass the syscall number encoded in the instruction "svc 123"
> or by storing it in r1:
> lghi r1,123
> svc 0
>
> If the syscall number is encoded in the instruction, this can
> cause broken syscall restarts. Therefore this patch is now just
> passing the syscall number in r1.
>
> See also kernel-commit:
> "s390/signal: switch to using vdso for sigreturn and syscall restart"
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/s390/[%e2%80%a6]call.c?h=v6.0-rc1&id=df29a7440c4b5c65765c8f60396b3b13063e24e9
>
> As information, the "svc 0" feature was introduced in kernel 2.5.62:
> commit b5aad611393ef2e132e3648fa4c6e56a9cfa8708
> ---
> sysdeps/unix/sysv/linux/s390/s390-32/clone.S | 14 ++++----
> .../unix/sysv/linux/s390/s390-32/getcontext.S | 8 +++--
> .../unix/sysv/linux/s390/s390-32/setcontext.S | 8 +++--
> .../sysv/linux/s390/s390-32/swapcontext.S | 3 +-
> sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h | 4 ---
> sysdeps/unix/sysv/linux/s390/s390-32/vfork.S | 3 +-
> sysdeps/unix/sysv/linux/s390/s390-64/clone.S | 14 ++++----
> .../unix/sysv/linux/s390/s390-64/getcontext.S | 8 +++--
> .../unix/sysv/linux/s390/s390-64/setcontext.S | 8 +++--
> .../sysv/linux/s390/s390-64/swapcontext.S | 3 +-
> sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h | 4 ---
> sysdeps/unix/sysv/linux/s390/s390-64/vfork.S | 3 +-
> sysdeps/unix/sysv/linux/s390/sysdep.h | 32 ++-----------------
> 13 files changed, 46 insertions(+), 66 deletions(-)
>
Committed
More information about the Libc-alpha
mailing list