1153486Sphk# SPDX-License-Identifier: GPL-2.0 2153486Sphk# 3153486Sphk# Makefile for KernelMemorySanitizer (KMSAN). 4153486Sphk# 5153486Sphk# 6153486Sphkobj-y := core.o instrumentation.o init.o hooks.o report.o shadow.o 7153486Sphk 8153486SphkKMSAN_SANITIZE := n 9153486SphkKCOV_INSTRUMENT := n 10153486SphkUBSAN_SANITIZE := n 11153486Sphk 12153486Sphk# Disable instrumentation of KMSAN runtime with other tools. 13153486SphkCC_FLAGS_KMSAN_RUNTIME := -fno-stack-protector 14153486SphkCC_FLAGS_KMSAN_RUNTIME += $(call cc-option,-fno-conserve-stack) 15153486SphkCC_FLAGS_KMSAN_RUNTIME += -DDISABLE_BRANCH_PROFILING 16153486Sphk 17153486Sphk# Disable ftrace to avoid recursion. 18153486SphkCFLAGS_REMOVE_core.o = $(CC_FLAGS_FTRACE) 19153486SphkCFLAGS_REMOVE_hooks.o = $(CC_FLAGS_FTRACE) 20153486SphkCFLAGS_REMOVE_init.o = $(CC_FLAGS_FTRACE) 21153486SphkCFLAGS_REMOVE_instrumentation.o = $(CC_FLAGS_FTRACE) 22153486SphkCFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE) 23153486SphkCFLAGS_REMOVE_shadow.o = $(CC_FLAGS_FTRACE) 24153486Sphk 25153486SphkCFLAGS_core.o := $(CC_FLAGS_KMSAN_RUNTIME) 26153486SphkCFLAGS_hooks.o := $(CC_FLAGS_KMSAN_RUNTIME) 27153486SphkCFLAGS_init.o := $(CC_FLAGS_KMSAN_RUNTIME) 28153486SphkCFLAGS_instrumentation.o := $(CC_FLAGS_KMSAN_RUNTIME) 29153486SphkCFLAGS_report.o := $(CC_FLAGS_KMSAN_RUNTIME) 30153486SphkCFLAGS_shadow.o := $(CC_FLAGS_KMSAN_RUNTIME) 31153486Sphk 32219343Spjdobj-$(CONFIG_KMSAN_KUNIT_TEST) += kmsan_test.o 33156208SphkKMSAN_SANITIZE_kmsan_test.o := y 34156208SphkCFLAGS_kmsan_test.o += $(call cc-disable-warning, uninitialized) 35153486Sphk