summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAnatoly Burakov <anatoly.burakov@intel.com>2021-01-14 15:02:45 +0000
committerDavid Marchand <david.marchand@redhat.com>2021-01-19 13:12:59 +0100
commit27ff8384deaca2f7727d0cedf2053aa13fbae1e2 (patch)
tree3acc4394e87a8179dea9f0c2aefae430a3b4a4cc /lib
parentc69150679891f065c93c4e0503e0dca5830ceeb7 (diff)
fbarray: fix overlap check
When we're attaching fbarrays in secondary processes, we check for whether the intended memory address for the fbarray is already in use by some other, local fbarray. However, the check for end-overlap (i.e. to see if our memory area's end overlaps with some other fbarray) is incorrectly counting end offset as part of the overlap. Fix the check. Fixes: 5b61c62cfd76 ("fbarray: add internal tailq for mapped areas") Cc: stable@dpdk.org Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Tested-by: Zhihong Peng <zhihongx.peng@intel.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/librte_eal/common/eal_common_fbarray.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/librte_eal/common/eal_common_fbarray.c b/lib/librte_eal/common/eal_common_fbarray.c
index 1220e2bae9..d974f3dab7 100644
--- a/lib/librte_eal/common/eal_common_fbarray.c
+++ b/lib/librte_eal/common/eal_common_fbarray.c
@@ -110,7 +110,7 @@ overlap(const struct mem_area *ma, const void *start, size_t len)
if (start >= ma_start && start < ma_end)
return 1;
/* end overlap? */
- if (end >= ma_start && end < ma_end)
+ if (end > ma_start && end < ma_end)
return 1;
return 0;
}