[dpdk-stable] patch 'lpm: fix freeing memory' has been queued to stable release 16.07.2

Yuanhan Liu yuanhan.liu at linux.intel.com
Tue Nov 15 12:40:23 CET 2016


Hi,

FYI, your patch has been queued to stable release 16.07.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 11/19/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 6c7778fd4e31b7fc8940b462becb0c441c25c052 Mon Sep 17 00:00:00 2001
From: Wei Dai <wei.dai at intel.com>
Date: Thu, 3 Nov 2016 18:15:59 +0800
Subject: [PATCH] lpm: fix freeing memory
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit c7e9d6a6ed90a022067f42727d5d1675a3f3df11 ]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The memory pointed by lpm->rules_tbl should also be freed
when memory malloc for tbl8 fails in rte_lpm_create_v1604( ).
And the memory pointed by lpm->tbl8 should also be freed
when the lpm object is freed in rte_lpm_free_v1604( ).

Fixes: f1f7261838b3 ("lpm: add a new config structure for IPv4")

Signed-off-by: Morten Brørup <mb at smartsharesystems.com>
Signed-off-by: Wei Dai <wei.dai at intel.com>
---
 lib/librte_lpm/rte_lpm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index 24fec4b..e1b5d94 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -321,6 +321,7 @@ rte_lpm_create_v1604(const char *name, int socket_id,
 
 	if (lpm->tbl8 == NULL) {
 		RTE_LOG(ERR, LPM, "LPM tbl8 memory allocation failed\n");
+		rte_free(lpm->rules_tbl);
 		rte_free(lpm);
 		lpm = NULL;
 		rte_free(te);
@@ -402,6 +403,7 @@ rte_lpm_free_v1604(struct rte_lpm *lpm)
 
 	rte_rwlock_write_unlock(RTE_EAL_TAILQ_RWLOCK);
 
+	rte_free(lpm->tbl8);
 	rte_free(lpm->rules_tbl);
 	rte_free(lpm);
 	rte_free(te);
-- 
1.9.0



More information about the stable mailing list