]> git.baikalelectronics.ru Git - kernel.git/commit
usb: gadget: mv_u3d: request_irq() after initializing UDC
authorNadezda Lutovinova <lutovinova@ispras.ru>
Wed, 18 Aug 2021 14:12:47 +0000 (17:12 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Aug 2021 14:42:09 +0000 (16:42 +0200)
commitfcf357825d9383eece7d10725ba68eb87fed0c8d
tree52a7660484dbb0943731e8cec9365b29b79d37ee
parent779bbd75a482674a9439f3f1f960b4d240ab5eb0
usb: gadget: mv_u3d: request_irq() after initializing UDC

If IRQ occurs between calling  request_irq() and  mv_u3d_eps_init(),
then null pointer dereference occurs since u3d->eps[] wasn't
initialized yet but used in mv_u3d_nuke().

The patch puts registration of the interrupt handler after
initializing of neccesery data.

Found by Linux Driver Verification project (linuxtesting.org).

Fixes: 14ab3b95818d ("usb: gadget: Gadget directory cleanup - group UDC drivers")
Acked-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Nadezda Lutovinova <lutovinova@ispras.ru>
Link: https://lore.kernel.org/r/20210818141247.4794-1-lutovinova@ispras.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/mv_u3d_core.c