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: Ross Lagerwall <ross.lagerwall@citrix.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
This commit is contained in:
parent
66a640e782
commit
951a010233
|
@ -380,10 +380,8 @@ static int unmap_grant_pages(struct grant_map *map, int offset, int pages)
|
||||||
}
|
}
|
||||||
range = 0;
|
range = 0;
|
||||||
while (range < pages) {
|
while (range < pages) {
|
||||||
if (map->unmap_ops[offset+range].handle == -1) {
|
if (map->unmap_ops[offset+range].handle == -1)
|
||||||
range--;
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
range++;
|
range++;
|
||||||
}
|
}
|
||||||
err = __unmap_grant_pages(map, offset, range);
|
err = __unmap_grant_pages(map, offset, range);
|
||||||
|
|
Loading…
Reference in New Issue