Re: [PATCH] x86/stackprotector: fix build failure with CONFIG_STACKPROTECTOR=n

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux