| Date | Tue, 28 Nov 2023 18:55:18 +0100 | Subject | Re: [PATCH RFC v2 19/27] mm: mprotect: Introduce PAGE_FAULT_ON_ACCESS for mprotect(PROT_MTE) | From | David Hildenbrand <> |
| |
On 19.11.23 17:57, Alexandru Elisei wrote: > To enable tagging on a memory range, userspace can use mprotect() with the > PROT_MTE access flag. Pages already mapped in the VMA don't have the > associated tag storage block reserved, so mark the PTEs as > PAGE_FAULT_ON_ACCESS to trigger a fault next time they are accessed, and > reserve the tag storage on the fault path.
That sounds alot like fake PROT_NONE. Would there be a way to unify hat handling and simply reuse pte_protnone()? For example, could we special case on VMA flags?
Like, don't do NUMA hinting in these special VMAs. Then, have something like:
if (pte_protnone(vmf->orig_pte)) return handle_pte_protnone(vmf);
In there, special case on the VMA flags.
I *suspect* that handle_page_missing_tag_storage() stole (sorry :P) some code from the prot_none handling path. At least the recovery path and writability handling looks like it better be located shared in handle_pte_protnone() as well.
That might take some magic out of this patch.
-- Cheers,
David / dhildenb
|