[dpdk-stable] patch 'net/mlx5: fix validation of Rx queue number' has been queued to stable release 18.11.1

Kevin Traynor ktraynor at redhat.com
Fri Dec 14 19:24:18 CET 2018


Hi,

FYI, your patch has been queued to stable release 18.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/18/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Kevin Traynor

---
>From 3ae48042b54ff46940cee084dbd48fed919d48c2 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp at mellanox.com>
Date: Wed, 28 Nov 2018 11:16:17 +0200
Subject: [PATCH] net/mlx5: fix validation of Rx queue number

[ upstream commit 8dd569abad0802f2e5adb0a4ac2483a07555ac89 ]

Function mlx5_ctrl_flow_vlan() is used to set the rss rule in
MLX5 PMD, using priv->reta_idx_n as number of Rx queues.
This number is passed to mlx5_flow_validate_action_rss(), which
attempts to access the Rx queues at priv->rxqs.
In case priv->rxqs_n is 0, priv->rxqs is empty, and
mlx5_flow_validate_action_rss() will crash with segmentation fault.

priv->reta_idx_n can never be 0, even if priv->rxqs_n is set to 0.
But when priv->rxqs_n is set to 0, setting the rss rule is invalid.

This patch updates mlx5_ctrl_flow_vlan(), if priv->rxqs_n is 0 the
function will fail with EINVAL errno.

Fixes: 8086cf08b2f0 ("net/mlx5: handle RSS hash configuration in RSS flow")

Signed-off-by: Dekel Peled <dekelp at mellanox.com>
Acked-by: Shahaf Shuler <shahafs at mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 97dc3e1f8..ee129b97b 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -2315,5 +2315,5 @@ mlx5_ctrl_flow_vlan(struct rte_eth_dev *dev,
 	unsigned int i;
 
-	if (!priv->reta_idx_n) {
+	if (!priv->reta_idx_n || !priv->rxqs_n) {
 		rte_errno = EINVAL;
 		return -rte_errno;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-12-14 18:23:18.697670945 +0000
+++ 0016-net-mlx5-fix-validation-of-Rx-queue-number.patch	2018-12-14 18:23:18.000000000 +0000
@@ -1,8 +1,10 @@
-From 8dd569abad0802f2e5adb0a4ac2483a07555ac89 Mon Sep 17 00:00:00 2001
+From 3ae48042b54ff46940cee084dbd48fed919d48c2 Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp at mellanox.com>
 Date: Wed, 28 Nov 2018 11:16:17 +0200
 Subject: [PATCH] net/mlx5: fix validation of Rx queue number
 
+[ upstream commit 8dd569abad0802f2e5adb0a4ac2483a07555ac89 ]
+
 Function mlx5_ctrl_flow_vlan() is used to set the rss rule in
 MLX5 PMD, using priv->reta_idx_n as number of Rx queues.
 This number is passed to mlx5_flow_validate_action_rss(), which
@@ -17,7 +19,6 @@
 function will fail with EINVAL errno.
 
 Fixes: 8086cf08b2f0 ("net/mlx5: handle RSS hash configuration in RSS flow")
-Cc: stable at dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp at mellanox.com>
 Acked-by: Shahaf Shuler <shahafs at mellanox.com>


More information about the stable mailing list