]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-6.8/usb-dwc2-host-fix-dereference-issue-in-ddma-completion-flow.patch
6.8-stable patches
[thirdparty/kernel/stable-queue.git] / queue-6.8 / usb-dwc2-host-fix-dereference-issue-in-ddma-completion-flow.patch
1 From eed04fa96c48790c1cce73c8a248e9d460b088f8 Mon Sep 17 00:00:00 2001
2 From: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
3 Date: Tue, 9 Apr 2024 12:27:54 +0000
4 Subject: usb: dwc2: host: Fix dereference issue in DDMA completion flow.
5
6 From: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
7
8 commit eed04fa96c48790c1cce73c8a248e9d460b088f8 upstream.
9
10 Fixed variable dereference issue in DDMA completion flow.
11
12 Fixes: b258e4268850 ("usb: dwc2: host: Fix ISOC flow in DDMA mode")
13 CC: stable@vger.kernel.org
14 Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
15 Closes: https://lore.kernel.org/linux-usb/2024040834-ethically-rumble-701f@gregkh/T/#m4c4b83bef0ebb4b67fe2e0a7d6466cbb6f416e39
16 Signed-off-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
17 Link: https://lore.kernel.org/r/cc826d3ef53c934d8e6d98870f17f3cdc3d2755d.1712665387.git.Minas.Harutyunyan@synopsys.com
18 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19 ---
20 drivers/usb/dwc2/hcd_ddma.c | 4 +++-
21 1 file changed, 3 insertions(+), 1 deletion(-)
22
23 --- a/drivers/usb/dwc2/hcd_ddma.c
24 +++ b/drivers/usb/dwc2/hcd_ddma.c
25 @@ -867,13 +867,15 @@ static int dwc2_cmpl_host_isoc_dma_desc(
26 struct dwc2_dma_desc *dma_desc;
27 struct dwc2_hcd_iso_packet_desc *frame_desc;
28 u16 frame_desc_idx;
29 - struct urb *usb_urb = qtd->urb->priv;
30 + struct urb *usb_urb;
31 u16 remain = 0;
32 int rc = 0;
33
34 if (!qtd->urb)
35 return -EINVAL;
36
37 + usb_urb = qtd->urb->priv;
38 +
39 dma_sync_single_for_cpu(hsotg->dev, qh->desc_list_dma + (idx *
40 sizeof(struct dwc2_dma_desc)),
41 sizeof(struct dwc2_dma_desc),