Skip to content

Commit 7f6f127

Browse files
Yongchao Wugregkh
authored andcommitted
usb: cdns3: gadget: fix NULL pointer dereference in ep_queue
When the gadget endpoint is disabled or not yet configured, the ep->desc pointer can be NULL. This leads to a NULL pointer dereference when __cdns3_gadget_ep_queue() is called, causing a kernel crash. Add a check to return -ESHUTDOWN if ep->desc is NULL, which is the standard return code for unconfigured endpoints. This prevents potential crashes when ep_queue is called on endpoints that are not ready. Fixes: 7733f6c ("usb: cdns3: Add Cadence USB3 DRD Driver") Cc: stable <stable@kernel.org> Signed-off-by: Yongchao Wu <yongchao.wu@autochips.com> Acked-by: Peter Chen <peter.chen@kernel.org> Link: https://patch.msgid.link/20260331000407.613298-1-yongchao.wu@autochips.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 0179c6d commit 7f6f127

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

drivers/usb/cdns3/cdns3-gadget.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2589,6 +2589,9 @@ static int __cdns3_gadget_ep_queue(struct usb_ep *ep,
25892589
struct cdns3_request *priv_req;
25902590
int ret = 0;
25912591

2592+
if (!ep->desc)
2593+
return -ESHUTDOWN;
2594+
25922595
request->actual = 0;
25932596
request->status = -EINPROGRESS;
25942597
priv_req = to_cdns3_request(request);

0 commit comments

Comments
 (0)