]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cifs: drop the incorrect assertion in cifs_swap_rw()
authorBarry Song <v-songbaohua@oppo.com>
Tue, 18 Jun 2024 07:22:58 +0000 (19:22 +1200)
committerSteve French <stfrench@microsoft.com>
Wed, 19 Jun 2024 03:47:25 +0000 (22:47 -0500)
Since commit 2282679fb20b ("mm: submit multipage write for SWP_FS_OPS
swap-space"), we can plug multiple pages then unplug them all together.
That means iov_iter_count(iter) could be way bigger than PAGE_SIZE, it
actually equals the size of iov_iter_npages(iter, INT_MAX).

Note this issue has nothing to do with large folios as we don't support
THP_SWPOUT to non-block devices.

Fixes: 2282679fb20b ("mm: submit multipage write for SWP_FS_OPS swap-space")
Reported-by: Christoph Hellwig <hch@lst.de>
Closes: https://lore.kernel.org/linux-mm/20240614100329.1203579-1-hch@lst.de/
Cc: NeilBrown <neilb@suse.de>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Steve French <sfrench@samba.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Chuanhua Han <hanchuanhua@oppo.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Chris Li <chrisl@kernel.org>
Cc: "Huang, Ying" <ying.huang@intel.com>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: Paulo Alcantara <pc@manguebit.com>
Cc: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Cc: Shyam Prasad N <sprasad@microsoft.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Bharath SM <bharathsm@microsoft.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Barry Song <v-songbaohua@oppo.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/file.c

index 9d5c2440abfc8fa61b09274a271ca11670bce36d..1e269e0bc75b352027e83694e73c2a4f76a69eeb 100644 (file)
@@ -3200,8 +3200,6 @@ static int cifs_swap_rw(struct kiocb *iocb, struct iov_iter *iter)
 {
        ssize_t ret;
 
-       WARN_ON_ONCE(iov_iter_count(iter) != PAGE_SIZE);
-
        if (iov_iter_rw(iter) == READ)
                ret = netfs_unbuffered_read_iter_locked(iocb, iter);
        else