CVE-2026-64158: netfs: Fix write streaming disablement if fd open O_RDWR

Greg Kroah-Hartman <[email protected]>
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026071933-CVE-2026-64158-a366@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

netfs: Fix write streaming disablement if fd open O_RDWR

In netfs_perform_write(), "write streaming" (the caching of dirty data in
dirty but !uptodate folios) is performed to avoid the need to read data
that is just going to get immediately overwritten.  However, this is/will
be disabled in three circumstances: if the fd is open O_RDWR, if fscache is
in use (as we need to round out the blocks for DIO) or if content
encryption is enabled (again for rounding out purposes).

The idea behind disabling it if the fd is open O_RDWR is that we'd need to
flush the write-streaming page before we could read the data, particularly
through mmap.  But netfs now fills in the gaps if ->read_folio() is called
on the page, so that is unnecessary.  Further, this doesn't actually work
if a separate fd is open for reading.

Fix this by removing the check for O_RDWR, thereby allowing streaming
writes even when we might read.

This caused a number of problems with the generic/522 xfstest, but those
are now fixed.

The Linux kernel CVE team has assigned CVE-2026-64158 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 6.8 with commit c38f4e96e605f17990e871214e6ea1496bc4e65f and fixed in 6.12.92 with commit 9adf8e47d73d5e3c2fe77dea649dcde350ccd65c
	Issue introduced in 6.8 with commit c38f4e96e605f17990e871214e6ea1496bc4e65f and fixed in 6.18.34 with commit 616578e40dcba3f94810d841c5a52b7e3bc8ede7
	Issue introduced in 6.8 with commit c38f4e96e605f17990e871214e6ea1496bc4e65f and fixed in 7.0.11 with commit 7a9fa5b020a3a40f8291a71cd44c08d931da430d
	Issue introduced in 6.8 with commit c38f4e96e605f17990e871214e6ea1496bc4e65f and fixed in 7.1 with commit 70a7b9193bbbfceaab5974de66834c64ccc875dd

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64158
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	fs/netfs/buffered_write.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/9adf8e47d73d5e3c2fe77dea649dcde350ccd65c
	https://git.kernel.org/stable/c/616578e40dcba3f94810d841c5a52b7e3bc8ede7
	https://git.kernel.org/stable/c/7a9fa5b020a3a40f8291a71cd44c08d931da430d
	https://git.kernel.org/stable/c/70a7b9193bbbfceaab5974de66834c64ccc875dd
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.