x86/cpu_entry_area: Annotate percpu_setup_exception_stacks() as __init
authorNathan Chancellor <nathan@kernel.org>
Fri, 23 Aug 2024 00:18:08 +0000 (17:18 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 25 Aug 2024 12:29:38 +0000 (14:29 +0200)
After a recent LLVM change 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.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20240822-x86-percpu_setup_exception_stacks-init-v1-1-57c5921b8209@kernel.org
arch/x86/mm/cpu_entry_area.c

index e91500a80963945c1558707404703cd69a045bb4..575f863f3c75e3d82988619340ce1e1780e18b98 100644 (file)
@@ -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);