summaryrefslogtreecommitdiff
path: root/fs/smb/client/ioctl.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-23 14:29:17 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-23 14:33:26 +0300
commit0d31ea587709216d88183fe4ca0c8aba5e0205b8 (patch)
treed53e955f7bf1511b3a5f70448285b32f0ffbaa0d /fs/smb/client/ioctl.c
parent684e9f5f97eb4b7831298ffad140d5c1d426ff27 (diff)
parented30a4a51bb196781c8058073ea720133a65596f (diff)
downloadlinux-0d31ea587709216d88183fe4ca0c8aba5e0205b8.tar.xz
Merge 6.9-rc5 into usb-next
We need the usb/thunderbolt fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/smb/client/ioctl.c')
-rw-r--r--fs/smb/client/ioctl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/smb/client/ioctl.c b/fs/smb/client/ioctl.c
index c012dfdba80d..855ac5a62edf 100644
--- a/fs/smb/client/ioctl.c
+++ b/fs/smb/client/ioctl.c
@@ -247,7 +247,9 @@ static int cifs_dump_full_key(struct cifs_tcon *tcon, struct smb3_full_key_debug
spin_lock(&cifs_tcp_ses_lock);
list_for_each_entry(server_it, &cifs_tcp_ses_list, tcp_ses_list) {
list_for_each_entry(ses_it, &server_it->smb_ses_list, smb_ses_list) {
- if (ses_it->Suid == out.session_id) {
+ spin_lock(&ses_it->ses_lock);
+ if (ses_it->ses_status != SES_EXITING &&
+ ses_it->Suid == out.session_id) {
ses = ses_it;
/*
* since we are using the session outside the crit
@@ -255,9 +257,11 @@ static int cifs_dump_full_key(struct cifs_tcon *tcon, struct smb3_full_key_debug
* so increment its refcount
*/
cifs_smb_ses_inc_refcount(ses);
+ spin_unlock(&ses_it->ses_lock);
found = true;
goto search_end;
}
+ spin_unlock(&ses_it->ses_lock);
}
}
search_end: