arm64: rseq: Implement backend rseq calls and select HAVE_RSEQ

Implement calls to rseq_signal_deliver, rseq_handle_notify_resume
and rseq_syscall so that we can select HAVE_RSEQ on arm64.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
Will Deacon
2018-06-20 14:46:50 +01:00
parent 54501ac150
commit 409d5db498
6 changed files with 11 additions and 1 deletions

View File

@@ -904,6 +904,7 @@ ENDPROC(el0_error)
ret_fast_syscall:
disable_daif
str x0, [sp, #S_X0] // returned x0
#ifndef CONFIG_DEBUG_RSEQ
ldr x1, [tsk, #TSK_TI_FLAGS] // re-check for syscall tracing
and x2, x1, #_TIF_SYSCALL_WORK
cbnz x2, ret_fast_syscall_trace
@@ -911,6 +912,7 @@ ret_fast_syscall:
cbnz x2, work_pending
enable_step_tsk x1, x2
kernel_exit 0
#endif
ret_fast_syscall_trace:
enable_daif
b __sys_trace_return_skipped // we already saved x0