linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1] usb: fsl: Check memory resource before releasing it
@ 2019-10-21 10:21 Yinbo Zhu
  2019-10-21 10:21 ` [PATCH v1] usb: fsl: Remove unused variable Yinbo Zhu
  2019-10-21 10:21 ` [PATCH v1] usb: gadget: Correct NULL pointer checking in fsl gadget Yinbo Zhu
  0 siblings, 2 replies; 3+ messages in thread
From: Yinbo Zhu @ 2019-10-21 10:21 UTC (permalink / raw)
  To: Li Yang, Felipe Balbi
  Cc: yinbo.zhu, xiaobo.xie, jiafei.pan, Greg Kroah-Hartman, linux-usb,
	linuxppc-dev, linux-kernel, Ran Wang, Nikhil Badola

From: Nikhil Badola <nikhil.badola@freescale.com>

Check memory resource existence before releasing it to avoid NULL
pointer dereference

Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Reviewed-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
---
 drivers/usb/gadget/udc/fsl_udc_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c b/drivers/usb/gadget/udc/fsl_udc_core.c
index 20141c3096f6..9a05863b2876 100644
--- a/drivers/usb/gadget/udc/fsl_udc_core.c
+++ b/drivers/usb/gadget/udc/fsl_udc_core.c
@@ -2576,7 +2576,7 @@ static int fsl_udc_remove(struct platform_device *pdev)
 	dma_pool_destroy(udc_controller->td_pool);
 	free_irq(udc_controller->irq, udc_controller);
 	iounmap(dr_regs);
-	if (pdata->operating_mode == FSL_USB2_DR_DEVICE)
+	if (res && (pdata->operating_mode == FSL_USB2_DR_DEVICE))
 		release_mem_region(res->start, resource_size(res));
 
 	/* free udc --wait for the release() finished */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v1] usb: fsl: Remove unused variable
  2019-10-21 10:21 [PATCH v1] usb: fsl: Check memory resource before releasing it Yinbo Zhu
@ 2019-10-21 10:21 ` Yinbo Zhu
  2019-10-21 10:21 ` [PATCH v1] usb: gadget: Correct NULL pointer checking in fsl gadget Yinbo Zhu
  1 sibling, 0 replies; 3+ messages in thread
From: Yinbo Zhu @ 2019-10-21 10:21 UTC (permalink / raw)
  To: Li Yang, Felipe Balbi
  Cc: yinbo.zhu, xiaobo.xie, jiafei.pan, Greg Kroah-Hartman, linux-usb,
	linuxppc-dev, linux-kernel, Ran Wang, Nikhil Badola

From: Nikhil Badola <nikhil.badola@freescale.com>

Remove unused variable td_complete

Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Reviewed-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
---
 drivers/usb/gadget/udc/fsl_udc_core.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c b/drivers/usb/gadget/udc/fsl_udc_core.c
index 9a05863b2876..381fdff12d4e 100644
--- a/drivers/usb/gadget/udc/fsl_udc_core.c
+++ b/drivers/usb/gadget/udc/fsl_udc_core.c
@@ -1595,14 +1595,13 @@ static int process_ep_req(struct fsl_udc *udc, int pipe,
 		struct fsl_req *curr_req)
 {
 	struct ep_td_struct *curr_td;
-	int	td_complete, actual, remaining_length, j, tmp;
+	int	actual, remaining_length, j, tmp;
 	int	status = 0;
 	int	errors = 0;
 	struct  ep_queue_head *curr_qh = &udc->ep_qh[pipe];
 	int direction = pipe % 2;
 
 	curr_td = curr_req->head;
-	td_complete = 0;
 	actual = curr_req->req.length;
 
 	for (j = 0; j < curr_req->dtd_count; j++) {
@@ -1647,11 +1646,9 @@ static int process_ep_req(struct fsl_udc *udc, int pipe,
 				status = -EPROTO;
 				break;
 			} else {
-				td_complete++;
 				break;
 			}
 		} else {
-			td_complete++;
 			VDBG("dTD transmitted successful");
 		}
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v1] usb: gadget: Correct NULL pointer checking in fsl gadget
  2019-10-21 10:21 [PATCH v1] usb: fsl: Check memory resource before releasing it Yinbo Zhu
  2019-10-21 10:21 ` [PATCH v1] usb: fsl: Remove unused variable Yinbo Zhu
@ 2019-10-21 10:21 ` Yinbo Zhu
  1 sibling, 0 replies; 3+ messages in thread
From: Yinbo Zhu @ 2019-10-21 10:21 UTC (permalink / raw)
  To: Li Yang, Felipe Balbi
  Cc: yinbo.zhu, xiaobo.xie, jiafei.pan, Greg Kroah-Hartman, linux-usb,
	linuxppc-dev, linux-kernel, Ran Wang, Nikhil Badola

From: Nikhil Badola <nikhil.badola@freescale.com>

Correct NULL pointer checking for endpoint descriptor
before it gets dereferenced

Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
---
 drivers/usb/gadget/udc/fsl_udc_core.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c b/drivers/usb/gadget/udc/fsl_udc_core.c
index 381fdff12d4e..980cb1382851 100644
--- a/drivers/usb/gadget/udc/fsl_udc_core.c
+++ b/drivers/usb/gadget/udc/fsl_udc_core.c
@@ -1052,10 +1052,11 @@ static int fsl_ep_fifo_status(struct usb_ep *_ep)
 	u32 bitmask;
 	struct ep_queue_head *qh;
 
-	ep = container_of(_ep, struct fsl_ep, ep);
-	if (!_ep || (!ep->ep.desc && ep_index(ep) != 0))
+	if (!_ep || _ep->desc || !(_ep->desc->bEndpointAddress&0xF))
 		return -ENODEV;
 
+	ep = container_of(_ep, struct fsl_ep, ep);
+
 	udc = (struct fsl_udc *)ep->udc;
 
 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-21 10:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-21 10:21 [PATCH v1] usb: fsl: Check memory resource before releasing it Yinbo Zhu
2019-10-21 10:21 ` [PATCH v1] usb: fsl: Remove unused variable Yinbo Zhu
2019-10-21 10:21 ` [PATCH v1] usb: gadget: Correct NULL pointer checking in fsl gadget Yinbo Zhu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).