Loading fs/cifs/cifsglob.h +21 −0 Original line number Diff line number Diff line Loading @@ -841,6 +841,13 @@ static inline void cifs_set_net_ns(struct TCP_Server_Info *srv, struct net *net) #endif struct cifs_server_iface { size_t speed; unsigned int rdma_capable : 1; unsigned int rss_capable : 1; struct sockaddr_storage sockaddr; }; /* * Session structure. One of these for each uid session with a particular host */ Loading Loading @@ -878,6 +885,20 @@ struct cifs_ses { #ifdef CONFIG_CIFS_SMB311 __u8 preauth_sha_hash[SMB2_PREAUTH_HASH_SIZE]; #endif /* 3.1.1 */ /* * Network interfaces available on the server this session is * connected to. * * Other channels can be opened by connecting and binding this * session to interfaces from this list. * * iface_lock should be taken when accessing any of these fields */ spinlock_t iface_lock; struct cifs_server_iface *iface_list; size_t iface_count; unsigned long iface_last_update; /* jiffies */ }; static inline bool Loading fs/cifs/misc.c +2 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ sesInfoAlloc(void) INIT_LIST_HEAD(&ret_buf->smb_ses_list); INIT_LIST_HEAD(&ret_buf->tcon_list); mutex_init(&ret_buf->session_mutex); spin_lock_init(&ret_buf->iface_lock); } return ret_buf; } Loading @@ -102,6 +103,7 @@ sesInfoFree(struct cifs_ses *buf_to_free) kfree(buf_to_free->user_name); kfree(buf_to_free->domainName); kzfree(buf_to_free->auth_key.response); kfree(buf_to_free->iface_list); kzfree(buf_to_free); } Loading Loading
fs/cifs/cifsglob.h +21 −0 Original line number Diff line number Diff line Loading @@ -841,6 +841,13 @@ static inline void cifs_set_net_ns(struct TCP_Server_Info *srv, struct net *net) #endif struct cifs_server_iface { size_t speed; unsigned int rdma_capable : 1; unsigned int rss_capable : 1; struct sockaddr_storage sockaddr; }; /* * Session structure. One of these for each uid session with a particular host */ Loading Loading @@ -878,6 +885,20 @@ struct cifs_ses { #ifdef CONFIG_CIFS_SMB311 __u8 preauth_sha_hash[SMB2_PREAUTH_HASH_SIZE]; #endif /* 3.1.1 */ /* * Network interfaces available on the server this session is * connected to. * * Other channels can be opened by connecting and binding this * session to interfaces from this list. * * iface_lock should be taken when accessing any of these fields */ spinlock_t iface_lock; struct cifs_server_iface *iface_list; size_t iface_count; unsigned long iface_last_update; /* jiffies */ }; static inline bool Loading
fs/cifs/misc.c +2 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ sesInfoAlloc(void) INIT_LIST_HEAD(&ret_buf->smb_ses_list); INIT_LIST_HEAD(&ret_buf->tcon_list); mutex_init(&ret_buf->session_mutex); spin_lock_init(&ret_buf->iface_lock); } return ret_buf; } Loading @@ -102,6 +103,7 @@ sesInfoFree(struct cifs_ses *buf_to_free) kfree(buf_to_free->user_name); kfree(buf_to_free->domainName); kzfree(buf_to_free->auth_key.response); kfree(buf_to_free->iface_list); kzfree(buf_to_free); } Loading