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

Kevin Traynor ktraynor at redhat.com
Fri Dec 14 18:51:55 CET 2018


Hi,

FYI, your patch has been queued to stable release 18.08.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. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 469db59b9259d5943faa5235638293dbe043d11f 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 fee6f693e..c09378de4 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -3266,5 +3266,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 17:49:48.041074592 +0000
+++ 0011-net-mlx5-fix-validation-of-Rx-queue-number.patch	2018-12-14 17:49:47.000000000 +0000
@@ -1,8 +1,10 @@
-From 8dd569abad0802f2e5adb0a4ac2483a07555ac89 Mon Sep 17 00:00:00 2001
+From 469db59b9259d5943faa5235638293dbe043d11f 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>
@@ -26,10 +27,10 @@
  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
+index fee6f693e..c09378de4 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,
+@@ -3266,5 +3266,5 @@ mlx5_ctrl_flow_vlan(struct rte_eth_dev *dev,
  	unsigned int i;
  
 -	if (!priv->reta_idx_n) {


More information about the stable mailing list