2014-09-26 21:01 GMT+04:00 Sasha Levin <sasha.le...@oracle.com>: > On 09/24/2014 08:43 AM, Andrey Ryabinin wrote: >> Hi. >> >> This is a third iteration of kerenel address sanitizer (KASan). >> >> KASan is a runtime memory debugger designed to find use-after-free >> and out-of-bounds bugs. >> >> Currently KASAN supported only for x86_64 architecture and requires kernel >> to be build with SLUB allocator. >> KASAN uses compile-time instrumentation for checking every memory access, >> therefore you >> will need a fresh GCC >= v5.0.0. > > Hi Andrey, > > I tried this patchset, with the latest gcc, and I'm seeing the following: > > arch/x86/kernel/head.o: In function > `_GLOBAL__sub_I_00099_0_reserve_ebda_region': > /home/sasha/linux-next/arch/x86/kernel/head.c:71: undefined reference to > `__asan_init_v4' > init/built-in.o: In function `_GLOBAL__sub_I_00099_0___ksymtab_system_state': > /home/sasha/linux-next/init/main.c:1034: undefined reference to > `__asan_init_v4' > init/built-in.o: In function `_GLOBAL__sub_I_00099_0_init_uts_ns': > /home/sasha/linux-next/init/version.c:50: undefined reference to > `__asan_init_v4' > init/built-in.o: In function `_GLOBAL__sub_I_00099_0_root_mountflags': > /home/sasha/linux-next/init/do_mounts.c:638: undefined reference to > `__asan_init_v4' > init/built-in.o: In function `_GLOBAL__sub_I_00099_0_rd_prompt': > /home/sasha/linux-next/init/do_mounts_rd.c:361: undefined reference to > `__asan_init_v4' > init/built-in.o:/home/sasha/linux-next/init/do_mounts_md.c:312: more > undefined references to `__asan_init_v4' follow > > > What am I missing? >
__asan_init_v* is a version of compiler's api. Recently it was changed in gcc - https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01872.html To fix this, just add: void __asan_init_v4(void) {} EXPORT_SYMBOL(__asan_init_v4); to the mm/kasan/kasan.c I'll fix this in next spin. > > Thanks, > Sasha > > -- -- Best regards, Andrey Ryabinin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/