[PATCH 1/2] Memory Allocation: Fixes ms_idx jump (lookahead) during find_next_n() in fb_array library
Vipin P R
vipinp at vmware.com
Fri Jan 13 14:08:44 CET 2023
In the legacy mem mode, when the fb_array is being populated, if there are holes in between, the ms_idx could go backward and there will be an overlap of the region starting from the ms_idx returned later. i.e. it's being mapped to two different physical regions in PA space to a contiguous region in VA space. this would result in the allocator assuming that the memory is contiguous even though there is a hole in between. In legacy mem, allocator assumes that PA contiguous are VA contiguous as well.
Cc: stable at dpdk.org
Signed-off-by: Vipin P R <vipinp at vmware.com>
Acked-by: Kumara Parameshwaran <kparameshwar at vmware.com>
---
.mailmap | 1 +
lib/eal/common/eal_common_fbarray.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index 75884b6..3707bf5 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1391,6 +1391,7 @@ Vincent Guo <guopengfei160 at 163.com>
Vincent Jardin <vincent.jardin at 6wind.com>
Vincent Li <vincent.mc.li at gmail.com>
Vincent S. Cojot <vcojot at redhat.com>
+Vipin P R <vipinp at vmware.com> <vipinpadmamramesh at gmail.com>
Vipin Varghese <vipin.varghese at amd.com> <vipin.varghese at intel.com>
Vipul Ashri <vipul.ashri at oracle.com>
Vishal Kulkarni <vishal at chelsio.com>
diff --git a/lib/eal/common/eal_common_fbarray.c b/lib/eal/common/eal_common_fbarray.c
index f11f879..551bd87 100644
--- a/lib/eal/common/eal_common_fbarray.c
+++ b/lib/eal/common/eal_common_fbarray.c
@@ -236,7 +236,7 @@ find_next_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
* as well, so skip that on next iteration.
*/
ignore_msk = ~((1ULL << need) - 1);
- msk_idx = lookahead_idx;
+ msk_idx = lookahead_idx - 1;
break;
}
--
2.7.4
More information about the dev
mailing list