Re: [PATCH] kasan: Makefile: shut up warnings if CONFIG_COMPILE_TEST=y

From: Andrey Ryabinin
Date: Thu Apr 09 2015 - 08:44:44 EST


On 04/09/2015 02:06 PM, Paul Bolle wrote:
> On Wed, 2015-04-08 at 18:38 +0300, Andrey Ryabinin wrote:
>> It might be annoying to constantly see this:
>>
>> scripts/Makefile.kasan:16: Cannot use CONFIG_KASAN: -fsanitize=kernel-address is not supported by compiler
>>
>> while performing allmodconfig/allyesconfig build tests.
>
> That warning might be seen - once per build - because allmodconfig and
> allyesconfig enable both CONFIG_KASAN and CONFIG_COMPILE_TEST, right?
>

It might be seen once per build because all*config enables CONFIG_KASAN.
There was no dependency on CONFIG_COMPILE_TEST before this patch.

>> Disable this warning if CONFIG_COMPILE_TEST=y.
>
> Do we expect that some people want to enable both KASAN and COMPILE_TEST
> manually (ie, not as a result of allmodconfig or allyesconfig)? If so,
> those people might now be in for some head-scratching if their compiler
> lacks what's apparently needed to run kasan.
>

I think this shouldn't be a problem.
CONFIG_COMPILE_TEST used for building drivers that cannot be loaded on
platform used for compiling these drivers.
So it's unlikely that such kernel will be used for runtime testing.


>> Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
>> ---
>> scripts/Makefile.kasan | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/scripts/Makefile.kasan b/scripts/Makefile.kasan
>> index 631619b..3f874d2 100644
>> --- a/scripts/Makefile.kasan
>> +++ b/scripts/Makefile.kasan
>> @@ -13,12 +13,16 @@ CFLAGS_KASAN := $(call cc-option, -fsanitize=kernel-address \
>> --param asan-instrumentation-with-call-threshold=$(call_threshold))
>>
>> ifeq ($(call cc-option, $(CFLAGS_KASAN_MINIMAL) -Werror),)
>> + ifneq ($(CONFIG_COMPILE_TEST),y)
>> $(warning Cannot use CONFIG_KASAN: \
>> -fsanitize=kernel-address is not supported by compiler)
>> + endif
>> else
>> ifeq ($(CFLAGS_KASAN),)
>> - $(warning CONFIG_KASAN: compiler does not support all options.\
>> - Trying minimal configuration)
>> + ifneq ($(CONFIG_COMPILE_TEST),y)
>> + $(warning CONFIG_KASAN: compiler does not support all options.\
>> + Trying minimal configuration)
>
> (Side note: in this case the compiler supports that minimal
> configuration, doesn't it? So shouldn't the second warning end in
> Running with minimal configuration)
>
> or something to that effect?)
>

It should and it does.
CFLAGS_KASAN reassigned to minimal set of options below.

>> + endif
>> CFLAGS_KASAN := $(CFLAGS_KASAN_MINIMAL)
>> endif
>> endif
>
> Thanks,
>
>
> Paul Bolle
>
>

--
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/