Linux kernel source tree
Go to file
Steve French a395726cf8 cifs: fix data corruption in read after invalidate
When invalidating a file as part of breaking a lease, the folios holding
the file data are disposed of, and truncate calls ->invalidate_folio()
to get rid of them rather than calling ->release_folio().  This means
that the netfs_inode::zero_point value didn't get updated in current
upstream code to reflect the point after which we can assume that the
server will only return zeroes, and future reads will then return blocks
of zeroes if the file got extended for any region beyond the old zero
point.

Fix this by updating zero_point before invalidating the inode in
cifs_revalidate_mapping().

Suggested-by: David Howells <dhowells@redhat.com>
Fixes: 3ee1a1fc39 ("cifs: Cut over to using netfslib")
Reviewed-by: David Howells <dhowell@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-05-15 17:22:59 -05:00
arch drm for 6.10-rc1 2024-05-15 09:43:42 -07:00
block SCSI misc on 20240514 2024-05-14 18:25:53 -07:00
certs This update includes the following changes: 2023-11-02 16:15:30 -10:00
crypto Hi, 2024-05-15 09:22:34 -07:00
Documentation sound updates for 6.10-rc1 2024-05-15 10:02:36 -07:00
drivers sound updates for 6.10-rc1 2024-05-15 10:02:36 -07:00
fs cifs: fix data corruption in read after invalidate 2024-05-15 17:22:59 -05:00
include four smb client fixes, including three important fixes to recent netfs regressions 2024-05-15 11:37:15 -07:00
init Scheduler changes for v6.10: 2024-05-13 17:18:51 -07:00
io_uring for-6.10/io_uring-20240511 2024-05-13 12:48:06 -07:00
ipc Networking changes for 6.10. 2024-05-14 19:42:24 -07:00
kernel Networking changes for 6.10. 2024-05-14 19:42:24 -07:00
lib Networking changes for 6.10. 2024-05-14 19:42:24 -07:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm for-6.10/io_uring-20240511 2024-05-13 12:48:06 -07:00
net Networking changes for 6.10. 2024-05-14 19:42:24 -07:00
rust Timers and timekeeping updates: 2024-05-14 09:27:40 -07:00
samples Networking changes for 6.10. 2024-05-14 19:42:24 -07:00
scripts Networking changes for 6.10. 2024-05-14 19:42:24 -07:00
security integrity-v6.10 2024-05-15 08:43:02 -07:00
sound ALSA: hda/realtek: Drop doubly quirk entry for 103c:8a2e 2024-05-13 12:54:46 +02:00
tools sound updates for 6.10-rc1 2024-05-15 10:02:36 -07:00
usr Kbuild updates for v6.8 2024-01-18 17:57:07 -08:00
virt KVM: Drop unused @may_block param from gfn_to_pfn_cache_invalidate_start() 2024-04-11 12:58:53 -07:00
.clang-format clang-format: Update with v6.7-rc4's for_each macro list 2023-12-08 23:54:38 +01:00
.cocciconfig
.editorconfig Add .editorconfig file for basic formatting 2023-12-28 16:22:47 +09:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: create a list of all built DTB files 2024-02-19 18:20:39 +09:00
.mailmap Another not-too-busy cycle for documentation, including: 2024-05-13 10:51:53 -07:00
.rustfmt.toml
COPYING
CREDITS MAINTAINERS: Drop Gustavo Pimentel as PCI DWC Maintainer 2024-03-27 13:41:02 -05:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig
MAINTAINERS sound updates for 6.10-rc1 2024-05-15 10:02:36 -07:00
Makefile Linux 6.9 2024-05-12 14:12:29 -07:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.