diff options
author | Edward Cree <ecree.xilinx@gmail.com> | 2024-08-07 17:06:13 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-08-08 19:55:49 -0700 |
commit | ceb627435b00fe3bcee5957aeb3e5282a1f06eb6 (patch) | |
tree | ad6c5d1c7b661cb95baf93152ba9449c531d76dd | |
parent | df665ab188cdca8b8b3e0cca84a6511c395f9ece (diff) | |
download | lwn-ceb627435b00fe3bcee5957aeb3e5282a1f06eb6.tar.gz lwn-ceb627435b00fe3bcee5957aeb3e5282a1f06eb6.zip |
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 <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>
-rw-r--r-- | net/ethtool/common.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ethtool/common.c b/net/ethtool/common.c index 07032babd1b6..5f714bbbef19 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. |