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.9-rc5-cifs-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:
"Three smb3 client fixes, all also for stable:

- two small locking fixes spotted by Coverity

- FILE_ALL_INFO and network_open_info packing fix"

* tag '6.9-rc5-cifs-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
smb3: fix lock ordering potential deadlock in cifs_sync_mid_result
smb3: missing lock when picking channel
smb: client: Fix struct_group() usage in __packed structs

+9 -4
+2 -2
fs/smb/client/cifspdu.h
··· 882 882 __u8 OplockLevel; 883 883 __u16 Fid; 884 884 __le32 CreateAction; 885 - struct_group(common_attributes, 885 + struct_group_attr(common_attributes, __packed, 886 886 __le64 CreationTime; 887 887 __le64 LastAccessTime; 888 888 __le64 LastWriteTime; ··· 2266 2266 /* QueryFileInfo/QueryPathinfo (also for SetPath/SetFile) data buffer formats */ 2267 2267 /******************************************************************************/ 2268 2268 typedef struct { /* data block encoding of response to level 263 QPathInfo */ 2269 - struct_group(common_attributes, 2269 + struct_group_attr(common_attributes, __packed, 2270 2270 __le64 CreationTime; 2271 2271 __le64 LastAccessTime; 2272 2272 __le64 LastWriteTime;
+1 -1
fs/smb/client/smb2pdu.h
··· 320 320 } __packed; 321 321 322 322 struct smb2_file_network_open_info { 323 - struct_group(network_open_info, 323 + struct_group_attr(network_open_info, __packed, 324 324 __le64 CreationTime; 325 325 __le64 LastAccessTime; 326 326 __le64 LastWriteTime;
+6 -1
fs/smb/client/transport.c
··· 909 909 list_del_init(&mid->qhead); 910 910 mid->mid_flags |= MID_DELETED; 911 911 } 912 + spin_unlock(&server->mid_lock); 912 913 cifs_server_dbg(VFS, "%s: invalid mid state mid=%llu state=%d\n", 913 914 __func__, mid->mid, mid->mid_state); 914 915 rc = -EIO; 916 + goto sync_mid_done; 915 917 } 916 918 spin_unlock(&server->mid_lock); 917 919 920 + sync_mid_done: 918 921 release_mid(mid); 919 922 return rc; 920 923 } ··· 1060 1057 index = (uint)atomic_inc_return(&ses->chan_seq); 1061 1058 index %= ses->chan_count; 1062 1059 } 1060 + 1061 + server = ses->chans[index].server; 1063 1062 spin_unlock(&ses->chan_lock); 1064 1063 1065 - return ses->chans[index].server; 1064 + return server; 1066 1065 } 1067 1066 1068 1067 int