On Mon, Mar 5, 2018 at 3:54 PM, Mark Rutland <mark.rutland@xxxxxxx> wrote: > On Fri, Mar 02, 2018 at 08:44:33PM +0100, Andrey Konovalov wrote: >> There are two reasons to use outline instrumentation: >> 1. Outline instrumentation reduces the size of the kernel text, and should >> be used where this size matters. >> 2. Outline instrumentation is less invasive and can be used for debugging >> for KASAN developers, when it's not clear whether some issue is caused >> by KASAN or by something else. >> >> For the rest cases inline instrumentation is preferrable, since it's >> faster. >> >> This patch changes the default instrumentation mode to inline. >> --- >> lib/Kconfig.kasan | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan >> index ab34e7d7d3a7..8ea6ae26b4a3 100644 >> --- a/lib/Kconfig.kasan >> +++ b/lib/Kconfig.kasan >> @@ -70,7 +70,7 @@ config KASAN_EXTRA >> choice >> prompt "Instrumentation type" >> depends on KASAN >> - default KASAN_OUTLINE >> + default KASAN_INLINE > > Some compilers don't support KASAN_INLINE, but do support KASAN_OUTLINE. > IIRC that includes the latest clang release, but I could be wrong. > > If that's the case, changing the default here does not seem ideal. > Hi Mark! GCC before 5.0 doesn't support KASAN_INLINE, but AFAIU will fallback to outline instrumentation in this case. Latest Clang Release doesn't support KASAN_INLINE (although current trunk does) and falls back to outline instrumentation. So nothing should break, but people with newer compilers should get the benefits of using the inline instrumentation by default. Thanks!