linux/drivers/net
Lorenzo Bianconi 15989abd74 net: stmmac: fix TSO header length truncation
stmmac_tso_xmit() stores the protocol header length returned by
stmmac_tso_header_size() in a u8. stmmac_tso_valid_packet() admits
headers up to 1023 bytes, so a header longer than 255 bytes wraps modulo
256 (486 becomes 230, 256 becomes 0).

A TCP over IPv6 socket carrying a few hundred bytes of sticky
destination/hop-by-hop options makes skb_tcp_all_headers() exceed 255
while staying below the 1023-byte limit, so such an skb reaches
stmmac_tso_xmit().

Widen proto_hdr_len to unsigned int, which is sufficient since the value
is bounded by the hardware limit, and adjust the debug print specifier
accordingly.

Fixes: 9edfa7dab8 ("net: stmmac: enable TSO for IPv6")
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@oss.qualcomm.com>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20260911-stmmac-fix-header-length-v1-1-8fc103334327@oss.qualcomm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-09-15 16:55:52 -07:00
..
arcnet
bonding bonding: use skb_cow_head() in bond_do_alb_xmit() and rlb_arp_xmit() 2026-09-04 15:18:41 -07:00
can can: m_can: pci: Remove driver_data 2026-08-17 19:20:38 +02:00
dsa net: dsa: mxl862xx: disable the stats poll on teardown 2026-09-14 19:05:46 -07:00
ethernet net: stmmac: fix TSO header length truncation 2026-09-15 16:55:52 -07:00
fddi net: fddi: skfp: fix NULL deref when setting the MAC address while down 2026-09-15 10:31:54 +02:00
fjes fjes: cancel force_close_task in fjes_remove() 2026-08-06 09:19:58 -07:00
hyperv hv_netvsc: Remove GPADL teardown special case for old Hyper-V hosts 2026-08-24 00:35:42 +00:00
ieee802154 ieee802154: hwsim: serialize pib updates to fix double-free 2026-09-02 10:26:47 +02:00
ipa net: ipa: balance runtime PM reference on remove error 2026-08-20 12:26:24 -07:00
ipvlan ipvlan: unregister upper devices outside pnodes_lock 2026-08-30 14:30:59 -07:00
mctp net: mctp: i3c: serialize probe with bus removal 2026-09-05 09:39:00 +01:00
mdio net: mdio: Kconfig: Group mdio multiplexers in a submenu 2026-07-22 15:00:53 -07:00
netdevsim netdevsim: update queue NAPI association on queue reset 2026-08-20 12:35:57 -07:00
ovpn ovpn: defer key slot crypto freeing to workqueue 2026-08-09 22:47:57 +02:00
pcs net: pcs: mtk-lynxi: check regmap reads in mtk_pcs_lynxi_get_state() 2026-08-07 16:38:46 -07:00
phy net: phy: mediatek: do not report link and per-speed LED rules together 2026-09-14 19:01:51 -07:00
plip
ppp ppp_synctty: ensure a writeable skb header 2026-09-09 18:41:57 -07:00
pse-pd net: pse-pd: realtek-pse-mcu: add UART transport 2026-08-18 15:04:33 +02:00
slip slip: remove slip_hangup() to fix use-after-free in slip_receive_buf() 2026-08-27 12:38:27 -07:00
team net: team: check register_netdevice_notifier() error in team_module_init() 2026-08-04 18:50:02 -07:00
thunderbolt Including fixes from Bluetooth, IPSec and Netfilter. 2026-08-27 13:53:43 -07:00
usb net: hso: fix TIOCMIWAIT race 2026-09-10 11:09:50 +02:00
vmxnet3 vmxnet3: fix BUG_ON in vmxnet3_get_hdr_len() for Geneve packets 2026-07-22 13:52:44 -07:00
vxlan vxlan: initialize _md in vxlan_xmit_one() 2026-09-09 18:33:02 -07:00
wan net: lapbether: check register_netdevice_notifier() error in lapbeth_init_driver() 2026-08-04 18:49:03 -07:00
wireguard net: Use helpers to get/set UDP len tree-wide 2026-07-22 13:47:02 +02:00
wireless treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
wwan net: wwan: add exclusive open mode capability to AT and QCDM ports 2026-07-30 11:05:14 +02:00
xen-netback
amt.c amt: Don't support cross-netns setup. 2026-08-10 16:03:03 -07:00
bareudp.c bareudp: Support per-netns netdev unregistration. 2026-07-11 12:57:50 +02:00
dummy.c
eql.c
geneve.c net: geneve: remove unused geneve_dev_create_fb 2026-08-06 15:09:23 +02:00
gtp.c net: iptunnel: fix stale transport header during tunnel decapsulation 2026-08-28 15:53:46 -07:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-07-20 09:18:11 +02:00
macvlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-13 11:00:14 -07:00
macvtap.c
Makefile
mdio.c
mhi_net.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
mii.c
net_failover.c net: net_failover: Fix the deadlock in net_failover_slave_name_change() 2026-09-10 15:19:06 +02:00
netconsole.c netconsole: publish the userdata payload with RCU 2026-08-13 15:04:40 +02:00
netkit.c
nlmon.c
ntb_netdev.c treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
pfcp.c pfcp: Support per-netns netdev unregistration. 2026-08-05 17:44:06 -07:00
rionet.c
sungem_phy.c
tap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-13 11:00:14 -07:00
tun_vnet.h tun: no longer rely on RTNL in tun_fill_info() 2026-07-10 17:29:43 +02:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-18 10:42:41 -07:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-13 11:00:14 -07:00
virtio_net.c virtio_net: Fix resize of the RX ring 2026-08-17 14:20:34 -07:00
vrf.c net: vrf: check register_netdevice_notifier() error in vrf_init_module() 2026-08-04 18:53:35 -07:00
vsockmon.c
xen-netfront.c