Re: [PATCH v1 03/16] khwasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_HW

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 14, 2018 at 6:57 PM, Andrey Ryabinin
<aryabinin@xxxxxxxxxxxxx> wrote:
>
>
> On 05/08/2018 08:20 PM, Andrey Konovalov wrote:
>
>> diff --git a/scripts/Makefile.kasan b/scripts/Makefile.kasan
>> index 69552a39951d..47023daf5606 100644
>> --- a/scripts/Makefile.kasan
>> +++ b/scripts/Makefile.kasan
>> @@ -1,5 +1,5 @@
>>  # SPDX-License-Identifier: GPL-2.0
>> -ifdef CONFIG_KASAN
>> +ifdef CONFIG_KASAN_GENERIC
>>  ifdef CONFIG_KASAN_INLINE
>>       call_threshold := 10000
>>  else
>> @@ -45,3 +45,28 @@ endif
>>  CFLAGS_KASAN_NOSANITIZE := -fno-builtin
>>
>>  endif
>> +
>> +ifdef CONFIG_KASAN_HW
>> +
>> +ifdef CONFIG_KASAN_INLINE
>> +    instrumentation_flags := -mllvm -hwasan-mapping-offset=$(KASAN_SHADOW_OFFSET)
>> +else
>> +    instrumentation_flags := -mllvm -hwasan-instrument-with-calls=1
>> +endif
>> +
>> +CFLAGS_KASAN_MINIMAL := -fsanitize=kernel-hwaddress
>> +
>> +ifeq ($(call cc-option, $(CFLAGS_KASAN_MINIMAL) -Werror),)
>> +    ifneq ($(CONFIG_COMPILE_TEST),y)
>> +        $(warning Cannot use CONFIG_KASAN_HW: \
>> +            -fsanitize=hwaddress is not supported by compiler)
>> +    endif
>> +else
>> +    CFLAGS_KASAN := $(call cc-option, -fsanitize=kernel-hwaddress \
>> +        -mllvm -hwasan-instrument-stack=0 \
>> +        $(instrumentation_flags))
>> +endif
>
> So this code does the following:
>  1) Warn if compiler doesn't support -fsanitize=kernel-hwaddress
>  2) Compile the kernel with all necessary set of the '-fsanitize=kernel-hwaddress -mllvm -hwasan-*' flags if compiler supports all of them.
>  3) Compile the kernel with empty CFLAGS_KASAN without a warning if compiler supports 'fsanitize=kernel-hwaddress',
>      but doesn't support the rest '-mllvm -hwasan-*' flags.
>
> The last one is just nonsense.

Should I remove "call cc-option" to fix this?

>
>
>> +
>> +CFLAGS_KASAN_NOSANITIZE := -fno-builtin
>> +
>
> Does it really has to declared twice?

Will fix in v2.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux