Re: [PATCH v4] cifs: fix pagecache leak when do writepages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Steve French <smfrench@xxxxxxxxx> wrote:

> On Thu, Sep 11, 2025 at 9:11 PM Yang Erkun <yangerkun@xxxxxxxxxx> wrote:
> >
> > After commit f3dc1bdb6b0b("cifs: Fix writeback data corruption"), the
> > writepages for cifs will find all folio needed writepage with two phase.
> > The first folio will be found in cifs_writepages_begin, and the latter
> > various folios will be found in cifs_extend_writeback.
> >
> > All those will first get folio, and for normal case, once we set page
> > writeback and after do really write, we should put the reference, folio
> > found in cifs_extend_writeback do this with folio_batch_release. But the
> > folio found in cifs_writepages_begin never get the chance do it. And
> > every writepages call, we will leak a folio(found this problem while do
> > xfstests over cifs, the latter show that we will leak about 600M+ every
> > we run generic/074).
> >
> > echo 3 > /proc/sys/vm/drop_caches ; cat /proc/meminfo | grep file
> > Active(file):      34092 kB
> > Inactive(file):   176192 kB
> > ./check generic/074 (smb v1)
> > ...
> > generic/074 50s ...  53s
> > Ran: generic/074
> > Passed all 1 tests
> >
> > echo 3 > /proc/sys/vm/drop_caches ; cat /proc/meminfo | grep file
> > Active(file):      35036 kB
> > Inactive(file):   854708 kB
> >
> > Besides, the exist path seem never handle this folio correctly, fix it too
> > with this patch. All issue does not occur in the mainline because the
> > writepages path for CIFS was changed to netfs (commit 3ee1a1fc3981,
> > titled "cifs: Cut over to using netfslib") as part of a major refactor.
> > After discussing with the CIFS maintainer, we believe that this single
> > patch is safer for the stable branch [1].
> >
> > Steve said:
> > """
> > David and I discussed this today and this patch is MUCH safer than
> > backporting the later (6.10) netfs changes which would be much larger
> > and riskier to include (and presumably could affect code outside
> > cifs.ko as well where this patch is narrowly targeted).
> >
> > I am fine with this patch.from Yang for 6.6 stable
> > """
> >
> > David said:
> > """
> > Backporting the massive amount of changes to netfslib, fscache, cifs,
> > afs, 9p, ceph and nfs would kind of diminish the notion that this is a
> > stable kernel;-).
> > """
> >
> > Fixes: f3dc1bdb6b0b ("cifs: Fix writeback data corruption")
> > Cc: stable@xxxxxxxxxx # v6.6~v6.9
> > Link: https://lore.kernel.org/all/20250911030120.1076413-1-yangerkun@xxxxxxxxxx/ [1]
> > Signed-off-by: Yang Erkun <yangerkun@xxxxxxxxxx>

Reviewed-by: David Howells <dhowells@xxxxxxxxxx>






[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux