FAILED: patch "[PATCH] smb: client: require stable pages for signed connections" failed to apply to 6.18-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.18-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.18.y
git checkout FETCH_HEAD
git cherry-pick -x 53c5c2c1095eb21e214811fec16cd75f89d72ee2
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026100543-helper-putt-aa16@gregkh' --subject-prefix 'PATCH 6.18.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 53c5c2c1095eb21e214811fec16cd75f89d72ee2 Mon Sep 17 00:00:00 2001
From: Paulo Alcantara <[email protected]>
Date: Mon, 28 Sep 2026 10:23:00 -0300
Subject: [PATCH] smb: client: require stable pages for signed connections
When signing, cifs computes the SMB signature over the pagecache folios in place and then hands those same folios to the socket. If a buffered write mutates a folio while a write subrequest is still in flight, the signature no longer matches the data that follows it, the server rejects the write with STATUS_ACCESS_DENIED (-EACCES), and the error is latched in the mapping, so the next fsync()/fallocate() returns -EIO.
Mark the mapping for stable writes so netfs_perform_write() waits for writeback to complete before modifying an in-flight folio. This is only needed when the connection is signed.
fs/smb/client/inode.c +2 -0
@@ -88,6 +88,8 @@ static void cifs_set_ops(struct inode *inode)else inode->i_data.a_ops = &cifs_addr_ops;mapping_set_large_folios (inode->i_mapping); +if (tcon->ses->server->sign) +mapping_set_stable_writes (inode->i_mapping);break ;case S_IFDIR :if (IS_AUTOMOUNT (inode)) {