On 21-Nov-19 2:25 PM, Xueming Li wrote:
This patch fixes wrong inner memory element size when joining two
elements.

Fixes: af75078fece3 ("first public release")
Cc: sta...@dpdk.org

Signed-off-by: Xueming Li <xuemi...@mellanox.com>
---
  lib/librte_eal/common/malloc_elem.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/lib/librte_eal/common/malloc_elem.c 
b/lib/librte_eal/common/malloc_elem.c
index afacb1813c..885d00424b 100644
--- a/lib/librte_eal/common/malloc_elem.c
+++ b/lib/librte_eal/common/malloc_elem.c
@@ -487,6 +487,10 @@ join_elem(struct malloc_elem *elem1, struct malloc_elem 
*elem2)
        else
                elem1->heap->last = elem1;
        elem1->next = next;
+       if (elem1->pad) {
+               struct malloc_elem *inner = RTE_PTR_ADD(elem1, elem1->pad);
+               inner->size = elem1->size - elem1->pad;
+       }
  }
struct malloc_elem *


Reviewed-by: Anatoly Burakov <anatoly.bura...@intel.com>

--
Thanks,
Anatoly

Reply via email to