Skip to content
  • Sven Schnelle's avatar
    s390/ptrace: fix setting syscall number · 873e5a76
    Sven Schnelle authored
    
    
    When strace wants to update the syscall number, it sets GPR2
    to the desired number and updates the GPR via PTRACE_SETREGSET.
    It doesn't update regs->int_code which would cause the old syscall
    executed on syscall restart. As we cannot change the ptrace ABI and
    don't have a field for the interruption code, check whether the tracee
    is in a syscall and the last instruction was svc. In that case assume
    that the tracer wants to update the syscall number and copy the GPR2
    value to regs->int_code.
    
    Signed-off-by: default avatarSven Schnelle <svens@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    873e5a76