Re: [PATCH] x86/boot: fix kaslr-enabled build

From: Borislav Petkov
Date: Thu Jan 30 2020 - 06:00:12 EST


On Thu, Jan 30, 2020 at 01:29:26AM +0900, Sergey Senozhatsky wrote:
> Both pgtable_64 and kaslr_64 define `__force_order', which breaks
> the build:
>
> ld: arch/x86/boot/compressed/pgtable_64.o:(.bss+0x0): multiple definition of `__force_order';
> arch/x86/boot/compressed/kaslr_64.o:(.bss+0x0): first defined here
>
> Make KASLR use extern pgtable_64's definition.
>
> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
> ---
> arch/x86/boot/compressed/kaslr_64.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/boot/compressed/kaslr_64.c b/arch/x86/boot/compressed/kaslr_64.c
> index 748456c365f4..274df8f9e659 100644
> --- a/arch/x86/boot/compressed/kaslr_64.c
> +++ b/arch/x86/boot/compressed/kaslr_64.c
> @@ -30,7 +30,7 @@
> #include "../../mm/ident_map.c"
>
> /* Used by pgtable.h asm code to force instruction serialization. */
> -unsigned long __force_order;
> +extern unsigned long __force_order;
>
> /* Used to track our page table allocation area. */
> struct alloc_pgt_data {
> --

Hmm, I can't trigger that. gcc version and .config pls.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette