• AKASHI Takahiro's avatar
    arm64: ptrace: add NT_ARM_SYSTEM_CALL regset · 766a85d7
    AKASHI Takahiro authored
    This regeset is intended to be used to get and set a system call number
    while tracing.
    There was some discussion about possible approaches to do so:
    
    (1) modify x8 register with ptrace(PTRACE_SETREGSET) indirectly,
        and update regs->syscallno later on in syscall_trace_enter(), or
    (2) define a dedicated regset for this purpose as on s390, or
    (3) support ptrace(PTRACE_SET_SYSCALL) as on arch/arm
    
    Thinking of the fact that user_pt_regs doesn't expose 'syscallno' to
    tracer as well as that secure_computing() expects a changed syscall number,
    especially case of -1, to be visible before this function returns in
    syscall_trace_enter(), (1) doesn't work well.
    We will take (2) since it looks much cleaner.
    Signed-off-by: default avatarAKASHI Takahiro <takahiro.akashi@linaro.org>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    766a85d7
ptrace.c 26.2 KB