lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 7 Mar 2017 16:54:36 +0100
From:   Dmitry Vyukov <dvyukov@...gle.com>
To:     Nikolay Borisov <n.borisov.lkml@...il.com>
Cc:     Andrey Ryabinin <aryabinin@...tuozzo.com>,
        Alexander Potapenko <glider@...gle.com>,
        LKML <linux-kernel@...r.kernel.org>,
        kasan-dev <kasan-dev@...glegroups.com>,
        Kees Cook <keescook@...gle.com>
Subject: Re: kasan behavior when built with unsupported compiler

On Tue, Mar 7, 2017 at 4:35 PM, Nikolay Borisov
<n.borisov.lkml@...il.com> wrote:
> Hello,
>
> I've been chasing a particular UAF as reported by kasan
> (https://www.spinics.net/lists/kernel/msg2458136.html). However, one
> thing which I took notice of rather lately is that I was building my
> kernel with gcc 4.7.4 which is not supported by kasan as indicated by
> the following string:
>
> scripts/Makefile.kasan:19: Cannot use CONFIG_KASAN:
> -fsanitize=kernel-address is not supported by compiler
>
>
> Nevertheless, the kernel compiles and when I boot it I see the kasan
> splats as per the referenced thread. If, however, I build the kernel
> with a newer compiler version 5.4.0 kasan no longer complains.
>
>
> At this point I'm wondering whether the splats can be due to old
> compiler being used e.g. false positives or are they genuine splats and
> gcc 5 somehow obfuscates them ? Clearly despite the warning about not
> being able to use CONFIG_KASAN it is still working since I'm seeing the
> splats. Is this valid behavior ?


Hi,

Re the message that kasan is not supported while it's still enabled in the end.
I think it's an issue related to gcc plugins. Originally kasan was
supported with 5.0+ thus the message. However, later we extended this
support to 4.5+ with gcc plugins. However, that confusing message from
build system was not fixed. So yes, it's confusing and it's something
to fix, but mostly you can just ignore it.

Re false positives with 4.7. By default I would assume that it is true
positive. Should be easy to check with manual printfs.

Re why 5.4 does not detect it. Difficult to say.
If you confirm that it's a real bug and provide repro instructions,
then I can recheck it with latest gcc. If it's a real bug and the
latest gcc does not detect it, then we need to look more closely at
it. I afraid 5.4 won't be fixed.
It's also possible that it's a false positive in the old compiler (I
think there were some bugs). If so, I would recommend switching to a
newer compiler.

Powered by blists - more mailing lists