linux/drivers/net
Petr Machata 7ea07afb23 mlxsw: spectrum_flower: Fix port range register leak in tmplt_create()
mlxsw_sp_flower_tmplt_create() parses a flow_cls_offload template
into a stack-local struct mlxsw_sp_acl_rule_info purely to compute
rulei.values.elusage. Parsing can acquire port range registers via
mlxsw_sp_flower_parse_ports_range(), but since this rulei never goes
through mlxsw_sp_acl_rulei_destroy(), those registers were never
released, including through chain template deletion.

Factor out of mlxsw_sp_acl_rulei_destroy() the code to actually
release the necessary resources and call from
mlxsw_sp_flower_tmplt_create() to plug the leak.

The issue was found during a review of Wentao Liang's patch referenced
below.

Fixes: fe22f74105 ("mlxsw: spectrum_flower: Add ability to match on port ranges")
Reported-by: Wentao Liang <vulab@iscas.ac.cn>
Closes: https://lore.kernel.org/netdev/20260917113236.2149095-1-vulab@iscas.ac.cn/
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/95339cf970ce78e1a74aa86ffcc104ecf7c7762c.1791294384.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-10-08 10:49:24 -07:00
..
arcnet
bonding bonding: fix the program leak when XDP is replaced 2026-10-02 12:39:21 -07:00
can usb: f81604: fix struct f81604_int_data size mismatch 2026-10-01 17:13:12 +02:00
dsa net: dsa: microchip: fix KSZ8765 fiber detection 2026-10-08 10:48:00 -07:00
ethernet mlxsw: spectrum_flower: Fix port range register leak in tmplt_create() 2026-10-08 10:49:24 -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: realtek-rtl9300: fix RTL931x C22 extended page selection 2026-09-23 18:54:19 -07:00
netdevsim netdevsim: update queue NAPI association on queue reset 2026-08-20 12:35:57 -07:00
ovpn ovpn: reject invalid peer VPN addresses 2026-09-21 11:39:13 +02:00
pcs net: pcs: rzn1-miic: Clear MIIC protection state before unprotect sequence 2026-09-29 17:15:37 -07:00
phy net: phy: aquantia: fix system interface type not updated in forced mode 2026-10-01 10:15:19 +02: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: free skb when broadcast has no txable port 2026-10-06 17:20:44 -07:00
thunderbolt Including fixes from Bluetooth, IPSec and Netfilter. 2026-08-27 13:53:43 -07:00
usb net: usb: ax88179_178a: fix rx frame length for non-last packets 2026-10-07 16:43:50 -07:00
vmxnet3
vxlan vxlan: use one headroom snapshot for neighbour replies 2026-09-23 19:29:26 -07:00
wan net: lapbether: check register_netdevice_notifier() error in lapbeth_init_driver() 2026-08-04 18:49:03 -07:00
wireguard
wireless Revert "wifi: libertas: reject short monitor TX frames" 2026-10-07 22:48:10 +02:00
wwan net: wwan: t7xx: validate the netif index in t7xx_ccmni_recv_skb() 2026-09-16 18:58:45 -07:00
xen-netback
amt.c amt: send the relay's General Query directly from the receive path 2026-10-01 18:11:09 -07:00
bareudp.c bareudp: set the inner protocol to the protocol of the packet 2026-10-07 19:15:08 -07: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 macsec: initialize SecY before registering the netdevice 2026-09-24 15:15:20 +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
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: make sure the SEID is linear before reading it 2026-10-06 18:47:02 -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.c net: always dissect GSO packets in __virtio_net_hdr_to_skb() 2026-10-06 15:35:40 -07:00
veth.c veth: fix peer NETDEV_XDP_ACT_NDO_XMIT after GRO is toggled while down 2026-10-08 10:43:13 -07:00
virtio_net.c net: always dissect GSO packets in __virtio_net_hdr_to_skb() 2026-10-06 15:35:40 -07:00
vrf.c vrf: Stop corrupting skb->csum when capturing CHECKSUM_COMPLETE packets 2026-09-23 17:47:10 -07:00
vsockmon.c
xen-netfront.c