git: 38f90212c27f - stable/13 - cdefs: Make __nosanitizeaddress work for KASAN as well
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 01 Nov 2021 14:33:08 UTC
The branch stable/13 has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=38f90212c27fedab0257cd99f075b4860266046a
commit 38f90212c27fedab0257cd99f075b4860266046a
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2021-05-07 18:26:28 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2021-11-01 14:05:50 +0000
cdefs: Make __nosanitizeaddress work for KASAN as well
Add __nosanitizememory while I'm here.
Reviewed by: andrew, kib
Sponsored by: The FreeBSD Foundation
(cherry picked from commit cfad8bd24f038e4779e937f48b05511f2dd4a5a8)
---
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 30c462f6549b..dd11f4fb778d 100644
--- a/sys/sys/cdefs.h
+++ b/sys/sys/cdefs.h
@@ -859,12 +859,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