usb: gadget: udc: add return value check of kzalloc in mv_udc_probe
authorKang Chen <void0red@gmail.com>
Sat, 25 Feb 2023 04:11:48 +0000 (12:11 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Mar 2023 14:33:14 +0000 (15:33 +0100)
Even an 8-byte kzalloc will fail when we don't have enough memory,
so we need a nullptr check and do the cleanup when it fails.

Reported-by: eriri <1527030098@qq.com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217081
Signed-off-by: Kang Chen <void0red@gmail.com>
Link: https://lore.kernel.org/r/20230225041149.136-1-void0red@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/mv_udc_core.c

index b397f3a848cf7ac082dc4296b692bb4df81bd098..6dd6d52de3af94ba4f4afae75906a5912ba40969 100644 (file)
@@ -2230,6 +2230,10 @@ static int mv_udc_probe(struct platform_device *pdev)
 
        /* allocate a small amount of memory to get valid address */
        udc->status_req->req.buf = kzalloc(8, GFP_KERNEL);
+       if (!udc->status_req->req.buf) {
+               retval = -ENOMEM;
+               goto err_destroy_dma;
+       }
        udc->status_req->req.dma = DMA_ADDR_INVALID;
 
        udc->resume_state = USB_STATE_NOTATTACHED;