This is a preparatory commit for the upcoming addition of a new hardware tag-based (MTE-based) KASAN mode. The new mode won't be using shadow memory, so only build init.c that contains shadow initialization code for software modes. No functional changes for software modes. Link: https://lkml.kernel.org/r/bae0a6a35b7a9b1a443803c1a55e6e3fecc311c9.1606161801.git.andreyknvl@google.com Signed-off-by: Andrey Konovalov <andreyknvl@google.com> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Reviewed-by: Marco Elver <elver@google.com> Reviewed-by: Alexander Potapenko <glider@google.com> Tested-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Cc: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Branislav Rankov <Branislav.Rankov@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Evgenii Stepanov <eugenis@google.com> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
35 lines
1.4 KiB
Makefile
35 lines
1.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
KASAN_SANITIZE := n
|
|
UBSAN_SANITIZE := n
|
|
KCOV_INSTRUMENT := n
|
|
|
|
# Disable ftrace to avoid recursion.
|
|
CFLAGS_REMOVE_common.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_generic.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_generic_report.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_init.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_quarantine.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_tags.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_tags_report.o = $(CC_FLAGS_FTRACE)
|
|
|
|
# Function splitter causes unnecessary splits in __asan_load1/__asan_store1
|
|
# see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63533
|
|
CC_FLAGS_KASAN_RUNTIME := $(call cc-option, -fno-conserve-stack)
|
|
CC_FLAGS_KASAN_RUNTIME += -fno-stack-protector
|
|
# Disable branch tracing to avoid recursion.
|
|
CC_FLAGS_KASAN_RUNTIME += -DDISABLE_BRANCH_PROFILING
|
|
|
|
CFLAGS_common.o := $(CC_FLAGS_KASAN_RUNTIME)
|
|
CFLAGS_generic.o := $(CC_FLAGS_KASAN_RUNTIME)
|
|
CFLAGS_generic_report.o := $(CC_FLAGS_KASAN_RUNTIME)
|
|
CFLAGS_init.o := $(CC_FLAGS_KASAN_RUNTIME)
|
|
CFLAGS_quarantine.o := $(CC_FLAGS_KASAN_RUNTIME)
|
|
CFLAGS_report.o := $(CC_FLAGS_KASAN_RUNTIME)
|
|
CFLAGS_tags.o := $(CC_FLAGS_KASAN_RUNTIME)
|
|
CFLAGS_tags_report.o := $(CC_FLAGS_KASAN_RUNTIME)
|
|
|
|
obj-$(CONFIG_KASAN) := common.o report.o
|
|
obj-$(CONFIG_KASAN_GENERIC) += init.o generic.o generic_report.o quarantine.o
|
|
obj-$(CONFIG_KASAN_SW_TAGS) += init.o tags.o tags_report.o
|