On 12/02/14 10:18, Vitaly Kuznetsov wrote:
XEN_DOMCTL_getdomaininfo, which is being used by xc_domain_getinfo(), has
strange interface: it reports first domain which has domid >= requested domid
so all callers are supposed to check that the proper domain(s) was queried
by checking domid. xc_get_tot_pages() doesn't do that. In case the requested
domain was destroyed it will report first domain with domid > requested domid
which is apparently misleading as there is no way xc_get_tot_pages() callers
can figure out that they got tot_pages for some other domain.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
tools/libxc/xc_private.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/libxc/xc_private.c b/tools/libxc/xc_private.c
index 1c214dd..e2441ad 100644
--- a/tools/libxc/xc_private.c
+++ b/tools/libxc/xc_private.c
@@ -613,8 +613,10 @@ int xc_get_pfn_list(xc_interface *xch,
long xc_get_tot_pages(xc_interface *xch, uint32_t domid)
{
xc_dominfo_t info;
- return (xc_domain_getinfo(xch, domid, 1, &info) != 1) ?
- -1 : info.nr_pages;
+ if ( (xc_domain_getinfo(xch, domid, 1, &info) != 1) ||
+ (info.domid != domid) )
+ return -1;
+ return info.nr_pages;
}
int xc_copy_to_domain_page(xc_interface *xch,
Looks good to me.
Reviewed-by: Don Slutz <dsl...@verizon.com>
-Don Slutz
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel