From 48ea2c34d1d3dead7727d9e2760b587c7609b14b Mon Sep 17 00:00:00 2001 From: Andrei Vagin Date: Tue, 19 Jan 2021 15:31:49 -0800 Subject: platform/ptrace: workaround a kernel ptrace issue on ARM64 On ARM64, when ptrace stops on a system call, it uses the x7 register to indicate whether the stop has been signalled from syscall entry or syscall exit. This means that we can't get a value of this register and we can't change it. More details are in the comment for tracehook_report_syscall in arch/arm64/kernel/ptrace.c. This happens only if we stop on a system call, so let's queue a signal, resume a stub thread and catch it on a signal handling. Fixes: #5238 PiperOrigin-RevId: 352668695 --- test/syscalls/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/syscalls/BUILD') diff --git a/test/syscalls/BUILD b/test/syscalls/BUILD index 0da35f7be..6ee2b73c1 100644 --- a/test/syscalls/BUILD +++ b/test/syscalls/BUILD @@ -569,7 +569,7 @@ syscall_test( # syscall_test(vfs2="True",test = "//test/syscalls/linux:sigaltstack_test") syscall_test( - test = "//test/syscalls/linux:sigiret_test", + test = "//test/syscalls/linux:sigreturn_test", ) syscall_test( -- cgit v1.2.3