mirror of
https://github.com/apache/nuttx.git
synced 2026-05-30 21:36:28 +08:00
mm/kasan: Add MM_KASAN_ALL option
so the user could disable the full image instrumentation, but enable the instrumentation by files or directories. Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
committed by
Petro Karashchenko
parent
f3f1dde39b
commit
f1355680ca
@@ -79,7 +79,7 @@ ifeq ($(CONFIG_ARCH_COVERAGE),y)
|
|||||||
ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage
|
ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ endif
|
|||||||
|
|
||||||
# Architecture flags
|
# Architecture flags
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ else
|
|||||||
ARCHCPUFLAGS += -mfloat-abi=soft
|
ARCHCPUFLAGS += -mfloat-abi=soft
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ else
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ ifeq ($(CONFIG_ENDIAN_BIG),y)
|
|||||||
ARCHCPUFLAGS += -mbig-endian
|
ARCHCPUFLAGS += -mbig-endian
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ else
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ endif
|
|||||||
|
|
||||||
# Architecture flags
|
# Architecture flags
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ ifeq ($(CONFIG_RISCV_TOOLCHAIN),GNU_RVG)
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ endif
|
|||||||
|
|
||||||
ARCHCPUFLAGS = -mlongcalls
|
ARCHCPUFLAGS = -mlongcalls
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ endif
|
|||||||
|
|
||||||
ARCHCPUFLAGS = -mlongcalls
|
ARCHCPUFLAGS = -mlongcalls
|
||||||
|
|
||||||
ifeq ($(CONFIG_MM_KASAN),y)
|
ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ endif
|
|||||||
|
|
||||||
ifeq ($(CONFIG_SIM_ASAN),y)
|
ifeq ($(CONFIG_SIM_ASAN),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=address
|
ARCHOPTIMIZATION += -fsanitize=address
|
||||||
else ifeq ($(CONFIG_MM_KASAN),y)
|
else ifeq ($(CONFIG_MM_KASAN_ALL),y)
|
||||||
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
ARCHOPTIMIZATION += -fsanitize=kernel-address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
+11
@@ -191,6 +191,17 @@ config MM_KASAN
|
|||||||
bugs in native code. After turn on this option, Please
|
bugs in native code. After turn on this option, Please
|
||||||
add -fsanitize=kernel-address to CFLAGS/CXXFLAGS too.
|
add -fsanitize=kernel-address to CFLAGS/CXXFLAGS too.
|
||||||
|
|
||||||
|
config MM_KASAN_ALL
|
||||||
|
bool "Enable KASan for the entire image"
|
||||||
|
depends on MM_KASAN
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
This option activates address sanitizer for the entire image.
|
||||||
|
If you don't enable this option, you have to explicitly specify
|
||||||
|
"-fsanitize=kernel-address" for the files/directories you want
|
||||||
|
to check. Enabling this option will get image size increased
|
||||||
|
and performance decreased significantly.
|
||||||
|
|
||||||
config MM_UBSAN
|
config MM_UBSAN
|
||||||
bool "Undefined Behavior Sanitizer"
|
bool "Undefined Behavior Sanitizer"
|
||||||
default n
|
default n
|
||||||
|
|||||||
Reference in New Issue
Block a user