[PATCH 5/9] ARM: entry: fix missing statistics of rseq exit

Xie Yuanbin posted 9 patches 2 weeks ago
[PATCH 5/9] ARM: entry: fix missing statistics of rseq exit
Posted by Xie Yuanbin 2 weeks ago
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