|
@@ -540,6 +540,12 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)
|
|
|
sigset_t *oldset = sigmask_to_save();
|
|
|
int ret;
|
|
|
|
|
|
+ /*
|
|
|
+ * Increment event counter and perform fixup for the pre-signal
|
|
|
+ * frame.
|
|
|
+ */
|
|
|
+ rseq_signal_deliver(regs);
|
|
|
+
|
|
|
/*
|
|
|
* Set up the stack frame
|
|
|
*/
|
|
@@ -660,6 +666,7 @@ do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall)
|
|
|
} else {
|
|
|
clear_thread_flag(TIF_NOTIFY_RESUME);
|
|
|
tracehook_notify_resume(regs);
|
|
|
+ rseq_handle_notify_resume(regs);
|
|
|
}
|
|
|
}
|
|
|
local_irq_disable();
|