]> git.ipfire.org Git - thirdparty/linux.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)
committerJakub Kicinski <kuba@kernel.org>
Tue, 4 Feb 2025 02:38:58 +0000 (18:38 -0800)
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>
net/ethtool/ioctl.c

index 34bee42e12470c9eaa51f9f4ccccf3bf841a0c31..7609ce2b2c5e2ead90aceab08b6610955914340b 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;