[PATCH v6 0/4] usb: gadget: uvc: stability fixes on STREAMOFF.

From: Avichal Rakesh
Date: Thu Oct 19 2023 - 14:53:30 EST


We have been seeing two main stability issues that uvc gadget driver
runs into when stopping streams:
1. Attempting to queue usb_requests to a disabled usb_ep
2. use-after-free issue for inflight usb_requests

The four patches below fix the two issues above. Patch 1/4 fixes the
first issue, and Patch 2/4 and 4/4 fix the second issue. Patch 3/4
is only there to make the diff in 4/4 cleaner.

Avichal Rakesh (4):
usb: gadget: uvc: prevent use of disabled endpoint
usb: gadget: uvc: Allocate uvc_requests one at a time
usb: gadget: uvc: move video disable logic to its own function
usb: gadget: uvc: Fix use-after-free for inflight usb_requests

drivers/usb/gadget/function/f_uvc.c | 11 +-
drivers/usb/gadget/function/f_uvc.h | 2 +-
drivers/usb/gadget/function/uvc.h | 6 +-
drivers/usb/gadget/function/uvc_v4l2.c | 12 +-
drivers/usb/gadget/function/uvc_video.c | 231 +++++++++++++++++-------
5 files changed, 189 insertions(+), 73 deletions(-)

--
2.42.0.758.gaed0368e0e-goog