On Thu Sep 17, 2026 at 12:22 PM EDT, Lorenzo Stoakes (ARM) wrote: > When populating a VMA range via the aptly named populate_vma_page_range() > an unreadable VMA will always eventually fail with -EFAULT. > > That a VMA is accessible is always checked, however VMA_MAYREAD_BIT is not. > > All user mappings always have VMA_MAYREAD_BIT set, so this check only > impacts kernel mappings. > > It is implemented specifically to disallow population of uprobes XOL > mappings which are exec-only. > > A nasty interaction with these mappings may occur if they are mlocked, so > actively disallow this early. > > This allows a subsequent commit to remove the VM_IO check in > __mm_populate() which otherwise requires non-MMIO mappings to be wrongly > flagged simply as a workaround. > > Signed-off-by: Lorenzo Stoakes (ARM) <[email protected]> > --- > mm/gup.c | 4 ++++ > 1 file changed, 4 insertions(+) >
Acked-by: Zi Yan <[email protected]> -- Best Regards, Yan, Zi
