Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 951a0102 authored by Ross Lagerwall's avatar Ross Lagerwall Committed by Boris Ostrovsky
Browse files

xen/gntdev: Fix off-by-one error when unmapping with holes



If the requested range has a hole, the calculation of the number of
pages to unmap is off by one. Fix it.

Signed-off-by: default avatarRoss Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
parent 66a640e7
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -380,10 +380,8 @@ static int unmap_grant_pages(struct grant_map *map, int offset, int pages)
		}
		range = 0;
		while (range < pages) {
			if (map->unmap_ops[offset+range].handle == -1) {
				range--;
			if (map->unmap_ops[offset+range].handle == -1)
				break;
			}
			range++;
		}
		err = __unmap_grant_pages(map, offset, range);