On Fri, Jul 18, 2014 at 4:26 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Fri, Jul 18, 2014 at 03:40:15PM +0400, Yury Gribov wrote: >> This tiny patch adds support for KernelASan. KASan brings Asan error >> detection capabilities to Linux kernel >> (https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel). >> >> KASan works similar to normal userspace ASan but disables some options which >> are not yet supported by kernel (notably inline instrumentation, >> stack/global protection and UAR). We would prefer to hide all necessary >> tweaks under a user-friendly flag (-fsanitize=kernel-address) instead of >> forcing them directly in kernel's CFLAGS. >> >> Kernel patches are currently under review in LKML >> (https://lkml.org/lkml/2014/7/9/990). > > I thought KAsan used different entry points (__kasan_* etc.), has that > changed?
Yes, we've switched to __asan_. > Also, oring in SANITIZER_ADDRESS means you add -lasan to link flags, I'd > guess that for -fsanitize=kernel-address you don't want to add any libraries > at link time? I suspect that we don't pass -fsanitize=kernel-address during linking in kernel today. But I agree that it's better to disable any processing during linking for now. Later we may want to do something special during linking if -fsanitize=kernel-address is supplied. > Do you error out on -fsanitize=thread -fsanitize=kernel-address ? > Perhaps -fsanitize=kernel-address -fsanitize=address should be invalid too? Yes, all these combinations are invalid.