Re: CVE-2026-80697: erofs: ensure valid f_path for page cache sharing

From: Gao Xiang

Date: Fri Aug 28 2026 - 07:31:20 EST


On Fri, Aug 28, 2026 at 12:59:00PM +0200, Greg KH wrote:
> On Fri, Aug 28, 2026 at 03:49:05PM +0800, Gao Xiang wrote:
> > Hi Greg,
> >
> > On Fri, Aug 28, 2026 at 08:53:20AM +0200, Greg Kroah-Hartman wrote:
> > > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxx>
> > >
> > > Description
> > > ===========
> > >
> > > In the Linux kernel, the following vulnerability has been resolved:
> > >
> > > erofs: ensure valid f_path for page cache sharing
> > >
> > > Previously, backing files for page cache sharing were set up with
> > > f_path left as NULL (only f_inode was valid). It worked, but a recent
> > > mincore fix relies on f_path.mnt and crashes (found by "erofs/028" on
> > > 7.2-rc4):
> > >
> > > BUG: kernel NULL pointer dereference, address: 0000000000000018
> > > #PF: supervisor read access in kernel mode
> > > #PF: error_code(0x0000) - not-present page
> > > PGD 0 P4D 0
> > > Oops: Oops: 0000 [#1] SMP PTI
> > > CPU: 3 UID: 0 PID: 675528 Comm: fincore Not tainted 7.2.0-rc4-00002-g[]-dirty #1 PREEMPT(lazy)
> > > Hardware name: Red Hat KVM, BIOS 1.16.0-4.al8 04/01/2014
> > > RIP: 0010:__do_sys_mincore+0xc0/0x2c0
> > > ...
> > >
> > > Specify valid paths using valid disconnected dentries together with
> > > erofs_ishare_mnt instead of leaving f_path empty, so they are more
> > > like real backing files in a pseudo filesystem and standard
> > > backing_file_open() can be used directly.
> > >
> > > The Linux kernel CVE team has assigned CVE-2026-80697 to this issue.
> > >
> > >
> > > Affected and fixed versions
> > > ===========================
> > >
> > > Issue introduced in 7.1.4 with commit 04ba248d02d9eaa3d9077b00a6134caa75fa3e90 and fixed in 7.1.8 with commit 3879657c4ffd81b9a42cf575fc6cb60201032587
> > > Issue introduced in 5.15.217 with commit 7368bec565bac3e536cd43579dbde1e715e6ba61
> > > Issue introduced in 6.1.184 with commit b2f3d94ea310bea9d36d53e9d9b3f45e86c1d893
> > > Issue introduced in 6.6.145 with commit 744b23aa430d52f5c8e4dbff7d71496d6643bed2
> > > Issue introduced in 6.12.96 with commit 8344bdf0629457e532797b42d9d2bbf2a2900bbf
> > > Issue introduced in 6.18.39 with commit 5c942ad7df75925ee166e7f0fb36892d8dde376b
> >
> > I don't think that is correct, although commit e187bc02f8fa
> > ("mm: do file ownership checks with the proper mount idmap") directly
> > causes this issue, the entire page cache sharing feature was introduced
> > in Linux 7.0.
>
> Yes, but it was backported to all of the above stable kernels as well,
> which is why they are listed that way.

I know e187bc02f8fa was backported to these kernels, but as I said,
this commit directly caused the issue (without e187bc02f8fa, there
is no panic at all, so "Fixes:" points to it), but the fact that
backporting e187bc02f8fa to older stable kernels doesn't mean the
fix ("erofs: ensure valid f_path for page cache sharing") need to
be backported to these old kernels too since the page cache sharing
feature won't exist in kernels below 7.0 in any way.

>
> > There is not any codebase below Linux 7.0 so it's possible to fix
> > 5.15/6.1/6.6/6.12/6.18 in any case. The affected versions are only
> > Linux 7.0+.
>
> Even though e187bc02f8fa ("mm: do file ownership checks with the proper
> mount idmap") was backported to those older trees?

Yes, it's just impossible to apply "erofs: ensure valid f_path for page
cache sharing" to stable kernels < 7.0 since the feature was introduced
by upstream commit 5ef3208e3be5 ("erofs: introduce the page cache share
feature") [1].

[1] https://lwn.net/Articles/1057769/#:~:text=The%20filesystem%20also%20shares%20page%2Dcache%20entries%20for%20identical%20files

Thanks,
Gao Xiang

>
> thanks,
>
> greg k-h