net: ethtool: reject unsupported RSS input xfrm values
authorAhmed Zaki <ahmed.zaki@intel.com>
Thu, 4 Jan 2024 21:26:53 +0000 (14:26 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 6 Jan 2024 03:23:15 +0000 (19:23 -0800)
RXFH input_xfrm currently has three supported values: 0 (clear all),
symmetric_xor and NO_CHANGE.

Reject any other value sent from user-space.

Fixes: 13e59344fb9d ("net: ethtool: add support for symmetric-xor RSS hash")
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Ahmed Zaki <ahmed.zaki@intel.com>
Link: https://lore.kernel.org/r/20240104212653.394424-1-ahmed.zaki@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ethtool/ioctl.c

index 4bc9a2a07bbb3faafc6dcaecacb18d8d1951217f..7519b0818b913a494e81de3980f577e6deb902d0 100644 (file)
@@ -1302,6 +1302,9 @@ static noinline_for_stack int ethtool_set_rxfh(struct net_device *dev,
        if (rxfh.rss_context && !ops->cap_rss_ctx_supported)
                return -EOPNOTSUPP;
        /* Check input data transformation capabilities */
+       if (rxfh.input_xfrm && rxfh.input_xfrm != RXH_XFRM_SYM_XOR &&
+           rxfh.input_xfrm != RXH_XFRM_NO_CHANGE)
+               return -EINVAL;
        if ((rxfh.input_xfrm & RXH_XFRM_SYM_XOR) &&
            !ops->cap_rss_sym_xor_supported)
                return -EOPNOTSUPP;