[PATCH] usb: gadget: ci: Avoid null pointer dereference
Marek Vasut
marex at denx.de
Fri Jan 28 04:39:09 CET 2022
The ci_req->hw_buf can be NULL, test whether it is and if so,
avoid accessing it. Else, the system may crash.
Signed-off-by: Marek Vasut <marex at denx.de>
Cc: Peter Chen <peter.chen at nxp.com>
Cc: Li Jun <jun.li at nxp.com>
Cc: Peng Fan <peng.fan at nxp.com>
---
drivers/usb/gadget/ci_udc.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c
index 226a9e6d671..542684c1c30 100644
--- a/drivers/usb/gadget/ci_udc.c
+++ b/drivers/usb/gadget/ci_udc.c
@@ -402,6 +402,9 @@ align:
flush:
hwaddr = (unsigned long)ci_req->hw_buf;
+ if (!hwaddr)
+ return 0;
+
aligned_used_len = roundup(req->length, ARCH_DMA_MINALIGN);
flush_dcache_range(hwaddr, hwaddr + aligned_used_len);
@@ -415,7 +418,7 @@ static void ci_debounce(struct ci_req *ci_req, int in)
unsigned long hwaddr = (unsigned long)ci_req->hw_buf;
uint32_t aligned_used_len;
- if (in)
+ if (in || !hwaddr)
return;
aligned_used_len = roundup(req->actual, ARCH_DMA_MINALIGN);
--
2.34.1
More information about the U-Boot
mailing list