[PATCH v4 2/3] arm64: Unconditionally override SYM_FUNC macros
Mark Brown
broonie at kernel.org
Tue Dec 14 07:27:13 PST 2021
Currently we only override the SYM_FUNC macros when we need to insert
BTI C into them, do this unconditionally to make it more likely that we'll
notice bugs in our override.
Suggested-by: Mark Rutland <mark.rutland at arm.com>
Acked-by: Ard Biesheuvel <ardb at kernel.org>
Signed-off-by: Mark Brown <broonie at kernel.org>
---
arch/arm64/include/asm/linkage.h | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/include/asm/linkage.h b/arch/arm64/include/asm/linkage.h
index c5d0c11d7709..1cfa8bb33edd 100644
--- a/arch/arm64/include/asm/linkage.h
+++ b/arch/arm64/include/asm/linkage.h
@@ -8,10 +8,18 @@
#define BTI_C bti c ;
+#else
+
+#define BTI_C
+
+#endif
+
/*
- * When using in-kernel BTI we need to ensure that PCS-conformant assembly
- * functions have suitable annotations. Override SYM_FUNC_START to insert
- * a BTI landing pad at the start of everything.
+ * When using in-kernel BTI we need to ensure that PCS-conformant
+ * assembly functions have suitable annotations. Override
+ * SYM_FUNC_START to insert a BTI landing pad at the start of
+ * everything, the override is done unconditionally so we're more
+ * likely to notice any drift from the overridden definitions.
*/
#define SYM_FUNC_START(name) \
SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN) \
@@ -37,8 +45,6 @@
SYM_START(name, SYM_L_WEAK, SYM_A_NONE) \
BTI_C
-#endif
-
/*
* Annotate a function as position independent, i.e., safe to be called before
* the kernel virtual mapping is activated.
--
2.30.2
More information about the linux-arm-kernel
mailing list