diff options
-rw-r--r-- | net/ethtool/common.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ethtool/common.c b/net/ethtool/common.c index 4dcb4194f3ce..82afe0f2a7cd 100644 --- a/net/ethtool/common.c +++ b/net/ethtool/common.c @@ -829,6 +829,10 @@ int ethtool_check_ops(const struct ethtool_ops *ops) return -EINVAL; if (WARN_ON(ops->supported_input_xfrm && !ops->get_rxfh_fields)) return -EINVAL; + if (WARN_ON(ops->supported_input_xfrm && + ops->rxfh_per_ctx_fields != ops->rxfh_per_ctx_key)) + 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. |