From: Peter Zijlstra <peterz@infradead.org>
To: tglx@linutronix.de
Cc: x86@kernel.org, elver@google.com, paulmck@kernel.org,
kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org,
peterz@infradead.org, will@kernel.org, dvyukov@google.com,
glider@google.com, andreyknvl@google.com,
Nick Desaulniers <ndesaulniers@google.com>
Subject: [PATCH 4/8] kasan: Bump required compiler version
Date: Thu, 04 Jun 2020 12:22:45 +0200 [thread overview]
Message-ID: <20200604102428.135635542@infradead.org> (raw)
In-Reply-To: 20200604102241.466509982@infradead.org
From: Marco Elver <elver@google.com>
Adds config variable CC_HAS_WORKING_NOSANITIZE_ADDRESS, which will be
true if we have a compiler that does not fail builds due to
no_sanitize_address functions. This does not yet mean they work as
intended, but for automated build-tests, this is the minimum
requirement.
For example, we require that __always_inline functions used from
no_sanitize_address functions do not generate instrumentation. On GCC <=
7 this fails to build entirely, therefore we make the minimum version
GCC 8.
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Acked-by: Andrey Konovalov <andreyknvl@google.com>
Link: https://lkml.kernel.org/r/20200602175859.GC2604@hirez.programming.kicks-ass.net
---
Apply after:
https://lkml.kernel.org/r/20200602173103.931412766@infradead.org
v2:
* No longer restrict UBSAN (and KCSAN), since the attributes behave
differently for different sanitizers. For UBSAN the above case with GCC
<= 7 actually works fine (no compiler error). So it seems that only
KASAN is affected by this -- let's limit our restriction to KASAN.
---
lib/Kconfig.kasan | 4 ++++
1 file changed, 4 insertions(+)
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -15,11 +15,15 @@ config CC_HAS_KASAN_GENERIC
config CC_HAS_KASAN_SW_TAGS
def_bool $(cc-option, -fsanitize=kernel-hwaddress)
+config CC_HAS_WORKING_NOSANITIZE_ADDRESS
+ def_bool !CC_IS_GCC || GCC_VERSION >= 80000
+
config KASAN
bool "KASAN: runtime memory debugger"
depends on (HAVE_ARCH_KASAN && CC_HAS_KASAN_GENERIC) || \
(HAVE_ARCH_KASAN_SW_TAGS && CC_HAS_KASAN_SW_TAGS)
depends on (SLUB && SYSFS) || (SLAB && !DEBUG_SLAB)
+ depends on CC_HAS_WORKING_NOSANITIZE_ADDRESS
help
Enables KASAN (KernelAddressSANitizer) - runtime memory debugger,
designed to find out-of-bounds accesses and use-after-free bugs.
next prev parent reply other threads:[~2020-06-04 10:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-04 10:22 [PATCH 0/8] x86/entry: KCSAN/KASAN/UBSAN vs noinstr Peter Zijlstra
2020-06-04 10:22 ` [PATCH 1/8] x86, kcsan: Remove __no_kcsan_or_inline usage Peter Zijlstra
2020-06-04 10:22 ` [PATCH 2/8] kcsan: Remove __no_kcsan_or_inline Peter Zijlstra
2020-06-04 10:22 ` [PATCH 3/8] x86, kcsan: Add __no_kcsan to noinstr Peter Zijlstra
2020-06-04 10:22 ` Peter Zijlstra [this message]
2020-06-04 10:22 ` [PATCH 5/8] compiler_types.h: Add __no_sanitize_{address,undefined} " Peter Zijlstra
2020-06-04 10:22 ` [PATCH 6/8] x86/entry, cpumask: Provide non-instrumented variant of cpu_is_offline() Peter Zijlstra
2020-06-04 10:22 ` [PATCH 7/8] x86/entry, ubsan, objtool: Whitelist __ubsan_handle_*() Peter Zijlstra
2020-06-04 10:22 ` [PATCH 8/8] x86/entry, bug: Comment the instrumentation_begin() usage for WARN() Peter Zijlstra
2020-06-04 11:01 ` [PATCH 0/8] x86/entry: KCSAN/KASAN/UBSAN vs noinstr Marco Elver
2020-06-15 10:07 ` Marco Elver
2020-06-15 14:57 ` Qian Cai
2020-06-15 15:06 ` Peter Zijlstra
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=20200604102428.135635542@infradead.org \
--to=peterz@infradead.org \
--cc=andreyknvl@google.com \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=glider@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ndesaulniers@google.com \
--cc=paulmck@kernel.org \
--cc=tglx@linutronix.de \
--cc=will@kernel.org \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.