projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6683327
)
staging: emxx_udc: Add checks for dma_alloc_coherent()
author
Yuan Can
<yuancan@huawei.com>
Thu, 19 Jan 2023 08:31:19 +0000
(08:31 +0000)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:57:34 +0000
(13:57 +0100)
[ Upstream commit
f6510a93cfd8c6c79b4dda0f2967cdc6df42eff4
]
As the dma_alloc_coherent may return NULL, the return value needs to be
checked to avoid NULL poineter dereference.
Signed-off-by: Yuan Can <yuancan@huawei.com>
Reviewed-by: Simon Horman <horms@verge.net.au>
Link:
https://lore.kernel.org/r/20230119083119.16956-1-yuancan@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/staging/emxx_udc/emxx_udc.c
patch
|
blob
|
history
diff --git
a/drivers/staging/emxx_udc/emxx_udc.c
b/drivers/staging/emxx_udc/emxx_udc.c
index b6abd3770e81cdb1a567568cad4860b68e766d28..edd20a03f7a262f3d64ae13bb4e538e70608bac3 100644
(file)
--- a/
drivers/staging/emxx_udc/emxx_udc.c
+++ b/
drivers/staging/emxx_udc/emxx_udc.c
@@
-2590,10
+2590,15
@@
static int nbu2ss_ep_queue(struct usb_ep *_ep,
req->unaligned = false;
if (req->unaligned) {
- if (!ep->virt_buf)
+ if (!ep->virt_buf)
{
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;
+ }
+ }
if (ep->epnum > 0) {
if (ep->direct == USB_DIR_IN)
memcpy(ep->virt_buf, req->req.buf,