+46
−39
Loading
Merge Pull Request from: @wangyaoyong **riscv: signal: handle syscall restart before get_signal** issue: https://gitee.com/openeuler/kernel/issues/I9499I Test tests of [riscv-ptrace-bug-demo](https://github.com/ancientmodern/riscv-ptrace-bug-demo ) pass after patching this patch in bug recurring. test log: ```bash First kick: Checking the victim sid to be 1876 Check: 1876, want 1876 First kick: PASS Interrupting task 1969 Interrupt_task return value: 0, errno is: Success Checkpoint original regs and instruction, new_pc = 65536 PTRACE_PEEKDATA return value: 0, errno is: Success Set new regs (pc, a0) and ebreak PTRACE_POKEDATA return value: 0, errno is: Success Running PTRACE_CONT in task 1969 PTRACE_CONT return value: 0, errno is: Success Restore original regs and instruction PTRACE_POKEDATA return value: 0, errno is: Success Resuming task 1969 Resume_task return value: 0, errno is: Success Closing victim stdin Waiting for victim to die Final kick: Checking the victim sid still to be 1876 Check: 1876, want 1876 All PASS ``` Tested-by:Mingzheng Xing <xingmingzheng@iscas.ac.cn> Link:https://gitee.com/openeuler/kernel/pulls/4761 Reviewed-by:
Mingzheng Xing <xingmingzheng@iscas.ac.cn> Reviewed-by:
Xie XiuQi <xiexiuqi@huawei.com> Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com>