]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ethtool: ntuple: fix rss + ring_cookie check
authorJakub Kicinski <kuba@kernel.org>
Sat, 1 Feb 2025 01:30:38 +0000 (17:30 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 8 Feb 2025 08:58:19 +0000 (09:58 +0100)
commit 2b91cc1214b165c25ac9b0885db89a0d3224028a upstream.

The info.flow_type is for RXFH commands, ntuple flow_type is inside
the flow spec. The check currently does nothing, as info.flow_type
is 0 (or even uninitialized by user space) for ETHTOOL_SRXCLSRLINS.

Fixes: 9e43ad7a1ede ("net: ethtool: only allow set_rxnfc with rss + ring_cookie if driver opts in")
Reviewed-by: Gal Pressman <gal@nvidia.com>
Reviewed-by: Joe Damato <jdamato@fastly.com>
Link: https://patch.msgid.link/20250201013040.725123-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ethtool/ioctl.c

index ff988e5faa4f8c08eefabcfb66d86a780951e3e7..8b9692c35e7067cac88f7b92c010ab2ffea0e24b 100644 (file)
@@ -993,7 +993,7 @@ static noinline_for_stack int ethtool_set_rxnfc(struct net_device *dev,
                return rc;
 
        /* Nonzero ring with RSS only makes sense if NIC adds them together */
-       if (cmd == ETHTOOL_SRXCLSRLINS && info.flow_type & FLOW_RSS &&
+       if (cmd == ETHTOOL_SRXCLSRLINS && info.fs.flow_type & FLOW_RSS &&
            !ops->cap_rss_rxnfc_adds &&
            ethtool_get_flow_spec_ring(info.fs.ring_cookie))
                return -EINVAL;