Commit 446e2148 authored by Steve French's avatar Steve French

cifs: protect srv_count with cifs_tcp_ses_lock

Updates to the srv_count field are protected elsewhere
with the cifs_tcp_ses_lock spinlock.  Add one missing place
(cifs_get_tcp_sesion).

CC: Shyam Prasad N <sprasad@microsoft.com>
Addresses-Coverity: 1494149 ("Data Race Condition")
Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 0226487a
...@@ -1452,8 +1452,10 @@ cifs_get_tcp_session(struct smb3_fs_context *ctx, ...@@ -1452,8 +1452,10 @@ cifs_get_tcp_session(struct smb3_fs_context *ctx,
tcp_ses->max_in_flight = 0; tcp_ses->max_in_flight = 0;
tcp_ses->credits = 1; tcp_ses->credits = 1;
if (primary_server) { if (primary_server) {
spin_lock(&cifs_tcp_ses_lock);
++primary_server->srv_count; ++primary_server->srv_count;
tcp_ses->primary_server = primary_server; tcp_ses->primary_server = primary_server;
spin_unlock(&cifs_tcp_ses_lock);
} }
init_waitqueue_head(&tcp_ses->response_q); init_waitqueue_head(&tcp_ses->response_q);
init_waitqueue_head(&tcp_ses->request_q); init_waitqueue_head(&tcp_ses->request_q);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment