diff options
author | Daniel De Graaf <dgdegra@tycho.nsa.gov> | 2011-12-01 18:20:12 +0000 |
---|---|---|
committer | Daniel De Graaf <dgdegra@tycho.nsa.gov> | 2011-12-01 18:20:12 +0000 |
commit | dc52d92824439f5259fd24d476ad7ba5e043dd4e (patch) | |
tree | 16b497db51de1198657453269e490b3d5d628642 /tools/libxc/xc_linux_osdep.c | |
parent | 06be13898b572bc4f5e219153b57cc209ad26aaf (diff) | |
download | xen-dc52d92824439f5259fd24d476ad7ba5e043dd4e.tar.gz xen-dc52d92824439f5259fd24d476ad7ba5e043dd4e.tar.bz2 xen-dc52d92824439f5259fd24d476ad7ba5e043dd4e.zip |
libxc: Fix checks on grant notify arguments
The notify offset and event channels are both unsigned variables, so
testing for >= 0 will not correctly detect the use of -1 to indicate
the field is unused. Remove the useless comparison and replace with
correct range checks or comparisons to -1.
Reported-by: Anil Madhavapeddy <anil@recoil.org>
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxc/xc_linux_osdep.c')
-rw-r--r-- | tools/libxc/xc_linux_osdep.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/libxc/xc_linux_osdep.c b/tools/libxc/xc_linux_osdep.c index 0da20091db..115203ddb4 100644 --- a/tools/libxc/xc_linux_osdep.c +++ b/tools/libxc/xc_linux_osdep.c @@ -566,7 +566,7 @@ static void *linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h, struct ioctl_gntdev_unmap_notify notify; notify.index = map->index; notify.action = 0; - if (notify_offset >= 0 && notify_offset < XC_PAGE_SIZE * count) { + if (notify_offset < XC_PAGE_SIZE * count) { notify.index += notify_offset; notify.action |= UNMAP_NOTIFY_CLEAR_BYTE; } @@ -708,11 +708,11 @@ static void *linux_gntshr_share_pages(xc_gntshr *xch, xc_osdep_handle h, notify.index = gref_info->index; notify.action = 0; - if (notify_offset >= 0) { + if (notify_offset < XC_PAGE_SIZE * count) { notify.index += notify_offset; notify.action |= UNMAP_NOTIFY_CLEAR_BYTE; } - if (notify_port >= 0) { + if (notify_port != -1) { notify.event_channel_port = notify_port; notify.action |= UNMAP_NOTIFY_SEND_EVENT; } |