patch 'net/mlx5: restrict Rx queue array access to boundary' has been queued to stable release 21.11.2

Kevin Traynor ktraynor at redhat.com
Tue May 10 14:29:52 CEST 2022


Hi,

FYI, your patch has been queued to stable release 21.11.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 05/15/22. 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.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/b3896dba13eae6b410733af101a80b403a474416

Thanks.

Kevin

---
>From b3896dba13eae6b410733af101a80b403a474416 Mon Sep 17 00:00:00 2001
From: Michael Baum <michaelba at nvidia.com>
Date: Sun, 10 Apr 2022 12:25:27 +0300
Subject: [PATCH] net/mlx5: restrict Rx queue array access to boundary

[ upstream commit 1573b07284caf92cad5479b539213c508d5583a6 ]

The mlx5_rxq_get() function gets RxQ index and return RxQ priv
accordingly.

When it gets an invalid index, it accesses out of array bounds which
might cause undefined behavior.

This patch adds a check for invalid indexes before accessing to array.

Fixes: 0cedf34da78f ("net/mlx5: move Rx queue reference count")

Signed-off-by: Michael Baum <michaelba at nvidia.com>
Acked-by: Matan Azrad <matan at nvidia.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index fe72cf49d3..a5a96c9a60 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -2049,4 +2049,6 @@ mlx5_rxq_get(struct rte_eth_dev *dev, uint16_t idx)
 	struct mlx5_priv *priv = dev->data->dev_private;
 
+	if (idx >= priv->rxqs_n)
+		return NULL;
 	MLX5_ASSERT(priv->rxq_privs != NULL);
 	return (*priv->rxq_privs)[idx];
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-05-10 13:24:22.024999526 +0100
+++ 0015-net-mlx5-restrict-Rx-queue-array-access-to-boundary.patch	2022-05-10 13:24:21.590646343 +0100
@@ -1 +1 @@
-From 1573b07284caf92cad5479b539213c508d5583a6 Mon Sep 17 00:00:00 2001
+From b3896dba13eae6b410733af101a80b403a474416 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1573b07284caf92cad5479b539213c508d5583a6 ]
+
@@ -15 +16,0 @@
-Cc: stable at dpdk.org
@@ -24 +25 @@
-index 925544ae3d..38fde939e1 100644
+index fe72cf49d3..a5a96c9a60 100644
@@ -27 +28 @@
-@@ -2050,4 +2050,6 @@ mlx5_rxq_get(struct rte_eth_dev *dev, uint16_t idx)
+@@ -2049,4 +2049,6 @@ mlx5_rxq_get(struct rte_eth_dev *dev, uint16_t idx)



More information about the stable mailing list