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>
/* 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 */