mirror-linux/drivers/net/usb
Qendrim Maxhuni e120f46768 net: usb: qmi_wwan: initialize MAC header offset in qmimux_rx_fixup
Raw IP packets have no MAC header, leaving skb->mac_header uninitialized.
This can trigger kernel panics on ARM64 when xfrm or other subsystems
access the offset due to strict alignment checks.

Initialize the MAC header to prevent such crashes.

This can trigger kernel panics on ARM when running IPsec over the
qmimux0 interface.

Example trace:

    Internal error: Oops: 000000009600004f [#1] SMP
    CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.34-gbe78e49cb433 #1
    Hardware name: LS1028A RDB Board (DT)
    pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    pc : xfrm_input+0xde8/0x1318
    lr : xfrm_input+0x61c/0x1318
    sp : ffff800080003b20
    Call trace:
     xfrm_input+0xde8/0x1318
     xfrm6_rcv+0x38/0x44
     xfrm6_esp_rcv+0x48/0xa8
     ip6_protocol_deliver_rcu+0x94/0x4b0
     ip6_input_finish+0x44/0x70
     ip6_input+0x44/0xc0
     ipv6_rcv+0x6c/0x114
     __netif_receive_skb_one_core+0x5c/0x8c
     __netif_receive_skb+0x18/0x60
     process_backlog+0x78/0x17c
     __napi_poll+0x38/0x180
     net_rx_action+0x168/0x2f0

Fixes: c6adf77953 ("net: usb: qmi_wwan: add qmap mux protocol support")
Signed-off-by: Qendrim Maxhuni <qendrim.maxhuni@garderos.com>
Link: https://patch.msgid.link/20251029075744.105113-1-qendrim.maxhuni@garderos.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-11-03 17:36:49 -08:00
..
Kconfig net: usb: lan78xx: add support for generic net selftests via ethtool 2025-08-25 16:22:19 -07:00
Makefile
aqc111.c
aqc111.h
asix.h
asix_common.c
asix_devices.c net: usb: asix_devices: Check return value of usbnet_get_endpoints 2025-10-29 17:51:48 -07:00
ax88172a.c
ax88179_178a.c
catc.c
cdc-phonet.c
cdc_eem.c
cdc_ether.c
cdc_mbim.c
cdc_ncm.c cdc_ncm: Flag Intel OEM version of Fibocom L850-GL as WWAN 2025-08-19 17:16:37 -07:00
cdc_subset.c
ch9200.c
cx82310_eth.c
dm9601.c
gl620a.c
hso.c
huawei_cdc_ncm.c
int51x1.c
ipheth.c
kalmia.c
kaweth.c
lan78xx.c net: usb: lan78xx: fix use of improperly initialized dev->chipid in lan78xx_reset 2025-10-15 18:27:48 -07:00
lan78xx.h
lg-vl600.c
mcs7830.c
net1080.c
pegasus.c
pegasus.h
plusb.c
qmi_wwan.c net: usb: qmi_wwan: initialize MAC header offset in qmimux_rx_fixup 2025-11-03 17:36:49 -08:00
r8152.c r8152: add error handling in rtl8152_driver_init 2025-10-14 12:07:21 +02:00
r8153_ecm.c
rndis_host.c
rtl8150.c net: usb: rtl8150: Fix frame padding 2025-10-16 15:10:02 -07:00
sierra_net.c usb: net: sierra: check for no status endpoint 2025-07-15 16:02:13 -07:00
smsc75xx.c
smsc75xx.h
smsc95xx.c net: usb: smsc95xx: add support for ethtool pause parameters 2025-07-21 17:42:12 -07:00
smsc95xx.h
sr9700.c
sr9700.h
sr9800.c
sr9800.h
usbnet.c usbnet: Prevents free active kevent 2025-10-23 17:27:44 -07:00
zaurus.c