git: 5fdfe78b42d0 - stable/13 - conf: Add a KMSAN kernel option

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Wed, 03 Nov 2021 13:15:32 UTC
The branch stable/13 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=5fdfe78b42d0995e3b6849c43cbe94eeb3c308d4

commit 5fdfe78b42d0995e3b6849c43cbe94eeb3c308d4
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2021-08-10 19:51:03 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2021-11-02 22:17:58 +0000

    conf: Add a KMSAN kernel option
    
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 30d00832d7733e60f5e030d335c129bfa77dd77a)
---
 sys/conf/kern.pre.mk | 6 ++++++
 sys/conf/options     | 1 +
 2 files changed, 7 insertions(+)

diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk
index 8cab54d0763a..daba78135c79 100644
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -122,6 +122,12 @@ KCSAN_ENABLED!=	grep KCSAN opt_global.h || true ; echo
 SAN_CFLAGS+=	-fsanitize=thread
 .endif
 
+KMSAN_ENABLED!= grep KMSAN opt_global.h || true ; echo
+.if !empty(KMSAN_ENABLED)
+SAN_CFLAGS+=	-DSAN_NEEDS_INTERCEPTORS -DSAN_INTERCEPTOR_PREFIX=kmsan \
+		-fsanitize=kernel-memory
+.endif
+
 KUBSAN_ENABLED!=	grep KUBSAN opt_global.h || true ; echo
 .if !empty(KUBSAN_ENABLED)
 SAN_CFLAGS+=	-fsanitize=undefined
diff --git a/sys/conf/options b/sys/conf/options
index 774850158221..c7fbbec08a9f 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -232,6 +232,7 @@ COVERAGE	opt_global.h
 KASAN		opt_global.h
 KCOV
 KCSAN		opt_global.h
+KMSAN		opt_global.h
 KUBSAN		opt_global.h
 
 # POSIX kernel options