vfio: fix boundary check in region search
A previously mapped region is skipped during the search, leading to DMA unmap fails. This patch fixes it and rewords the comment. Fixes: 73a639085938 ("vfio: allow to map other memory regions") Signed-off-by: Xiao Wang <xiao.w.wang@intel.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
This commit is contained in:
parent
e37effdc3d
commit
b3a022b17c
@ -220,15 +220,15 @@ find_user_mem_map(uint64_t addr, uint64_t iova, uint64_t len)
|
||||
/* check start VA */
|
||||
if (addr < map->addr || addr >= map_va_end)
|
||||
continue;
|
||||
/* check if IOVA end is within boundaries */
|
||||
if (va_end <= map->addr || va_end >= map_va_end)
|
||||
/* check if VA end is within boundaries */
|
||||
if (va_end <= map->addr || va_end > map_va_end)
|
||||
continue;
|
||||
|
||||
/* check start PA */
|
||||
/* check start IOVA */
|
||||
if (iova < map->iova || iova >= map_iova_end)
|
||||
continue;
|
||||
/* check if IOVA end is within boundaries */
|
||||
if (iova_end <= map->iova || iova_end >= map_iova_end)
|
||||
if (iova_end <= map->iova || iova_end > map_iova_end)
|
||||
continue;
|
||||
|
||||
/* we've found our map */
|
||||
|
Loading…
x
Reference in New Issue
Block a user