Re: [PATCH] x86: fix build failure

From: Sedat Dilek
Date: Tue Sep 29 2015 - 14:59:27 EST


On Tue, Sep 29, 2015 at 6:40 PM, Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> wrote:
> With KMEMCHECK=y, KASAN=n:
>
> arch/x86/platform/efi/efi.c:673:3: error: implicit declaration of function âmemcpyâ [-Werror=implicit-function-declaration]
> arch/x86/platform/efi/efi_64.c:139:2: error: implicit declaration of function âmemcpyâ [-Werror=implicit-function-declaration]
> arch/x86/include/asm/desc.h:121:2: error: implicit declaration of function âmemcpyâ [-Werror=implicit-function-declaration]
>
> Don't #undef memcpy if KASAN=n.
>

Good catch.
This broke my llvmlinux-patches Linux v4.3-rcN.

The subject-line is not very meaningful - to me at least ?

- Sedat -

> Reported-by: Ingo Molnar <mingo@xxxxxxxxxx>
> Reported-by: Sedat Dilek <sedat.dilek@xxxxxxxxx>
> Fixes: 769a8089c1fd ("x86, efi, kasan: #undef memset/memcpy/memmove per arch")
> Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx>
> ---
> arch/x86/include/asm/efi.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
> index ab5f1d4..ae68be9 100644
> --- a/arch/x86/include/asm/efi.h
> +++ b/arch/x86/include/asm/efi.h
> @@ -86,6 +86,7 @@ extern u64 asmlinkage efi_call(void *fp, ...);
> extern void __iomem *__init efi_ioremap(unsigned long addr, unsigned long size,
> u32 type, u64 attribute);
>
> +#ifdef CONFIG_KASAN
> /*
> * CONFIG_KASAN may redefine memset to __memset. __memset function is present
> * only in kernel binary. Since the EFI stub linked into a separate binary it
> @@ -95,6 +96,7 @@ extern void __iomem *__init efi_ioremap(unsigned long addr, unsigned long size,
> #undef memcpy
> #undef memset
> #undef memmove
> +#endif
>
> #endif /* CONFIG_X86_32 */
>
> --
> 2.4.6
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/