Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ea14115 authored by Patrick Daly's avatar Patrick Daly
Browse files

kasan: Kconfig: Add KASAN_SANITIZE_ALL



Allow enabling KASAN on a per-directory or per-file basis rather than
for the entire kernel.

Change-Id: I9a491d3ab0df4c42302a258b9edb3b78cf4e1db0
Signed-off-by: default avatarPatrick Daly <pdaly@codeaurora.org>
parent c952020e
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@ config KASAN
	  ~x3 performance slowdown.
	  For better error detection enable CONFIG_STACKTRACE,
	  and add slub_debug=U to boot cmdline.
	  See KASAN_SANITIZE_ALL for selectively compiling files and directories
	  with this compiler feature enabled.

config KASAN_SHADOW_OFFSET
	hex
@@ -47,6 +49,22 @@ config KASAN_INLINE

endchoice

config KASAN_SANITIZE_ALL
	bool "KASan: Enable Instrumentation for entire kernel"
	depends on KASAN
	default y
	help
	  Enable compilation with $(CFLAGS_KASAN) by default.
	  KASAN_SANITIZE := n - exclude all files in a directory
	  KASAN_SANITIZE_file_name.o := n - exclude a single file
	  Setting KASAN_SANITIZE_ALL to 'n' allows enabling kasan in
	  only certain files or directories.
	  KASAN_SANITIZE := y - include all files in a directory
	  KASAN_SANITIZE_file_name.o := y - include single file

	  KASAN_SANITIZE does not affect subdirectories.
	  KASAN_SANITIZE_file_name.o has priority over KASAN_SANITIZE.

config TEST_KASAN
	tristate "Module for testing kasan for bug detection"
	depends on m && KASAN
+1 −1
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ endif
#
ifeq ($(CONFIG_KASAN),y)
_c_flags += $(if $(patsubst n%,, \
		$(KASAN_SANITIZE_$(basetarget).o)$(KASAN_SANITIZE)y), \
		$(KASAN_SANITIZE_$(basetarget).o)$(KASAN_SANITIZE)$(CONFIG_KASAN_SANITIZE_ALL)), \
		$(CFLAGS_KASAN))
endif