diff options
author | 2025-04-02 16:58:59 +0800 | |
---|---|---|
committer | 2025-04-04 07:24:46 -0700 | |
commit | 51de3600093429e3b712e5f091d767babc5dd6df (patch) | |
tree | 2d5117ceacca7347216fec265450756867ccc272 /net/lapb/lapb_timer.c | |
parent | net: octeontx2: Handle XDP_ABORTED and XDP invalid as XDP_DROP (diff) | |
download | wireguard-linux-51de3600093429e3b712e5f091d767babc5dd6df.tar.xz wireguard-linux-51de3600093429e3b712e5f091d767babc5dd6df.zip |
usbnet:fix NPE during rx_complete
Missing usbnet_going_away Check in Critical Path.
The usb_submit_urb function lacks a usbnet_going_away
validation, whereas __usbnet_queue_skb includes this check.
This inconsistency creates a race condition where:
A URB request may succeed, but the corresponding SKB data
fails to be queued.
Subsequent processes:
(e.g., rx_complete → defer_bh → __skb_unlink(skb, list))
attempt to access skb->next, triggering a NULL pointer
dereference (Kernel Panic).
Fixes: 04e906839a05 ("usbnet: fix cyclical race on disconnect with work queue")
Cc: stable@vger.kernel.org
Signed-off-by: Ying Lu <luying1@xiaomi.com>
Link: https://patch.msgid.link/4c9ef2efaa07eb7f9a5042b74348a67e5a3a7aea.1743584159.git.luying1@xiaomi.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions