[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] libxc: use correct return type for do_memory_op()
commit a27f1fb69d13c800dc438bc93ffdb437962c29fb Author: Juergen Gross <jgross@xxxxxxxx> AuthorDate: Fri Nov 27 10:00:51 2015 +0100 Commit: Ian Campbell <ian.campbell@xxxxxxxxxx> CommitDate: Tue Dec 1 12:10:11 2015 +0000 libxc: use correct return type for do_memory_op() Currently do_memory_op() is returning int, while the hypervisor is returning long. This will lead to wrong return informations as soon as e.g. a pfn larger than about 2 billion (8 TB) is returned. Use the correct long return type instead and correct the functions expecting a pfn via the return value of do_memory_op(). Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- tools/libxc/xc_domain.c | 2 +- tools/libxc/xc_private.c | 2 +- tools/libxc/xc_private.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c index e7278dd..83afc75 100644 --- a/tools/libxc/xc_domain.c +++ b/tools/libxc/xc_domain.c @@ -828,7 +828,7 @@ int xc_domain_get_tsc_info(xc_interface *xch, int xc_domain_maximum_gpfn(xc_interface *xch, domid_t domid, xen_pfn_t *gpfns) { - int rc = do_memory_op(xch, XENMEM_maximum_gpfn, &domid, sizeof(domid)); + long rc = do_memory_op(xch, XENMEM_maximum_gpfn, &domid, sizeof(domid)); if ( rc >= 0 ) { diff --git a/tools/libxc/xc_private.c b/tools/libxc/xc_private.c index 7c39897..6c0c0d6 100644 --- a/tools/libxc/xc_private.c +++ b/tools/libxc/xc_private.c @@ -519,7 +519,7 @@ int xc_flush_mmu_updates(xc_interface *xch, struct xc_mmu *mmu) return flush_mmu_updates(xch, mmu); } -int do_memory_op(xc_interface *xch, int cmd, void *arg, size_t len) +long do_memory_op(xc_interface *xch, int cmd, void *arg, size_t len) { DECLARE_HYPERCALL; DECLARE_HYPERCALL_BOUNCE(arg, len, XC_HYPERCALL_BUFFER_BOUNCE_BOTH); diff --git a/tools/libxc/xc_private.h b/tools/libxc/xc_private.h index 2df1d59..f603c15 100644 --- a/tools/libxc/xc_private.h +++ b/tools/libxc/xc_private.h @@ -374,7 +374,7 @@ static inline int do_multicall_op(xc_interface *xch, return ret; } -int do_memory_op(xc_interface *xch, int cmd, void *arg, size_t len); +long do_memory_op(xc_interface *xch, int cmd, void *arg, size_t len); void *xc_map_foreign_ranges(xc_interface *xch, uint32_t dom, size_t size, int prot, size_t chunksize, -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |