[PATCH v9 1/6] kasan: allow an architecture to disable inline instrumentation

From: Daniel Axtens
Date: Tue Dec 01 2020 - 11:17:36 EST


For annoying architectural reasons, it's very difficult to support inline
instrumentation on powerpc64.

Add a Kconfig flag to allow an arch to disable inline. (It's a bit
annoying to be 'backwards', but I'm not aware of any way to have
an arch force a symbol to be 'n', rather than 'y'.)

Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
---
lib/Kconfig.kasan | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index 542a9c18398e..31a0b28f6c2b 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -9,6 +9,9 @@ config HAVE_ARCH_KASAN_SW_TAGS
config HAVE_ARCH_KASAN_VMALLOC
bool

+config HAVE_ARCH_NO_KASAN_INLINE
+ def_bool n
+
config CC_HAS_KASAN_GENERIC
def_bool $(cc-option, -fsanitize=kernel-address)

@@ -108,6 +111,7 @@ config KASAN_OUTLINE

config KASAN_INLINE
bool "Inline instrumentation"
+ depends on !HAVE_ARCH_NO_KASAN_INLINE
help
Compiler directly inserts code checking shadow memory before
memory accesses. This is faster than outline (in some workloads
--
2.25.1