> We have now made it such that every driver which sets VMA_IO_BIT marks it > as kernel-owned. > > However, vma_flags_is_kernel_owned() currently checks for VMA_IO_BIT. This > was a product of drivers previously marking a range as kernel-owned by > setting VMA_IO_BIT alone. > > Fix this by removing the VMA_IO_BIT check in vma_flags_is_kernel_owned(), > and update mmap_validate_vma_flags() to use vma_flags_is_kernel_owned() > 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_kernel_owned(). > > Now that the predicate means precisely VMA_PFNMAP_BIT or VMA_MIXEDMAP_BIT, > [ ... ] > 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/20260914-b4-mmap-prepare-vma-flag-sanify-v2-0-7d9781ed5...@kernel.org?part=26
