[PATCH RFC 27/37] arm64: mte: Reserve tag block for the zero page

From: Alexandru Elisei
Date: Wed Aug 23 2023 - 10:01:44 EST


On arm64, the zero page receives special treatment by having the tagged
flag set on MTE initialization, not when the page is mapped in a process
address space. Reserve the corresponding tag block when tag storage is
being activated.

Signed-off-by: Alexandru Elisei <alexandru.elisei@xxxxxxx>
---
arch/arm64/kernel/mte_tag_storage.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/kernel/mte_tag_storage.c b/arch/arm64/kernel/mte_tag_storage.c
index 7dff93492a7b..1ab875be5f9b 100644
--- a/arch/arm64/kernel/mte_tag_storage.c
+++ b/arch/arm64/kernel/mte_tag_storage.c
@@ -398,6 +398,8 @@ static int __init mte_tag_storage_activate_regions(void)
}
}

+ ret = reserve_metadata_storage(ZERO_PAGE(0), 0, GFP_HIGHUSER_MOVABLE);
+
return ret;
}
core_initcall(mte_tag_storage_activate_regions);
--
2.41.0