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