> Replace the deprecated .mmap hook with its replacement .mmap_prepare. As > part of this change, additionally take the approach of mapping pages upon > mmap rather than providing a fault handler. > > The page span cannot be mutated when an mmap mapping is in place, so this > is safe to do in advance (the MON_IOCT_RING_SIZE ioctl operation exits > -EBUSY if it's attempted, gated by the rp->mmap_active reference count). > > Utilise the newly introduced mmap_action_map_discontig_kernel_pages() to do > this, which allows for iteration over pages in mon_bin_discontig_get(). > > mon_bin_discontig_init() increments the rp->mmap_active reference count to > stabilise page spans. Should an error arise the core unmaps the VMA and > mon_bin_vma_close() drops the reference again. > > [ ... ] > page discarded with MADV_DONTNEED is not repopulated and a subsequent > access raises SIGBUS, as with other pre-populated kernel mappings. > > Acked-by: Greg Kroah-Hartman <[email protected]> > 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=10
