From: Andrey Ryabinin <aryabinin@virtuozzo.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Andrey Konovalov <andreyknvl@google.com>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Michal Marek <michal.lkml@markovi.net>,
Andrew Morton <akpm@linux-foundation.org>,
Dmitry Vyukov <dvyukov@google.com>,
Nick Desaulniers <ndesaulniers@google.com>,
Mark Brown <broonie@kernel.org>, Qian Cai <cai@lca.pw>,
Alexander Potapenko <glider@google.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
Christoph Lameter <cl@linux.com>,
LKML <linux-kernel@vger.kernel.org>,
Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
kasan-dev <kasan-dev@googlegroups.com>
Subject: Re: [PATCH] kasan: turn off asan-stack for clang-8 and earlier
Date: Thu, 21 Feb 2019 13:06:20 +0300 [thread overview]
Message-ID: <d50cf232-f38e-4060-2742-27ba07e2ae9c@virtuozzo.com> (raw)
In-Reply-To: <CAK8P3a0tg1WRLK=fs9S+X4TPB7sR55ZsjMbBVX07AtAfguXCsw@mail.gmail.com>
On 2/20/19 8:35 PM, Arnd Bergmann wrote:
> On Wed, Feb 20, 2019 at 6:00 PM Andrey Ryabinin <aryabinin@virtuozzo.com> wrote:
>> On 2/20/19 5:51 PM, Arnd Bergmann wrote:
>>> On Wed, Feb 20, 2019 at 3:45 PM Andrey Konovalov <andreyknvl@google.com> wrote:
>>> I would have to some more research, but I expect several hundred
>>> patches before we get to a clean randconfig build with a broken
>>> compiler.
>>
>> Manually maintaining asan-stack parameter for the sake of one broken compiler isn't a great idea either.
>>
>> Couple alternative suggestions:
>>
>> 1) If we can't fix the problem or the cost of fixing is too high, maybe just hide it? Disable -Wframe-larger-then on pre clang-9 compilers.
>>
>> 2) Fallback cflags. The idea is to try to compile every the file with "-mllvm -asan-stack=1 -Wframe-larger-than=2048 -Werror" at first,
>> and fallback to "-mllvm -asan-stack=0" if failed. So it would be something similar to $(call cc-option, -mllvm -asan-stack=1 -Wframe-larger-than=2048 -Werror, -mllvm -asan-stack=0)
>> except that "cc-option" tries options only once on some code example while we need to try options on every file that we actually compile.
>> Honestly, I'm not sure that it's worthy to hack Kbuild engine for that particular use-case.
>
> My original plan was to put this under CONFIG_KASAN_EXTRA to allow you
> to still enable it in older compilers, but you just removed that option ;-)
>
> Maybe bringing it back would be a compromise? That way it's hidden from
> all the build testing bots (because of the !CONFIG_COMPILE_TEST dependency),
> but anyone who really wants it can still have the option, and set
> CONFIG_FRAME_WARN
> to whichever value they like.
>
I think there is much simpler solution:
---
lib/Kconfig.kasan | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index 219cddc913ac..6cd035f06cee 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -105,6 +105,8 @@ endchoice
config KASAN_STACK
int
+ range 0 1
+ prompt "Enable stack instrumentation (unsafe)" if CC_IS_CLANG && (CLANG_VERSION < 90000)
default 0 if CC_IS_CLANG && (CLANG_VERSION < 90000)
default 1
help
--
AFAIK, randconfig is not able to randomize int config options, so it will be disabled for build robots,
but users still will be able to enable it.
next prev parent reply other threads:[~2019-02-21 10:06 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-19 21:49 [PATCH] kasan: turn off asan-stack for clang-8 and earlier Arnd Bergmann
2019-02-19 22:17 ` Qian Cai
2019-02-19 22:43 ` Nick Desaulniers
2019-02-20 0:33 ` Kostya Serebryany
2019-02-20 1:25 ` Qian Cai
2019-02-20 6:44 ` Dmitry Vyukov
2019-02-20 9:19 ` Arnd Bergmann
2019-02-20 14:44 ` Andrey Konovalov
2019-02-20 14:51 ` Arnd Bergmann
2019-02-20 17:00 ` Andrey Ryabinin
2019-02-20 17:35 ` Arnd Bergmann
2019-02-20 18:07 ` Nick Desaulniers
2019-02-20 18:44 ` Mark Brown
2019-02-20 20:02 ` Nick Desaulniers
2019-02-20 21:13 ` Arnd Bergmann
2019-02-20 21:40 ` Arnd Bergmann
2019-02-20 22:12 ` Kostya Serebryany
2019-02-20 23:46 ` Kostya Serebryany
2019-02-21 17:19 ` Arnd Bergmann
2019-02-21 10:06 ` Andrey Ryabinin [this message]
2019-02-21 15:19 ` Arnd Bergmann
2019-02-21 16:14 ` Andrey Ryabinin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d50cf232-f38e-4060-2742-27ba07e2ae9c@virtuozzo.com \
--to=aryabinin@virtuozzo.com \
--cc=akpm@linux-foundation.org \
--cc=andreyknvl@google.com \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=cai@lca.pw \
--cc=cl@linux.com \
--cc=dvyukov@google.com \
--cc=glider@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.lkml@markovi.net \
--cc=ndesaulniers@google.com \
--cc=schwidefsky@de.ibm.com \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).