]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cifs: Fix undefined variables
authorDavid Howells <dhowells@redhat.com>
Mon, 18 May 2026 21:13:09 +0000 (22:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Jun 2026 15:54:48 +0000 (17:54 +0200)
[ Upstream commit 8cf8b5ae8e093132b0dce0a932af10c9ef077936 ]

Fix a couple of undefined variables introduced by the patch to fix tearing
on ->remote_i_size and ->zero_point.  For some reason, make W=1 with gcc
doesn't give undefined variable warnings (but clang does).

Fixes: 2c8f4742bb76 ("netfs: Fix potential for tearing in ->remote_i_size and ->zero_point")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202605031459.eX5UbO3K-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202605021450.ca5QGqLH-lkp@intel.com/
cc: Steve French <sfrench@samba.org>
cc: Paulo Alcantara <pc@manguebit.org>
cc: Matthew Wilcox <willy@infradead.org>
cc: Christian Brauner <brauner@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/cifsfs.c

index db6062dcbb3ec9be83f7ac20e946d0696d185af4..386b0d43f064fb7f7be3c895d2e10ffaa92cc72f 100644 (file)
@@ -1339,7 +1339,7 @@ static loff_t cifs_remap_file_range(struct file *src_file, loff_t off,
        struct cifsFileInfo *smb_file_src = src_file->private_data;
        struct cifsFileInfo *smb_file_target = dst_file->private_data;
        struct cifs_tcon *target_tcon, *src_tcon;
-       unsigned long long i_size, old_size, new_size, zero_point;
+       unsigned long long i_size, new_size;
        unsigned long long destend, fstart, fend;
        unsigned int xid;
        int rc;
@@ -1407,7 +1407,7 @@ static loff_t cifs_remap_file_range(struct file *src_file, loff_t off,
                goto unlock;
 
        spin_lock(&target_inode->i_lock);
-       if (fend > zero_point)
+       if (fend > target_cifsi->netfs._zero_point)
                netfs_write_zero_point(target_inode, fend + 1);
        i_size = target_inode->i_size;
        spin_unlock(&target_inode->i_lock);
@@ -1422,7 +1422,7 @@ static loff_t cifs_remap_file_range(struct file *src_file, loff_t off,
        if (target_tcon->ses->server->ops->duplicate_extents) {
                rc = target_tcon->ses->server->ops->duplicate_extents(xid,
                        smb_file_src, smb_file_target, off, len, destoff);
-               if (rc == 0 && new_size > old_size) {
+               if (rc == 0 && new_size > i_size) {
                        truncate_setsize(target_inode, new_size);
                        fscache_resize_cookie(cifs_inode_cookie(target_inode),
                                              new_size);