Message ID | 32e22952-8574-4120-979b-ebb6af5f54b4@moroto.mountain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | usb: gadget: udc: core: Fix double unlock in usb_gadget_activate() | expand |
Thanks Dan for posting this ! Regards, Badhri On Thu, Jun 15, 2023 at 8:43 AM Dan Carpenter <dan.carpenter@linaro.org> wrote: > > Do not call mutex_unlock(&gadget->udc->connect_lock) twice in a row. > > Fixes: 286d9975a838 ("usb: gadget: udc: core: Prevent soft_connect_store() race") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Badhri Jagan Sridharan <badhri@google.com> > --- > drivers/usb/gadget/udc/core.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c > index 83fd1de14784..d58640a9d0ca 100644 > --- a/drivers/usb/gadget/udc/core.c > +++ b/drivers/usb/gadget/udc/core.c > @@ -878,8 +878,6 @@ int usb_gadget_activate(struct usb_gadget *gadget) > */ > if (gadget->connected) > ret = usb_gadget_connect_locked(gadget); > - mutex_unlock(&gadget->udc->connect_lock); > - > unlock: > mutex_unlock(&gadget->udc->connect_lock); > trace_usb_gadget_activate(gadget, ret); > -- > 2.39.2 >
On Thu, Jun 15, 2023 at 06:43:03PM +0300, Dan Carpenter wrote: > Do not call mutex_unlock(&gadget->udc->connect_lock) twice in a row. > > Fixes: 286d9975a838 ("usb: gadget: udc: core: Prevent soft_connect_store() race") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > --- > drivers/usb/gadget/udc/core.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c > index 83fd1de14784..d58640a9d0ca 100644 > --- a/drivers/usb/gadget/udc/core.c > +++ b/drivers/usb/gadget/udc/core.c > @@ -878,8 +878,6 @@ int usb_gadget_activate(struct usb_gadget *gadget) > */ > if (gadget->connected) > ret = usb_gadget_connect_locked(gadget); > - mutex_unlock(&gadget->udc->connect_lock); > - > unlock: > mutex_unlock(&gadget->udc->connect_lock); > trace_usb_gadget_activate(gadget, ret); > -- > 2.39.2 > Does not apply to my tree :(
On Mon, Jun 19, 2023 at 03:39:05PM +0200, Greg Kroah-Hartman wrote: > On Thu, Jun 15, 2023 at 06:43:03PM +0300, Dan Carpenter wrote: > > Do not call mutex_unlock(&gadget->udc->connect_lock) twice in a row. > > > > Fixes: 286d9975a838 ("usb: gadget: udc: core: Prevent soft_connect_store() race") > > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > > --- > > drivers/usb/gadget/udc/core.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c > > index 83fd1de14784..d58640a9d0ca 100644 > > --- a/drivers/usb/gadget/udc/core.c > > +++ b/drivers/usb/gadget/udc/core.c > > @@ -878,8 +878,6 @@ int usb_gadget_activate(struct usb_gadget *gadget) > > */ > > if (gadget->connected) > > ret = usb_gadget_connect_locked(gadget); > > - mutex_unlock(&gadget->udc->connect_lock); > > - > > unlock: > > mutex_unlock(&gadget->udc->connect_lock); > > trace_usb_gadget_activate(gadget, ret); > > -- > > 2.39.2 > > > > Does not apply to my tree :( No longer required. The patch was reverted. regards, dan carpenter
On Mon, Jun 19, 2023 at 05:46:28PM +0300, Dan Carpenter wrote: > On Mon, Jun 19, 2023 at 03:39:05PM +0200, Greg Kroah-Hartman wrote: > > On Thu, Jun 15, 2023 at 06:43:03PM +0300, Dan Carpenter wrote: > > > Do not call mutex_unlock(&gadget->udc->connect_lock) twice in a row. > > > > > > Fixes: 286d9975a838 ("usb: gadget: udc: core: Prevent soft_connect_store() race") > > > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > > > --- > > > drivers/usb/gadget/udc/core.c | 2 -- > > > 1 file changed, 2 deletions(-) > > > > > > diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c > > > index 83fd1de14784..d58640a9d0ca 100644 > > > --- a/drivers/usb/gadget/udc/core.c > > > +++ b/drivers/usb/gadget/udc/core.c > > > @@ -878,8 +878,6 @@ int usb_gadget_activate(struct usb_gadget *gadget) > > > */ > > > if (gadget->connected) > > > ret = usb_gadget_connect_locked(gadget); > > > - mutex_unlock(&gadget->udc->connect_lock); > > > - > > > unlock: > > > mutex_unlock(&gadget->udc->connect_lock); > > > trace_usb_gadget_activate(gadget, ret); > > > -- > > > 2.39.2 > > > > > > > Does not apply to my tree :( > > No longer required. The patch was reverted. Ah good, thanks for checking.
diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c index 83fd1de14784..d58640a9d0ca 100644 --- a/drivers/usb/gadget/udc/core.c +++ b/drivers/usb/gadget/udc/core.c @@ -878,8 +878,6 @@ int usb_gadget_activate(struct usb_gadget *gadget) */ if (gadget->connected) ret = usb_gadget_connect_locked(gadget); - mutex_unlock(&gadget->udc->connect_lock); - unlock: mutex_unlock(&gadget->udc->connect_lock); trace_usb_gadget_activate(gadget, ret);
Do not call mutex_unlock(&gadget->udc->connect_lock) twice in a row. Fixes: 286d9975a838 ("usb: gadget: udc: core: Prevent soft_connect_store() race") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> --- drivers/usb/gadget/udc/core.c | 2 -- 1 file changed, 2 deletions(-)