Commit 481ee45c authored by Mark Brown's avatar Mark Brown Committed by Catalin Marinas
Browse files

arm64: Unconditionally override SYM_FUNC macros



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: default avatarMark Rutland <mark.rutland@arm.com>
Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20211214152714.2380849-3-broonie@kernel.org


Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 9be34be8
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -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.