From: Ian Jackson Date: Fri, 29 Apr 2016 18:10:45 +0000 (+0100) Subject: libxl: Do not trust backend for disk in getinfo X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=2dbe3631693ac13c74d31c6e30c12447d4c62854;p=xen.git libxl: Do not trust backend for disk in getinfo Do not read the frontend path out of the backend. We have it in our hand. Likewise the guest (frontend) domid was one of our parameters (!) This is part of XSA-178. Signed-off-by: Ian Jackson Reviewed-by: Wei Liu --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index cab98e00ea..01d41b1ae4 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -2480,9 +2480,8 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid, val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/ring-ref", fe_path)); diskinfo->rref = val ? strtoul(val, NULL, 10) : -1; diskinfo->frontend = xs_read(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/frontend", diskinfo->backend), NULL); - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/frontend-id", diskinfo->backend)); - diskinfo->frontend_id = val ? strtoul(val, NULL, 10) : -1; + GCSPRINTF("%s/frontend", libxl_path), NULL); + diskinfo->frontend_id = domid; GC_FREE; return 0;