On Tue, Jan 03, 2017 at 03:14:54PM +0100, Michal Marek wrote: > The asm-prototypes.h file is used to provide dummy function declarations > for genksyms, when processing asm files with EXPORT_SYMBOL. Make sure > that any architecture defines get out of our way. x86 currently has an > issue with memcpy on 64bit with CONFIG_KMEMCHECK=y and with > memset/__memset on 32bit: > > $ cat init/test.c > #include <asm/asm-prototypes.h> > $ make -s init/test.o > $ make -s init/test.o > In file included from ./arch/x86/include/asm/string.h:4:0, > from ./include/linux/string.h:18, > from ./include/linux/bitmap.h:8, > from ./include/linux/cpumask.h:11, > from ./arch/x86/include/asm/cpumask.h:4, > from ./arch/x86/include/asm/msr.h:10, > from ./arch/x86/include/asm/processor.h:20, > from ./arch/x86/include/asm/cpufeature.h:4, > from ./arch/x86/include/asm/thread_info.h:52, > from ./include/linux/thread_info.h:25, > from ./arch/x86/include/asm/preempt.h:6, > from ./include/linux/preempt.h:59, > from ./include/linux/spinlock.h:50, > from ./include/linux/seqlock.h:35, > from ./include/linux/time.h:5, > from ./include/uapi/linux/timex.h:56, > from ./include/linux/timex.h:56, > from ./include/linux/sched.h:19, > from ./include/linux/uaccess.h:4, > from ./arch/x86/include/asm/asm-prototypes.h:2, > from init/test.c:1: > ./arch/x86/include/asm/string_64.h:52:47: error: expected declaration specifiers or ‘...’ before ‘(’ token > #define memcpy(dst, src, len) __inline_memcpy((dst), (src), (len)) > ./include/asm-generic/asm-prototypes.h:6:14: note: in expansion of macro ‘memcpy’ > extern void *memcpy(void *, const void *, __kernel_size_t); > > ^ > ... > > During real build, this manifests itself by genksyms segfaulting. > > Reported-by: Borislav Petkov <bp@xxxxxxxxx> ... -and-tested-by: ... For all three. Thanks! -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html