__kasan_report() triggers ftrace and the preempt_count() in ftrace causes a call to __asan_load4(), breaking the circular dependency by making report as no trace for ftrace. Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx> --- mm/kasan/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/kasan/Makefile b/mm/kasan/Makefile index 08b43de2383b..2b2da731483c 100644 --- a/mm/kasan/Makefile +++ b/mm/kasan/Makefile @@ -3,12 +3,14 @@ KASAN_SANITIZE := n UBSAN_SANITIZE_common.o := n UBSAN_SANITIZE_generic.o := n UBSAN_SANITIZE_generic_report.o := n +UBSAN_SANITIZE_report.o := n UBSAN_SANITIZE_tags.o := n KCOV_INSTRUMENT := n CFLAGS_REMOVE_common.o = $(CC_FLAGS_FTRACE) CFLAGS_REMOVE_generic.o = $(CC_FLAGS_FTRACE) CFLAGS_REMOVE_generic_report.o = $(CC_FLAGS_FTRACE) +CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE) CFLAGS_REMOVE_tags.o = $(CC_FLAGS_FTRACE) # Function splitter causes unnecessary splits in __asan_load1/__asan_store1 @@ -17,6 +19,7 @@ CFLAGS_REMOVE_tags.o = $(CC_FLAGS_FTRACE) CFLAGS_common.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) CFLAGS_generic.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) CFLAGS_generic_report.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) +CFLAGS_report.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) CFLAGS_tags.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) obj-$(CONFIG_KASAN) := common.o init.o report.o -- 2.20.1