Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag '6.1-rc6-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6

Pull cifs fixes from Steve French:
"Two small cifs/smb3 client fixes:

- an unlock missing in an error path in copychunk_range found by
xfstest 476

- a fix for a use after free in a debug code path"

* tag '6.1-rc6-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
cifs: fix missing unlock in cifs_file_copychunk_range()
cifs: Use after free in debug code

+5 -3
+3 -1
fs/cifs/cifsfs.c
··· 1281 1281 rc = filemap_write_and_wait_range(src_inode->i_mapping, off, 1282 1282 off + len - 1); 1283 1283 if (rc) 1284 - goto out; 1284 + goto unlock; 1285 1285 1286 1286 /* should we flush first and last page first */ 1287 1287 truncate_inode_pages(&target_inode->i_data, 0); ··· 1297 1297 * that target is updated on the server 1298 1298 */ 1299 1299 CIFS_I(target_inode)->time = 0; 1300 + 1301 + unlock: 1300 1302 /* although unlocking in the reverse order from locking is not 1301 1303 * strictly necessary here it is a little cleaner to be consistent 1302 1304 */
+2 -2
fs/cifs/sess.c
··· 302 302 303 303 /* now drop the ref to the current iface */ 304 304 if (old_iface && iface) { 305 - kref_put(&old_iface->refcount, release_iface); 306 305 cifs_dbg(FYI, "replacing iface: %pIS with %pIS\n", 307 306 &old_iface->sockaddr, 308 307 &iface->sockaddr); 309 - } else if (old_iface) { 310 308 kref_put(&old_iface->refcount, release_iface); 309 + } else if (old_iface) { 311 310 cifs_dbg(FYI, "releasing ref to iface: %pIS\n", 312 311 &old_iface->sockaddr); 312 + kref_put(&old_iface->refcount, release_iface); 313 313 } else { 314 314 WARN_ON(!iface); 315 315 cifs_dbg(FYI, "adding new iface: %pIS\n", &iface->sockaddr);