On Fri, 6 Dec 2024 at 13:32, Oleg Nesterov <oleg@xxxxxxxxxx> wrote: > > Add the necessary '#ifdef CONFIG_STACKPROTECTOR' into > arch/x86/kernel/vmlinux.lds.S > > Fixes: 577c134d311b ("x86/stackprotector: Work around strict Clang TLS symbol requirements") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> > --- > arch/x86/kernel/vmlinux.lds.S | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S > index fab3ac9a4574..2ff48645bab9 100644 > --- a/arch/x86/kernel/vmlinux.lds.S > +++ b/arch/x86/kernel/vmlinux.lds.S > @@ -472,8 +472,10 @@ SECTIONS > . = ASSERT((_end - LOAD_OFFSET <= KERNEL_IMAGE_SIZE), > "kernel image bigger than KERNEL_IMAGE_SIZE"); > > +#ifdef CONFIG_STACKPROTECTOR > /* needed for Clang - see arch/x86/entry/entry.S */ > PROVIDE(__ref_stack_chk_guard = __stack_chk_guard); > +#endif > > #ifdef CONFIG_X86_64 > /* This shouldn't be necessary - PROVIDE() is only evaluated if a reference exists to the symbol it defines. Also, I'm failing to reproduce this. Could you share your .config, please, and the error that you get during the build?