summarylogtreecommitdiffstats
path: root/0107-usb-dwc2-Fix-memory-leak-in-dwc2_hcd_init.patch
diff options
context:
space:
mode:
Diffstat (limited to '0107-usb-dwc2-Fix-memory-leak-in-dwc2_hcd_init.patch')
-rw-r--r--0107-usb-dwc2-Fix-memory-leak-in-dwc2_hcd_init.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/0107-usb-dwc2-Fix-memory-leak-in-dwc2_hcd_init.patch b/0107-usb-dwc2-Fix-memory-leak-in-dwc2_hcd_init.patch
new file mode 100644
index 000000000000..9be262fcc437
--- /dev/null
+++ b/0107-usb-dwc2-Fix-memory-leak-in-dwc2_hcd_init.patch
@@ -0,0 +1,35 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Miaoqian Lin <linmq006@gmail.com>
+Date: Mon, 30 May 2022 12:54:12 +0400
+Subject: [PATCH] usb: dwc2: Fix memory leak in dwc2_hcd_init
+
+commit 3755278f078460b021cd0384562977bf2039a57a upstream.
+
+usb_create_hcd will alloc memory for hcd, and we should
+call usb_put_hcd to free it when platform_get_resource()
+fails to prevent memory leak.
+goto error2 label instead error1 to fix this.
+
+Fixes: 856e6e8e0f93 ("usb: dwc2: check return value after calling platform_get_resource()")
+Cc: stable <stable@kernel.org>
+Acked-by: Minas Harutyunyan <hminas@synopsys.com>
+Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
+Link: https://lore.kernel.org/r/20220530085413.44068-1-linmq006@gmail.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/dwc2/hcd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
+index f63a27d11fac8d91fd456074d7a181cdddb882ee..3f107a06817d86e088bd30a87dfc8597d7e15b97 100644
+--- a/drivers/usb/dwc2/hcd.c
++++ b/drivers/usb/dwc2/hcd.c
+@@ -5190,7 +5190,7 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg)
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (!res) {
+ retval = -EINVAL;
+- goto error1;
++ goto error2;
+ }
+ hcd->rsrc_start = res->start;
+ hcd->rsrc_len = resource_size(res);