On Mon, Jul 29, 2019 at 07:13:38PM +0530, Saranya Gopal wrote:
> From: Felipe Balbi <felipe.ba...@linux.intel.com>
> 
> [Upstream commit b2b6d601365a1acb90b87c85197d79]
> 
> Queueing the same request twice can introduce hard-to-debug
> problems. At least one function driver - Android's f_mtp.c - is known
> to cause this problem.
> 
> While that function is out-of-tree, this is a problem that's easy
> enough to avoid.
> 
> Signed-off-by: Felipe Balbi <felipe.ba...@linux.intel.com>
> Signed-off-by: Saranya Gopal <saranya.go...@intel.com>
> ---
>  drivers/usb/dwc3/gadget.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index 3f337a0..a56a92a 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -1291,6 +1291,11 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, 
> struct dwc3_request *req)
>                               &req->request, req->dep->name))
>               return -EINVAL;
>  
> +     if (WARN(req->status < DWC3_REQUEST_STATUS_COMPLETED,
> +                             "%s: request %pK already in flight\n",
> +                             dep->name, &req->request))
> +             return -EINVAL;

So we are going to trip syzbot up on this out-of-tree driver?  Brave...

Reply via email to