From 40783b1280e1833615885dc98f3c796ad5addb54 Mon Sep 17 00:00:00 2001 From: Lijun Ou Date: Fri, 22 May 2020 17:21:18 +0800 Subject: [PATCH] net/hns3: fix key length when configuring RSS When users set the length of RSS hash key greater than the supported length by hardware, the driver should intercept and can not configure the wrong key into the hardware. Fixes: c37ca66f2b27 ("net/hns3: support RSS") Cc: stable@dpdk.org Signed-off-by: Lijun Ou Signed-off-by: Wei Hu (Xavier) --- drivers/net/hns3/hns3_flow.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index aef301a8a7..c7851b235c 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -1475,6 +1475,14 @@ hns3_config_rss_filter(struct rte_eth_dev *dev, return -EINVAL; } + if (rss_flow_conf.key_len && + rss_flow_conf.key_len > RTE_DIM(rss_info->key)) { + hns3_err(hw, + "input hash key(%u) greater than supported len(%zu)", + rss_flow_conf.key_len, RTE_DIM(rss_info->key)); + return -EINVAL; + } + /* Filter the unsupported flow types */ flow_types = rss_flow_conf.types & HNS3_ETH_RSS_SUPPORT; if (flow_types != rss_flow_conf.types) -- 2.20.1