Page MenuHomeFreeBSD

D43154.diff
No OneTemporary

D43154.diff

diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -8175,6 +8175,12 @@
else if (i == pmap_l0_index(KASAN_MIN_ADDRESS))
sbuf_printf(sb, "\nKASAN shadow map:\n");
#endif
+#ifdef KMSAN
+ else if (i == pmap_l0_index(KMSAN_SHAD_MIN_ADDRESS))
+ sbuf_printf(sb, "\nKMSAN shadow map:\n");
+ else if (i == pmap_l0_index(KMSAN_ORIG_MIN_ADDRESS))
+ sbuf_printf(sb, "\nKMSAN origin map:\n");
+#endif
l0e = kernel_pmap->pm_l0[i];
if ((l0e & ATTR_DESCR_VALID) == 0) {
diff --git a/sys/arm64/include/vmparam.h b/sys/arm64/include/vmparam.h
--- a/sys/arm64/include/vmparam.h
+++ b/sys/arm64/include/vmparam.h
@@ -131,6 +131,12 @@
* 0xfffffeffffffffff End of DMAP
* 0xffffa00000000000 Start of DMAP
*
+ * 0xffff027fffffffff End of KMSAN origin map
+ * 0xffff020000000000 Start of KMSAN origin map
+ *
+ * 0xffff017fffffffff End of KMSAN shadow map
+ * 0xffff010000000000 Start of KMSAN shadow map
+ *
* 0xffff009fffffffff End of KASAN shadow map
* 0xffff008000000000 Start of KASAN shadow map
*
@@ -167,6 +173,14 @@
#define KASAN_MIN_ADDRESS (0xffff008000000000UL)
#define KASAN_MAX_ADDRESS (0xffff00a000000000UL)
+/* 512GiB KMSAN shadow map */
+#define KMSAN_SHAD_MIN_ADDRESS (0xffff010000000000UL)
+#define KMSAN_SHAD_MAX_ADDRESS (0xffff018000000000UL)
+
+/* 512GiB KMSAN origin map */
+#define KMSAN_ORIG_MIN_ADDRESS (0xffff020000000000UL)
+#define KMSAN_ORIG_MAX_ADDRESS (0xffff028000000000UL)
+
/* The address bits that hold a pointer authentication code */
#define PAC_ADDR_MASK (0xff7f000000000000UL)

File Metadata

Mime Type
text/plain
Expires
Fri, Jan 10, 9:00 PM (15 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15746543
Default Alt Text
D43154.diff (1 KB)

Event Timeline