2016-03-15 09:11:45

by Valdis Klētnieks

[permalink] [raw]
Subject: next-20160314 - KASAN breaks 'make C=2' build...

This config breaks sparse:

grep KASAN .config
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_KASAN=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KASAN_INLINE=y
CONFIG_TEST_KASAN=m

LANG=C make C=2
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
DESCEND objtool
CHECK scripts/mod/empty.c
No such file: asan-stack=1
scripts/Makefile.build:291: recipe for target 'scripts/mod/empty.o' failed
make[2]: *** [scripts/mod/empty.o] Error 1
scripts/Makefile.build:440: recipe for target 'scripts/mod' failed
make[1]: *** [scripts/mod] Error 2
Makefile:552: recipe for target 'scripts' failed
make: *** [scripts] Error 2

Looks like it's this chunk from scripts/Makefile.kasan:

CFLAGS_KASAN := $(call cc-option, -fsanitize=kernel-address
-fasan-shadow-offset=$(KASAN_SHADOW_OFFSET)
--param asan-stack=1 --param asan-globals=1
--param asan-instrumentation-with-call-threshold=$(call_threshold))

4AM is a bad time to figure out who's to blame here....


2016-03-15 09:22:31

by Andrey Ryabinin

[permalink] [raw]
Subject: Re: next-20160314 - KASAN breaks 'make C=2' build...

2016-03-15 12:11 GMT+03:00 Valdis Kletnieks <[email protected]>:
> This config breaks sparse:
>
> grep KASAN .config
> CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
> CONFIG_HAVE_ARCH_KASAN=y
> CONFIG_KASAN=y
> # CONFIG_KASAN_OUTLINE is not set
> CONFIG_KASAN_INLINE=y
> CONFIG_TEST_KASAN=m
>
> LANG=C make C=2
> CHK include/config/kernel.release
> CHK include/generated/uapi/linux/version.h
> CHK include/generated/utsrelease.h
> CHK include/generated/bounds.h
> CHK include/generated/timeconst.h
> CHK include/generated/asm-offsets.h
> CALL scripts/checksyscalls.sh
> DESCEND objtool
> CHECK scripts/mod/empty.c
> No such file: asan-stack=1
> scripts/Makefile.build:291: recipe for target 'scripts/mod/empty.o' failed
> make[2]: *** [scripts/mod/empty.o] Error 1
> scripts/Makefile.build:440: recipe for target 'scripts/mod' failed
> make[1]: *** [scripts/mod] Error 2
> Makefile:552: recipe for target 'scripts' failed
> make: *** [scripts] Error 2
>
> Looks like it's this chunk from scripts/Makefile.kasan:
>
> CFLAGS_KASAN := $(call cc-option, -fsanitize=kernel-address
> -fasan-shadow-offset=$(KASAN_SHADOW_OFFSET)
> --param asan-stack=1 --param asan-globals=1
> --param asan-instrumentation-with-call-threshold=$(call_threshold))
>
> 4AM is a bad time to figure out who's to blame here....

Update your sparse please. Make sure it has d917662d54ba ("lib.c: skip
--param parameters").

2016-03-15 11:19:49

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: next-20160314 - KASAN breaks 'make C=2' build...

On Tue, 15 Mar 2016 12:22:18 +0300, Andrey Ryabinin said:
> 2016-03-15 12:11 GMT+03:00 Valdis Kletnieks <[email protected]>:
> > This config breaks sparse:

> > 4AM is a bad time to figure out who's to blame here....
>
> Update your sparse please. Make sure it has d917662d54ba ("lib.c: skip
> --param parameters").

And sure enough, sparse built from the git tree works as expected.

Fedora only packaged 0.5.0, which doesn't include the last few
dozen commits. And they probably won't update until a sparse maintainer
sticks a v0.5.1 tag on it. I suspect that other distros are similar.

Adding Christopher Li to the recipient list - any thoughts?




Attachments:
(No filename) (848.00 B)

2016-03-15 11:34:06

by Christopher Li

[permalink] [raw]
Subject: Re: next-20160314 - KASAN breaks 'make C=2' build...

On Tue, Mar 15, 2016 at 4:19 AM, <[email protected]> wrote:
>
> Fedora only packaged 0.5.0, which doesn't include the last few
> dozen commits. And they probably won't update until a sparse maintainer
> sticks a v0.5.1 tag on it. I suspect that other distros are similar.
>
> Adding Christopher Li to the recipient list - any thoughts?

Yes, I should cut a new release long time ago. Let me just do that.

Chris