diff options
author | 2024-01-04 13:50:09 -0800 | |
---|---|---|
committer | 2024-01-05 10:35:57 +0100 | |
commit | 9866dc4314c6c858e451933f965d64532aec00a9 (patch) | |
tree | 96aeb09937340fe72fc765dc635f43498e9f63c8 /tools/perf/scripts/python/call-graph-from-postgresql.py | |
parent | usb: gadget: uvc: Fix use are free during STREAMOFF (diff) | |
download | wireguard-linux-9866dc4314c6c858e451933f965d64532aec00a9.tar.xz wireguard-linux-9866dc4314c6c858e451933f965d64532aec00a9.zip |
usb: gadget: uvc: Remove nested locking
When handling error status from uvcg_video_usb_req_queue,
uvc_video_complete currently calls uvcg_queue_cancel with
video->req_lock held. uvcg_queue_cancel internally locks
queue->irqlock, which nests queue->irqlock inside
video->req_lock. This isn't a functional bug at the
moment, but does open up possibilities for ABBA
deadlocks in the future.
This patch fixes the accidental nesting by dropping
video->req_lock before calling uvcg_queue_cancel.
Fixes: 6acba0345b68 ("usb:gadget:uvc Do not use worker thread to pump isoc usb requests")
Signed-off-by: Avichal Rakesh <arakesh@google.com>
Link: https://lore.kernel.org/r/20240104215009.2252452-2-arakesh@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions