[dpdk-stable] patch 'table: fix crash in LPM IPv6' has been queued to LTS release 18.11.3

Kevin Traynor ktraynor at redhat.com
Fri Aug 23 11:43:33 CEST 2019


Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Thanks.

Kevin Traynor

---
>From 60c0d21f4123a3e9ff1c17de499fb7be3e8f83c5 Mon Sep 17 00:00:00 2001
From: Jananee Parthasarathy <jananeex.m.parthasarathy at intel.com>
Date: Tue, 2 Jul 2019 12:21:34 +0100
Subject: [PATCH] table: fix crash in LPM IPv6

[ upstream commit 984d9e522fa0522c2cd15863c9790195a630b0b9 ]

Unit test table_autotest results in segmentation fault.
Crash occurs in test_table_lpm_ipv6_combined().

Variable 'nht_pos0' used as array subscript is not initialized
in rte_table_lpm_ipv6_entry_add(). It will not be assigned,
if a rule does not exist.

In such case a junk number or invalid array index might result in
segmentation fault due to array out of bounds when
lpm->nht_users is used with such invalid array index.

Fix is to initialize the variables used for array subscript.

Bugzilla ID: 285
Fixes: d89a5bce1d ("lpm6: extend next hop field")

Signed-off-by: Jananee Parthasarathy <jananeex.m.parthasarathy at intel.com>
Tested-by: David Marchand <david.marchand at redhat.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
---
 lib/librte_table/rte_table_lpm_ipv6.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_table/rte_table_lpm_ipv6.c b/lib/librte_table/rte_table_lpm_ipv6.c
index a55f808a4..4e068d79b 100644
--- a/lib/librte_table/rte_table_lpm_ipv6.c
+++ b/lib/librte_table/rte_table_lpm_ipv6.c
@@ -183,5 +183,5 @@ rte_table_lpm_ipv6_entry_add(
 	struct rte_table_lpm_ipv6_key *ip_prefix =
 		key;
-	uint32_t nht_pos, nht_pos0, nht_pos0_valid;
+	uint32_t nht_pos = 0, nht_pos0 = 0, nht_pos0_valid = 0;
 	int status;
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-08-22 19:38:23.229472688 +0100
+++ 0043-table-fix-crash-in-LPM-IPv6.patch	2019-08-22 19:38:20.475025974 +0100
@@ -1 +1 @@
-From 984d9e522fa0522c2cd15863c9790195a630b0b9 Mon Sep 17 00:00:00 2001
+From 60c0d21f4123a3e9ff1c17de499fb7be3e8f83c5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 984d9e522fa0522c2cd15863c9790195a630b0b9 ]
+
@@ -21 +22,0 @@
-Cc: stable at dpdk.org


More information about the stable mailing list