On Fri, Feb 27, 2026 at 09:08:47PM +0100, David Hildenbrand (Arm) wrote:
There is demand for also zapping page table entries by drivers in
VM_MIXEDMAP VMAs[1].
Nothing really speaks against supporting VM_MIXEDMAP for driver use. We
just don't want arbitrary drivers to zap in ordinary (non-special) VMAs.
[1] https://lore.kernel.org/r/aYSKyr7StGpGKNqW@google.com (local)
Dude, you have to start your indices with 0 what kind of programmer are
you? ;)
Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>
Agreed that there's no reason not to allow this, so LGTM and:
Reviewed-by: Lorenzo Stoakes (Oracle) <ljs@kernel.org>
Thanks for this series overall, very nice cleanup and I was frustra^Whappy
to see that there was nothing major or really of note to comment on here, a
rare occurrence in review :)
quoted hunk ↗ jump to hunk
---
mm/memory.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/memory.c b/mm/memory.c
index f3b7b7e16138..3fe30dc2f179 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2239,13 +2239,13 @@ void zap_vma_range(struct vm_area_struct *vma, unsigned long address,
* @size: number of bytes to zap
*
* This function does nothing when the provided address range is not fully
- * contained in @vma, or when the @vma is not VM_PFNMAP.
+ * contained in @vma, or when the @vma is not VM_PFNMAP or VM_MIXEDMAP.
*/
void zap_special_vma_range(struct vm_area_struct *vma, unsigned long address,
unsigned long size)
{
if (!range_in_vma(vma, address, address + size) ||
- !(vma->vm_flags & VM_PFNMAP))
+ !(vma->vm_flags & (VM_PFNMAP | VM_MIXEDMAP)))
return;
zap_vma_range(vma, address, size);
--2.43.0
Cheers, Lorenzo