net: ethtool: check rxfh_max_num_contexts != 1 at register time
authorEdward Cree <ecree.xilinx@gmail.com>
Wed, 7 Aug 2024 16:06:13 +0000 (17:06 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 9 Aug 2024 02:55:49 +0000 (19:55 -0700)
A value of 1 doesn't make sense, as it implies the only allowed
 context ID is 0, which is reserved for the default context - in
 which case the driver should just not claim to support custom
 RSS contexts at all.

Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
Link: https://lore.kernel.org/c07725b3a3d0b0a63b85e230f9c77af59d4d07f8.1723045898.git.ecree.xilinx@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ethtool/common.c

index 07032ba..5f714bb 100644 (file)
@@ -654,6 +654,8 @@ int ethtool_check_ops(const struct ethtool_ops *ops)
 {
        if (WARN_ON(ops->set_coalesce && !ops->supported_coalesce_params))
                return -EINVAL;
+       if (WARN_ON(ops->rxfh_max_num_contexts == 1))
+               return -EINVAL;
        /* NOTE: sufficiently insane drivers may swap ethtool_ops at runtime,
         * the fact that ops are checked at registration time does not
         * mean the ops attached to a netdev later on are sane.