> We have now made it such that every driver which sets VMA_IO_BIT marks it > as not mm-managed. > > However, vma_flags_is_mm_managed() currently treats VMA_IO_BIT as > disqualifying. This was a product of drivers previously marking a range as > not mm-managed by > setting VMA_IO_BIT alone. > > Fix this by removing the VMA_IO_BIT check in vma_flags_is_mm_managed(), > and update mmap_validate_vma_flags() to use vma_flags_is_mm_managed() > rather than open-coding the VMA_PFNMAP_BIT, VMA_MIXEDMAP_BIT check. > > This change means that vma[_flags]_can_merge() doesn't check VMA_IO_BIT any > longer (which is now redundant) as it calls vma_flags_is_mm_managed(). > > [ ... ] > Finally, update the VMA userland merge 'special' flag tests to no longer > assert that VMA_IO_BIT prevents merge as VMA_PFNMAP_BIT, VMA_MIXEDMAP_BIT > now suffices. > > Signed-off-by: Lorenzo Stoakes (ARM) <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review ยท https://sashiko.dev/#/patchset/20261003-b4-mmap-prepare-vma-flag-sanify-v4-0-a1f052500...@kernel.org?part=25
