All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] x86/alternative: fix undefined reference to __ibt_endbr_seal[_end]
@ 2022-10-11 11:38 Miaohe Lin
  2022-10-11  3:46 ` Miaohe Lin
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Miaohe Lin @ 2022-10-11 11:38 UTC (permalink / raw)
  To: tglx, mingo, bp, dave.hansen; +Cc: hpa, x86, linux-kernel, linmiaohe

Due to the explicit 'noinline' GCC-7.3 is not able to optimize away the
argument setup of:

	apply_ibt_endbr(__ibt_endbr_seal, __ibt_enbr_seal_end);

even when X86_KERNEL_IBT=n and the function is an empty stub which leads
to link errors due to missing __ibt_endbr_seal* symbols like below:

ld: arch/x86/kernel/alternative.o: in function
`alternative_instructions':
alternative.c:(.init.text+0x15d): undefined reference to
`__ibt_endbr_seal_end'
ld: alternative.c:(.init.text+0x164): undefined reference to
`__ibt_endbr_seal'

Remove explicit 'noinline' to help gcc optimize them away.
[Thanks Peter Zijlstra for tweaking the commit log.]

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 arch/x86/kernel/alternative.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 5cadcea035e0..beaf9fc44e2f 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -624,7 +624,7 @@ void __init_or_module noinline apply_ibt_endbr(s32 *start, s32 *end)
 
 #else
 
-void __init_or_module noinline apply_ibt_endbr(s32 *start, s32 *end) { }
+void __init_or_module apply_ibt_endbr(s32 *start, s32 *end) { }
 
 #endif /* CONFIG_X86_KERNEL_IBT */
 
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-12-05 10:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-11 11:38 [PATCH v2] x86/alternative: fix undefined reference to __ibt_endbr_seal[_end] Miaohe Lin
2022-10-11  3:46 ` Miaohe Lin
2022-12-02  8:46 ` Miaohe Lin
2022-12-02 11:59 ` Thomas Gleixner
2022-12-03  1:20   ` Miaohe Lin
2022-12-05 10:59 ` [tip: x86/urgent] x86/alternative: Remove noinline from __ibt_endbr_seal[_end]() stubs tip-bot2 for Miaohe Lin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.