[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251026221208.1938173-7-hpa@zytor.com>
Date: Sun, 26 Oct 2025 15:12:06 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: "H. Peter Anvin" <hpa@...or.com>, "Jason A. Donenfeld" <Jason@...c4.com>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
"Theodore Ts'o" <tytso@....edu>,
Thomas Weißschuh <thomas.weissschuh@...utronix.de>,
Xin Li <xin@...or.com>, Andrew Cooper <andrew.cooper3@...rix.com>,
Andy Lutomirski <luto@...nel.org>, Ard Biesheuvel <ardb@...nel.org>,
Borislav Petkov <bp@...en8.de>, Brian Gerst <brgerst@...il.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Ingo Molnar <mingo@...hat.com>, James Morse <james.morse@....com>,
Jarkko Sakkinen <jarkko@...nel.org>,
Josh Poimboeuf <jpoimboe@...nel.org>, Kees Cook <kees@...nel.org>,
Nam Cao <namcao@...utronix.de>, Oleg Nesterov <oleg@...hat.com>,
Perry Yuan <perry.yuan@....com>, Thomas Gleixner <tglx@...utronix.de>,
Thomas Huth <thuth@...hat.com>, Uros Bizjak <ubizjak@...il.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
linux-sgx@...r.kernel.org, x86@...nel.org
Subject: [PATCH 6/6] x86/entry/vdso32: add endbr32 to system_call.S
*If* the C code is compiled with endbr support, put one at the assembly
system call entry point as well.
Note that no endbr is required at the sigreturn entry points, because
those are logically subroutine returns and invoked via ret
instructions.
Signed-off-by: H. Peter Anvin (Intel) <hpa@...or.com>
---
arch/x86/entry/vdso/vdso32/system_call.S | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/x86/entry/vdso/vdso32/system_call.S b/arch/x86/entry/vdso/vdso32/system_call.S
index d14eca4403c5..0ca7ca1c490b 100644
--- a/arch/x86/entry/vdso/vdso32/system_call.S
+++ b/arch/x86/entry/vdso/vdso32/system_call.S
@@ -8,12 +8,19 @@
#include <asm/cpufeatures.h>
#include <asm/alternative.h>
+.macro CET_ENDBR
+#if defined(__CET__) && (__CET__ & 1)
+ endbr32
+#endif
+.endm
+
.text
.globl __kernel_vsyscall
.type __kernel_vsyscall,@function
ALIGN
__kernel_vsyscall:
CFI_STARTPROC
+ CET_ENDBR
/*
* Reshuffle regs so that all of any of the entry instructions
* will preserve enough state.
--
2.51.1
Powered by blists - more mailing lists