diff options
author | Will Deacon <will.deacon@arm.com> | 2018-06-20 15:46:50 +0200 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-07-11 14:29:34 +0200 |
commit | 409d5db49867c20d226a1fc50a73d646bd733dae (patch) | |
tree | 5e74440b1abe186b348be600946e78ad1c44efc2 /arch/arm64/kernel/signal.c | |
parent | arm64: make flatmem depend on !NUMA (diff) | |
download | linux-409d5db49867c20d226a1fc50a73d646bd733dae.tar.xz linux-409d5db49867c20d226a1fc50a73d646bd733dae.zip |
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>
Diffstat (limited to 'arch/arm64/kernel/signal.c')
-rw-r--r-- | arch/arm64/kernel/signal.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c index 511af13e8d8f..e3b1d1b0aee8 100644 --- a/arch/arm64/kernel/signal.c +++ b/arch/arm64/kernel/signal.c @@ -802,6 +802,8 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) int usig = ksig->sig; int ret; + rseq_signal_deliver(ksig, regs); + /* * Set up the stack frame */ @@ -940,6 +942,7 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, if (thread_flags & _TIF_NOTIFY_RESUME) { clear_thread_flag(TIF_NOTIFY_RESUME); tracehook_notify_resume(regs); + rseq_handle_notify_resume(NULL, regs); } if (thread_flags & _TIF_FOREIGN_FPSTATE) |