linux/drivers/net/team
Weiming Shi 489114c9ec net: team: free skb when broadcast has no txable port
bc_transmit() sends the original skb through the last txable port.
When no port is txable, it returns false without consuming the skb, but
team_xmit() still returns NETDEV_TX_OK. AF_PACKET sends then retain the
skb and its socket write-memory charge.

A TX-enabled, link-down port keeps the broadcast transmit op installed.
Carrier can stay up through a second link-up, TX-disabled port or be
forced on by userspace. Free the original skb on the no-port path while
leaving the existing drop accounting intact.

Discovered by Sashiko during review of previous commit.

Cc: stable@vger.kernel.org
Fixes: 5fc889911a ("team: add broadcast mode")
Signed-off-by: Weiming Shi <bestswngs@gmail.com>
Link: https://patch.msgid.link/20261001182326.572045-3-bestswngs@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-10-06 17:20:44 -07:00
..
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile net: team: use policy generated by YAML spec 2024-04-02 18:24:32 -07:00
team_core.c net: team: stop reusing skb after queue override 2026-10-06 17:20:39 -07:00
team_mode_activebackup.c team: replace team lock with rtnl lock 2025-06-25 15:23:06 -07:00
team_mode_broadcast.c net: team: free skb when broadcast has no txable port 2026-10-06 17:20:44 -07:00
team_mode_loadbalance.c net: team: Track rx enablement separately from tx enablement 2026-04-13 15:09:49 +02:00
team_mode_random.c net: team: Rename enablement functions and struct members to tx 2026-04-13 15:09:49 +02:00
team_mode_roundrobin.c net: team: Rename enablement functions and struct members to tx 2026-04-13 15:09:49 +02:00
team_nl.c tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
team_nl.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00