Re: [PATCH v3 2/5] kasan/Makefile: Support LLVM style asan parameters.

From: Andrey Ryabinin
Date: Mon Dec 04 2017 - 11:53:05 EST


On 12/04/2017 07:20 PM, Paul Lawrence wrote:

>
> > +Â Â# -fasan-shadow-offset fails without -fsanitize
> > +Â ÂCFLAGS_KASAN_SHADOW := $(call cc-option, -fsanitize=kernel-address \
> > +Â Â Â Â Â Â Â Â Â Â Â-fasan-shadow-offset=$(KASAN_SHADOW_OFFSET), \
> > +Â Â Â Â Â Â Â Â Â Â Â$(call cc-option, -fsanitize=kernel-address \
> > +Â Â Â Â Â Â Â Â Â Â Â-mllvm -asan-mapping-offset=$(KASAN_SHADOW_OFFSET)))
> > +
> > +Â Âifeq ("$(CFLAGS_KASAN_SHADOW)"," ")
>
> This not how it was in my original patch. Why you changed this?
> Condition is always false now, so it breaks kasan with 4.9.x gcc.
>
>
> âI had the opposite problem - CFLAGS_KASAN_SHADOW is always at least a space, and the
> original condition would always be false, which is why I changed it.â On investigation, I foundÂ
> that if the line was split it would always be a space - $(false,whatever,empty-string) would be
> truly empty, but if the line was split after the second comma it would be one space. Is this a
> difference in our make systems?

I dunno, but it could be.
Anyways, does the fixup bellow works for you?

---
scripts/Makefile.kasan | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/Makefile.kasan b/scripts/Makefile.kasan
index 7c00be9216f4..d5a1a4b6d079 100644
--- a/scripts/Makefile.kasan
+++ b/scripts/Makefile.kasan
@@ -24,7 +24,7 @@ else
$(call cc-option, -fsanitize=kernel-address \
-mllvm -asan-mapping-offset=$(KASAN_SHADOW_OFFSET)))

- ifeq ("$(CFLAGS_KASAN_SHADOW)"," ")
+ ifeq ($(strip $(CFLAGS_KASAN_SHADOW)),)
CFLAGS_KASAN := $(CFLAGS_KASAN_MINIMAL)
else
# Now add all the compiler specific options that are valid standalone
--
2.13.6