[patch 04/18] loongarch/syscall: Use syscall_enter_from_user_mode_randomize_stack()
Thomas Gleixner
tglx at kernel.org
Tue Jul 7 12:06:11 PDT 2026
syscall_enter_from_user_mode_randomize_stack() replaces
syscall_enter_from_user_mode() and the subsequent invocation of
add_random_kstack_offset().
The advantage is that it applies the stack randomization right after
enter_from_user_mode() and thereby avoids the overhead of get/put_cpu_var()
as that code is invoked with interrupts disabled.
No functional change.
Signed-off-by: Thomas Gleixner <tglx at kernel.org>
Cc: Huacai Chen <chenhuacai at kernel.org>
Cc: loongarch at lists.linux.dev
---
arch/loongarch/kernel/syscall.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
--- a/arch/loongarch/kernel/syscall.c
+++ b/arch/loongarch/kernel/syscall.c
@@ -11,7 +11,6 @@
#include <linux/linkage.h>
#include <linux/nospec.h>
#include <linux/objtool.h>
-#include <linux/randomize_kstack.h>
#include <linux/syscalls.h>
#include <linux/unistd.h>
@@ -70,9 +69,7 @@ void noinstr __no_stack_protector do_sys
regs->orig_a0 = regs->regs[4];
regs->regs[4] = -ENOSYS;
- nr = syscall_enter_from_user_mode(regs, nr);
-
- add_random_kstack_offset();
+ nr = syscall_enter_from_user_mode_randomize_stack(regs, nr);
if (nr < NR_syscalls) {
syscall_fn = sys_call_table[array_index_nospec(nr, NR_syscalls)];
More information about the linux-riscv
mailing list