On Fri, Nov 25, 2022 at 08:37:11AM +0000, Yuan Can wrote: > As the dma_alloc_coherent() may return NULL, the return value needs to be > checked to avoid NULL poineter dereference. > > Fixes: 33aa8d45a4fe ("staging: emxx_udc: Add Emma Mobile USB Gadget driver") > Signed-off-by: Yuan Can <yuancan@xxxxxxxxxx> > --- > drivers/staging/emxx_udc/emxx_udc.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/staging/emxx_udc/emxx_udc.c b/drivers/staging/emxx_udc/emxx_udc.c > index b6abd3770e81..3c0c9c5eb733 100644 > --- a/drivers/staging/emxx_udc/emxx_udc.c > +++ b/drivers/staging/emxx_udc/emxx_udc.c > @@ -2594,6 +2594,10 @@ static int nbu2ss_ep_queue(struct usb_ep *_ep, > ep->virt_buf = dma_alloc_coherent(udc->dev, PAGE_SIZE, > &ep->phys_buf, > GFP_ATOMIC | GFP_DMA); > + if (!ep->virt_buf) { > + spin_unlock_irqrestore(&udc->lock, flags); > + return -ENOMEM; > + } This should be checked in the if statment, not outside of it, right? thanks, greg k-h