Commit be0fffa5 authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files

x86/alternative: Rename apply_ibt_endbr()



The current name doesn't reflect what it does very well.

Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarSami Tolvanen <samitolvanen@google.com>
Link: https://lkml.kernel.org/r/20230622144321.427441595%40infradead.org
parent 0479a42d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -437,7 +437,7 @@ void __init arch_cpu_finalize_init(void)
	os_check_bugs();
}

void apply_ibt_endbr(s32 *start, s32 *end)
void apply_seal_endbr(s32 *start, s32 *end)
{
}

+1 −1
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ extern void alternative_instructions(void);
extern void apply_alternatives(struct alt_instr *start, struct alt_instr *end);
extern void apply_retpolines(s32 *start, s32 *end);
extern void apply_returns(s32 *start, s32 *end);
extern void apply_ibt_endbr(s32 *start, s32 *end);
extern void apply_seal_endbr(s32 *start, s32 *end);
extern void apply_fineibt(s32 *start_retpoline, s32 *end_retpoine,
			  s32 *start_cfi, s32 *end_cfi);

+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@
/*
 * Create a dummy function pointer reference to prevent objtool from marking
 * the function as needing to be "sealed" (i.e. ENDBR converted to NOP by
 * apply_ibt_endbr()).
 * apply_seal_endbr()).
 */
#define IBT_NOSEAL(fname)				\
	".pushsection .discard.ibt_endbr_noseal\n\t"	\
+6 −3
Original line number Diff line number Diff line
@@ -803,7 +803,7 @@ static void __init_or_module poison_endbr(void *addr, bool warn)
/*
 * Generated by: objtool --ibt
 */
void __init_or_module noinline apply_ibt_endbr(s32 *start, s32 *end)
void __init_or_module noinline apply_seal_endbr(s32 *start, s32 *end)
{
	s32 *s;

@@ -818,7 +818,7 @@ void __init_or_module noinline apply_ibt_endbr(s32 *start, s32 *end)

#else

void __init_or_module apply_ibt_endbr(s32 *start, s32 *end) { }
void __init_or_module apply_seal_endbr(s32 *start, s32 *end) { }

#endif /* CONFIG_X86_KERNEL_IBT */

@@ -1565,7 +1565,10 @@ void __init alternative_instructions(void)
	 */
	callthunks_patch_builtin_calls();

	apply_ibt_endbr(__ibt_endbr_seal, __ibt_endbr_seal_end);
	/*
	 * Seal all functions that do not have their address taken.
	 */
	apply_seal_endbr(__ibt_endbr_seal, __ibt_endbr_seal_end);

#ifdef CONFIG_SMP
	/* Patch to UP if other cpus not imminent. */
+1 −1
Original line number Diff line number Diff line
@@ -358,7 +358,7 @@ int module_finalize(const Elf_Ehdr *hdr,
	}
	if (ibt_endbr) {
		void *iseg = (void *)ibt_endbr->sh_addr;
		apply_ibt_endbr(iseg, iseg + ibt_endbr->sh_size);
		apply_seal_endbr(iseg, iseg + ibt_endbr->sh_size);
	}
	if (locks) {
		void *lseg = (void *)locks->sh_addr;