From: Edward Cree Date: Wed, 7 Aug 2024 16:06:13 +0000 (+0100) Subject: net: ethtool: check rxfh_max_num_contexts != 1 at register time X-Git-Tag: v6.12-rc1~232^2~296 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ceb627435b00fe3bcee5957aeb3e5282a1f06eb6;p=thirdparty%2Fkernel%2Flinux.git net: ethtool: check rxfh_max_num_contexts != 1 at register time 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 Signed-off-by: Edward Cree Link: https://lore.kernel.org/c07725b3a3d0b0a63b85e230f9c77af59d4d07f8.1723045898.git.ecree.xilinx@gmail.com Signed-off-by: Jakub Kicinski --- diff --git a/net/ethtool/common.c b/net/ethtool/common.c index 07032babd1b69..5f714bbbef195 100644 --- a/net/ethtool/common.c +++ b/net/ethtool/common.c @@ -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.