aboutsummaryrefslogtreecommitdiff
path: root/libc/platform/bionic/mte.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/platform/bionic/mte.h')
-rw-r--r--libc/platform/bionic/mte.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libc/platform/bionic/mte.h b/libc/platform/bionic/mte.h
index b11b1a678..73cd821b6 100644
--- a/libc/platform/bionic/mte.h
+++ b/libc/platform/bionic/mte.h
@@ -29,6 +29,13 @@
#pragma once
#include <sys/auxv.h>
+#include <sys/prctl.h>
+
+// Note: Most PR_MTE_* constants come from the upstream kernel. This tag mask
+// allows for the hardware to provision any nonzero tag. Zero tags are reserved
+// for scudo to use for the chunk headers in order to prevent linear heap
+// overflow/underflow.
+#define PR_MTE_TAG_SET_NONZERO (0xfffeUL << PR_MTE_TAG_SHIFT)
inline bool mte_supported() {
#if defined(__aarch64__)