rseq_syscall_exit_to_user_mode() or rseq_irqentry_exit_to_user_mode() is
missing on arm when returning to user mode, this leads to missing
statistics of rseq exit.
Add rseq_irqentry_exit_to_user_mode() to
arm_exit_to_user_mode_no_work_pending().
Fixes: 5412910487d0 ("rseq: Expose lightweight statistics in debugfs")
Signed-off-by: Xie Yuanbin <qq570070308@gmail.com>
---
arch/arm/kernel/entry.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/kernel/entry.c b/arch/arm/kernel/entry.c
index d32f7be9a107..60e5c250da88 100644
--- a/arch/arm/kernel/entry.c
+++ b/arch/arm/kernel/entry.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
#include <linux/linkage.h>
+#include <linux/rseq_entry.h>
#include <linux/irq-entry-common.h>
#include <linux/kstack_erase.h>
@@ -13,6 +14,7 @@
asmlinkage __section(".entry.text")
void arm_exit_to_user_mode_no_work_pending(void)
{
+ rseq_irqentry_exit_to_user_mode();
exit_to_user_mode();
#ifdef CONFIG_KSTACK_ERASE
stackleak_erase_on_task_stack();
--
2.51.0