Re: [PATCH v2 16/16] mm: on remap assert that input range within the proposed VMA
Suren Baghdasaryan <[email protected]>
| Newsgroups | org.kernel.vger.target-devel,dev.linux.lists.linux-staging,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-mtd,org.kernel.vger.linux-doc,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-hyperv,org.kernel.vger.linux-kernel,org.kernel.vger.linux-scsi,org.kvack.linux-mm |
|---|---|
| Message-ID | <CAJuCfpFd-d-E24d5-G6=dSYDpyHkwS=aXzGd6+SzyMkgssyPAw@mail.gmail.com> |
On Mon, Mar 16, 2026 at 2:14 PM Lorenzo Stoakes (Oracle) <[email protected]> wrote: > > Now we have range_in_vma_desc(), update remap_pfn_range_prepare() to check > whether the input range in contained within the specified VMA, so we can s/in contained/is contained > fail at prepare time if an invalid range is specified. > > This covers the I/O remap mmap actions also which ultimately call into this > function, and other mmap action types either already span the full VMA or > check this already. > > Signed-off-by: Lorenzo Stoakes (Oracle) <[email protected]> Reviewed-by: Suren Baghdasaryan <[email protected]> > --- > mm/memory.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/memory.c b/mm/memory.c > index 849d5d9eeb83..de0dd17759e2 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -3142,6 +3142,9 @@ int remap_pfn_range_prepare(struct vm_area_desc *desc) > const bool is_cow = vma_desc_is_cow_mapping(desc); > int err; > > + if (!range_in_vma_desc(desc, start, end)) > + return -EFAULT; > + > err = get_remap_pgoff(is_cow, start, end, desc->start, desc->end, pfn, > &desc->pgoff); > if (err) > -- > 2.53.0 >