diff options
author | 2023-06-22 18:16:04 +0000 | |
---|---|---|
committer | 2023-06-28 11:46:58 -0500 | |
commit | 326a8d04f147e2bf393f6f9cdb74126ee6900607 (patch) | |
tree | cb06c1adce93f03efa282fc0084f0f731bc048d7 /scripts/generate_rust_analyzer.py | |
parent | cifs: prevent use-after-free by freeing the cfile later (diff) | |
download | wireguard-linux-326a8d04f147e2bf393f6f9cdb74126ee6900607.tar.xz wireguard-linux-326a8d04f147e2bf393f6f9cdb74126ee6900607.zip |
cifs: do all necessary checks for credits within or before locking
All the server credits and in-flight info is protected by req_lock.
Once the req_lock is held, and we've determined that we have enough
credits to continue, this lock cannot be dropped till we've made the
changes to credits and in-flight count.
However, we used to drop the lock in order to avoid deadlock with
the recent srv_lock. This could cause the checks already made to be
invalidated.
Fixed it by moving the server status check to before locking req_lock.
Fixes: d7d7a66aacd6 ("cifs: avoid use of global locks for high contention data")
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions