1
From: luying1 <luying1@xiaomi.com>
1
From: Ying Lu <luying1@xiaomi.com>
2
2
3
The patchset fix the issue caused by the following modifications:
3
The patchset fix the issue caused by the following modifications:
4
commit 04e906839a053f092ef53f4fb2d610983412b904
4
commit 04e906839a053f092ef53f4fb2d610983412b904
5
(usbnet: fix cyclical race on disconnect with work queue)
5
(usbnet: fix cyclical race on disconnect with work queue)
6
6
...
...
15
15
16
Fix issue:
16
Fix issue:
17
adding the usbnet_going_away check in usb_submit_urb to synchronize the validation logic.
17
adding the usbnet_going_away check in usb_submit_urb to synchronize the validation logic.
18
18
19
19
20
luying1 (1):
20
Changes in v3
21
-use the correct "Fixes:" tag format.
22
23
Changes in v2
24
-Use the formal name instead of an email alias.
25
26
Ying Lu (1):
21
usbnet:fix NPE during rx_complete
27
usbnet:fix NPE during rx_complete
22
28
23
drivers/net/usb/usbnet.c | 6 +++---
29
drivers/net/usb/usbnet.c | 6 +++---
24
1 file changed, 3 insertions(+), 3 deletions(-)
30
1 file changed, 3 insertions(+), 3 deletions(-)
25
31
26
--
32
--
27
2.40.1
33
2.49.0
28
34
diff view generated by jsdifflib
1
From: luying1 <luying1@xiaomi.com>
1
From: Ying Lu <luying1@xiaomi.com>
2
2
3
Missing usbnet_going_away Check in Critical Path.
3
Missing usbnet_going_away Check in Critical Path.
4
The usb_submit_urb function lacks a usbnet_going_away
4
The usb_submit_urb function lacks a usbnet_going_away
5
validation, whereas __usbnet_queue_skb includes this check.
5
validation, whereas __usbnet_queue_skb includes this check.
6
6
...
...
11
Subsequent processes:
11
Subsequent processes:
12
(e.g., rx_complete → defer_bh → __skb_unlink(skb, list))
12
(e.g., rx_complete → defer_bh → __skb_unlink(skb, list))
13
attempt to access skb->next, triggering a NULL pointer
13
attempt to access skb->next, triggering a NULL pointer
14
dereference (Kernel Panic).
14
dereference (Kernel Panic).
15
15
16
Signed-off-by: luying1 <luying1@xiaomi.com>
16
Fixes: 04e906839a05 ("usbnet: fix cyclical race on disconnect with work queue")
17
Signed-off-by: Ying Lu <luying1@xiaomi.com>
17
---
18
---
18
drivers/net/usb/usbnet.c | 6 +++---
19
drivers/net/usb/usbnet.c | 6 +++---
19
1 file changed, 3 insertions(+), 3 deletions(-)
20
1 file changed, 3 insertions(+), 3 deletions(-)
20
21
21
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
22
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
...
...
41
+            __usbnet_queue_skb(&dev->rxq, skb, rx_start);
42
+            __usbnet_queue_skb(&dev->rxq, skb, rx_start);
42
        }
43
        }
43
    } else {
44
    } else {
44
        netif_dbg(dev, ifdown, dev->net, "rx: stopped\n");
45
        netif_dbg(dev, ifdown, dev->net, "rx: stopped\n");
45
--
46
--
46
2.40.1
47
2.49.0
47
48
diff view generated by jsdifflib