[dpdk-stable] [PATCH] memory: fix alignment in eal_get_virtual_area()

Dariusz Stojaczyk dariuszx.stojaczyk at intel.com
Wed Jun 13 21:08:14 CEST 2018


Although the alignment mechanism works as intended, the
`no_align` bool flag was set incorrectly. We were aligning
buffers that didn't need extra alignment, and weren't
aligning ones that really needed it.

Fixes: b7cc54187ea4 ("mem: move virtual area function in common directory")
Cc: anatoly.burakov at intel.com
Cc: stable at dpdk.org

Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk at intel.com>
---
 lib/librte_eal/common/eal_common_memory.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_memory.c b/lib/librte_eal/common/eal_common_memory.c
index 4f0688f..a7c89f0 100644
--- a/lib/librte_eal/common/eal_common_memory.c
+++ b/lib/librte_eal/common/eal_common_memory.c
@@ -70,7 +70,7 @@ eal_get_virtual_area(void *requested_addr, size_t *size,
 	 * system page size is the same as requested page size.
 	 */
 	no_align = (requested_addr != NULL &&
-		((uintptr_t)requested_addr & (page_sz - 1)) == 0) ||
+		((uintptr_t)requested_addr & (page_sz - 1))) ||
 		page_sz == system_page_sz;
 
 	do {
-- 
2.7.4



More information about the stable mailing list