New upstream version 18.11-rc4
[deb_dpdk.git] / lib / librte_eal / common / malloc_elem.c
index 1a74660..9d3dcb6 100644 (file)
@@ -316,13 +316,15 @@ remove_elem(struct malloc_elem *elem)
 static int
 next_elem_is_adjacent(struct malloc_elem *elem)
 {
-       return elem->next == RTE_PTR_ADD(elem, elem->size);
+       return elem->next == RTE_PTR_ADD(elem, elem->size) &&
+                       elem->next->msl == elem->msl;
 }
 
 static int
 prev_elem_is_adjacent(struct malloc_elem *elem)
 {
-       return elem == RTE_PTR_ADD(elem->prev, elem->prev->size);
+       return elem == RTE_PTR_ADD(elem->prev, elem->prev->size) &&
+                       elem->prev->msl == elem->msl;
 }
 
 /*