mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2026-01-07 04:11:42 +00:00
cifs: release lock earlier in dequeue_mid error case
In dequeue_mid we can log an error while holding a spinlock,
GlobalMid_Lock. Coverity notes that the error logging
also grabs a lock so it is cleaner (and a bit safer) to
release the GlobalMid_Lock before logging the warning.
Addresses-Coverity: 1507573 ("Thread deadlock")
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
bac35395d2
commit
9e7ffa77b2
@ -709,13 +709,14 @@ dequeue_mid(struct mid_q_entry *mid, bool malformed)
|
||||
* Trying to handle/dequeue a mid after the send_recv()
|
||||
* function has finished processing it is a bug.
|
||||
*/
|
||||
if (mid->mid_flags & MID_DELETED)
|
||||
if (mid->mid_flags & MID_DELETED) {
|
||||
spin_unlock(&GlobalMid_Lock);
|
||||
pr_warn_once("trying to dequeue a deleted mid\n");
|
||||
else {
|
||||
} else {
|
||||
list_del_init(&mid->qhead);
|
||||
mid->mid_flags |= MID_DELETED;
|
||||
spin_unlock(&GlobalMid_Lock);
|
||||
}
|
||||
spin_unlock(&GlobalMid_Lock);
|
||||
}
|
||||
|
||||
static unsigned int
|
||||
|
||||
Loading…
Reference in New Issue
Block a user