diff options
| author | Patrick Daly <pdaly@codeaurora.org> | 2015-07-17 12:43:10 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:10:48 -0700 |
| commit | 703e9c00d7ccf488a721522e56ec6c57182f8cfd (patch) | |
| tree | 0dbf22db865454946da920ab5d8ad9769cc156f1 | |
| parent | c836a400dd1e532cf972bb98d3f9c376850d1823 (diff) | |
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: Patrick Daly <pdaly@codeaurora.org>
[satyap: trivial merge conflict resolution]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
| -rw-r--r-- | lib/Kconfig.kasan | 18 | ||||
| -rw-r--r-- | scripts/Makefile.lib | 2 |
2 files changed, 19 insertions, 1 deletions
diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan index 0fee5acd5aa0..e6ba5447672f 100644 --- a/lib/Kconfig.kasan +++ b/lib/Kconfig.kasan @@ -16,6 +16,8 @@ config KASAN This feature consumes about 1/8 of available memory and brings about ~x3 performance slowdown. For better error detection enable CONFIG_STACKTRACE. + See KASAN_SANITIZE_ALL for selectively compiling files and directories + with this compiler feature enabled. choice prompt "Instrumentation type" @@ -42,6 +44,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 diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 550fb793a015..861a2acd8cba 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -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 |
