Re: [PATCHv3 1/2] mm/memory: Do not populate page table entries beyond i_size

From: Matthew Wilcox
Date: Mon Nov 03 2025 - 09:42:59 EST


On Mon, Nov 03, 2025 at 10:59:00AM +0000, Kiryl Shutsemau wrote:
> On Sat, Nov 01, 2025 at 05:00:47AM +0000, Matthew Wilcox wrote:
> > On Wed, Oct 29, 2025 at 02:45:52AM -0700, Hugh Dickins wrote:
> > > But you're giving yourself too hard a time of backporting with your
> > > 5.10 Fixee 01c70267053d for 1/2: the only filesystem which set the
> > > flag then was tmpfs, which you're now excepting. The flag got
> > > renamed later (in 5.16) and then in 5.17 at last there was another
> > > filesystem to set it. So, this 1/2 would be
> > >
> > > Fixes: 6795801366da ("xfs: Support large folios")
> >
> > I haven't been able to keep up with this patchset -- sorry.
> >
> > But this problem didn't exist until bs>PS support was added because we
> > would never add a folio to the page cache which extended beyond i_size
> > before. We'd shrink the folio order allocated in do_page_cache_ra()
> > (actually, we still do, but page_cache_ra_unbounded() rounds it up
> > again). So it doesn't fix that commit at all, but something far more
> > recent.
>
> What about truncate path? We could allocate within i_size at first, then
> truncate, if truncation failed to split the folio the mapping stays
> beyond i_size.

Is it worth backporting all this way to solve this niche case?