linux/drivers/net
Lorenzo Bianconi bde34e84ed net: airoha: Do not read uninitialized fragment address in airoha_dev_xmit()
The transmit loop in airoha_dev_xmit() reads fragment address and length
during its final iteration, when the loop index equals
skb_shinfo(skb)->nr_frags, at which point the fragment data is
uninitialized. While these values are never consumed, the read itself is
unsafe and may trigger a page fault. Fix this by avoiding the fragment
read on the last iteration.
Additionally, move the skb pointer from the first to the last used packet
descriptor, so that airoha_qdma_tx_napi_poll() defers freeing the skb
until the final descriptor is processed.

Fixes: 23020f0493 ("net: airoha: Introduce ethernet support for EN7581 SoC")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20260424-airoha-xmit-fix-read-frag-v1-1-fdc0a83c79e8@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-04-27 17:40:11 -07:00
..
arcnet
bonding Networking changes for 7.1. 2026-04-14 18:36:10 -07:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-14 12:04:00 -07:00
dsa net: dsa: realtek: rtl8365mb: fix mode mask calculation 2026-04-23 10:50:33 +02:00
ethernet net: airoha: Do not read uninitialized fragment address in airoha_dev_xmit() 2026-04-27 17:40:11 -07:00
fddi FDDI: defxx: Rate-limit memory allocation errors 2026-03-30 18:11:37 -07:00
fjes
hyperv
ieee802154
ipa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-14 12:04:00 -07:00
ipvlan Networking changes for 7.1. 2026-04-14 18:36:10 -07:00
mctp
mdio net: mdio: MDIO_PIC64HPSC should depend on ARCH_MICROCHIP 2026-04-16 19:04:58 -07:00
netdevsim netdevsim: zero initialize struct iphdr in dummy sk_buff 2026-04-27 17:03:13 -07:00
ovpn drivers: net: drop ipv6_stub usage and use direct function calls 2026-03-29 11:21:23 -07:00
pcs
phy Networking changes for 7.1. 2026-04-14 18:36:10 -07:00
plip
ppp pppoe: drop PFC frames 2026-04-20 11:35:17 -07:00
pse-pd net: pse-pd: fix out-of-bounds bitmap access in pse_isr() on 32-bit 2026-04-16 19:25:32 -07:00
slip slip: bound decode() reads against the compressed packet length 2026-04-21 10:18:18 +02:00
team net: team: Add new tx_enabled team port option 2026-04-13 15:09:49 +02:00
thunderbolt
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-14 12:04:00 -07:00
vmxnet3
vxlan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-02 11:03:13 -07:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-09 13:20:59 -07:00
wireguard wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit 2026-04-14 11:48:04 -07:00
wireless Final updates, notably: 2026-04-12 09:17:42 -07:00
wwan
xen-netback
amt.c
bareudp.c
dummy.c dummy: convert to ndo_set_rx_mode_async 2026-04-21 12:50:25 +02:00
eql.c
geneve.c drivers: net: drop ipv6_stub usage and use direct function calls 2026-03-29 11:21:23 -07:00
gtp.c gtp: disable BH before calling udp_tunnel_xmit_skb() 2026-04-20 11:46:24 -07:00
ifb.c
Kconfig caif: remove CAIF NETWORK LAYER 2026-04-23 10:23:44 -07:00
LICENSE.SRC
loopback.c
macsec.c macsec: Support VLAN-filtering lower devices 2026-04-09 19:38:42 -07:00
macvlan.c macvlan: fix macvlan_get_size() not reserving space for IFLA_MACVLAN_BC_CUTOFF 2026-04-16 12:17:11 +02:00
macvtap.c kernfs: pass struct ns_common instead of const void * for namespace tags 2026-04-09 14:36:52 +02:00
Makefile net: remove ax25 and amateur radio (hamradio) subsystem 2026-04-23 10:24:02 -07:00
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c netconsole: avoid out-of-bounds access on empty string in trim_newline() 2026-04-23 12:45:02 +02:00
netkit.c netkit: convert to ndo_set_rx_mode_async 2026-04-21 12:50:25 +02:00
nlmon.c
ntb_netdev.c
pfcp.c
rionet.c
Space.c drivers: net: 8390: wd80x3: Remove this driver 2026-04-23 15:57:10 -07:00
sungem_phy.c
tap.c
tun_vnet.h
tun.c net: change sk_filter_reason() to return the reason by value 2026-04-12 14:30:25 -07:00
veth.c
virtio_net.c virtio_net: sync rss_trailer.max_tx_vq on queue_pairs change via VQ_PAIRS_SET 2026-04-23 09:35:53 -07:00
vrf.c vrf: Remove unnecessary RCU protection around dst entries 2026-03-27 21:07:24 -07:00
vsockmon.c
xen-netfront.c