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

Commit 8e43167c authored by Ross Lagerwall's avatar Ross Lagerwall Committed by Greg Kroah-Hartman
Browse files

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




[ Upstream commit 951a010233625b77cde3430b4b8785a9a22968d1 ]

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>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 56cf3902
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -348,10 +348,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);