git: cfad8bd24f03 - main - cdefs: Make __nosanitizeaddress work for KASAN as well

Mark Johnston markj at FreeBSD.org
Fri May 7 18:33:41 UTC 2021


The branch main has been updated by markj:

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

commit cfad8bd24f038e4779e937f48b05511f2dd4a5a8
Author:     Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-05-07 18:26:28 +0000
Commit:     Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-05-07 18:31:08 +0000

    cdefs: Make __nosanitizeaddress work for KASAN as well
    
    Add __nosanitizememory while I'm here.
    
    Reviewed by:    andrew, kib
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D30126
---
 sys/sys/cdefs.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h
index f8e31c25bdb5..6c9d219a7885 100644
--- a/sys/sys/cdefs.h
+++ b/sys/sys/cdefs.h
@@ -873,12 +873,18 @@
 #define	__no_lock_analysis	__lock_annotate(no_thread_safety_analysis)
 
 /*
- * Function or variable should not be sanitized, i.e. by AddressSanitizer.
+ * Function or variable should not be sanitized, e.g., by AddressSanitizer.
  * GCC has the nosanitize attribute, but as a function attribute only, and
  * warns on use as a variable attribute.
  */
 #if __has_attribute(no_sanitize) && defined(__clang__)
+#ifdef _KERNEL
+#define __nosanitizeaddress	__attribute__((no_sanitize("kernel-address")))
+#define __nosanitizememory	__attribute__((no_sanitize("kernel-memory")))
+#else
 #define __nosanitizeaddress	__attribute__((no_sanitize("address")))
+#define __nosanitizememory	__attribute__((no_sanitize("memory")))
+#endif
 #define __nosanitizethread	__attribute__((no_sanitize("thread")))
 #else
 #define __nosanitizeaddress


More information about the dev-commits-src-main mailing list