Merge tag '6.4-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 7 May 2023 17:46:21 +0000 (10:46 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 7 May 2023 17:46:21 +0000 (10:46 -0700)
Pull cifs fixes from Steve French:
 "smb3 client fixes, mostly DFS or reconnect related:

   - Two DFS connection sharing fixes

   - DFS refresh fix

   - Reconnect fix

   - Two potential use after free fixes

   - Also print prefix patch in mount debug msg

   - Two small cleanup fixes"

* tag '6.4-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
  cifs: Remove unneeded semicolon
  cifs: fix sharing of DFS connections
  cifs: avoid potential races when handling multiple dfs tcons
  cifs: protect access of TCP_Server_Info::{origin,leaf}_fullpath
  cifs: fix potential race when tree connecting ipc
  cifs: fix potential use-after-free bugs in TCP_Server_Info::hostname
  cifs: print smb3_fs_context::source when mounting
  cifs: protect session status check in smb2_reconnect()
  SMB3.1.1: correct definition for app_instance_id create contexts

1  2 
fs/ksmbd/smb2pdu.h

diff --combined fs/ksmbd/smb2pdu.h
index fd3294f2a893d9898ef07b1062a2bbd6388b4ba6,aca9cfc73caa7f01eaa766d765141b3679e477a7..2767c08a534a3b148842c8c734f13d47b3f688ef
@@@ -61,8 -61,6 +61,8 @@@ struct preauth_integrity_info 
  #define SMB2_SESSION_IN_PROGRESS      BIT(0)
  #define SMB2_SESSION_VALID            BIT(1)
  
 +#define SMB2_SESSION_TIMEOUT          (10 * HZ)
 +
  struct create_durable_req_v2 {
        struct create_context ccontext;
        __u8   Name[8];
@@@ -83,22 -81,6 +83,6 @@@ struct create_durable_reconn_v2_req 
        __le32 Flags;
  } __packed;
  
- struct create_app_inst_id {
-       struct create_context ccontext;
-       __u8 Name[8];
-       __u8 Reserved[8];
-       __u8 AppInstanceId[16];
- } __packed;
- struct create_app_inst_id_vers {
-       struct create_context ccontext;
-       __u8 Name[8];
-       __u8 Reserved[2];
-       __u8 Padding[4];
-       __le64 AppInstanceVersionHigh;
-       __le64 AppInstanceVersionLow;
- } __packed;
  struct create_alloc_size_req {
        struct create_context ccontext;
        __u8   Name[8];