[PATCH] x86/cpu_entry_area: Annotate percpu_setup_exception_stacks() as __init
From: Nathan Chancellor
Date: Thu Aug 22 2024 - 20:18:22 EST
After a recent LLVM change [1] that deduces __cold on functions that
only call cold code (such as __init functions), there is a section
mismatch warning from percpu_setup_exception_stacks(), which got moved
to .text.unlikely. as a result of that optimization:
WARNING: modpost: vmlinux: section mismatch in reference: percpu_setup_exception_stacks+0x3a (section: .text.unlikely.) -> cea_map_percpu_pages (section: .init.text)
Drop the inline keyword (which does not guarantee inlining) and replace
it with __init, as percpu_setup_exception_stacks() is only called from
__init code, which clears up the warning.
Link: https://github.com/llvm/llvm-project/commit/6b11573b8c5e3d36beee099dbe7347c2a007bf53 [1]
Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>
---
arch/x86/mm/cpu_entry_area.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/mm/cpu_entry_area.c b/arch/x86/mm/cpu_entry_area.c
index e91500a80963..575f863f3c75 100644
--- a/arch/x86/mm/cpu_entry_area.c
+++ b/arch/x86/mm/cpu_entry_area.c
@@ -164,7 +164,7 @@ static void __init percpu_setup_exception_stacks(unsigned int cpu)
}
}
#else
-static inline void percpu_setup_exception_stacks(unsigned int cpu)
+static void __init percpu_setup_exception_stacks(unsigned int cpu)
{
struct cpu_entry_area *cea = get_cpu_entry_area(cpu);
---
base-commit: d4245fd4a62931aebd1c5e6b7b6f51b6ef7ad087
change-id: 20240822-x86-percpu_setup_exception_stacks-init-3eb56b5f075c
Best regards,
--
Nathan Chancellor <nathan@xxxxxxxxxx>