[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] libxl: Do not trust backend for vusb
commit 2538aaa238aef15ade4e8a77db84691aea265693 Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> AuthorDate: Thu May 5 16:17:26 2016 +0100 Commit: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> CommitDate: Thu Jun 2 15:53:29 2016 +0100 libxl: Do not trust backend for vusb Read the type from /libxl, rather than the backend. (We still trust the backend for details such as the number of ports, etc.; these are not a security problem.) In getinfo, use the computed frontend path, and the incoming domid, rather than needlessly reading these values from the backend. This is part of XSA-178. Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- v2: New patch following rebase. --- tools/libxl/libxl_pvusb.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tools/libxl/libxl_pvusb.c b/tools/libxl/libxl_pvusb.c index 7af7e4d..58cf21c 100644 --- a/tools/libxl/libxl_pvusb.c +++ b/tools/libxl/libxl_pvusb.c @@ -401,7 +401,7 @@ libxl_device_usbctrl_list(libxl_ctx *ctx, uint32_t domid, int *num) if (ret) goto out; usbctrl->version = READ_SUBPATH_INT(be_path, "usb-ver"); usbctrl->ports = READ_SUBPATH_INT(be_path, "num-ports"); - libxl_usbctrl_type_from_string(READ_SUBPATH(be_path, "type"), + libxl_usbctrl_type_from_string(READ_SUBPATH(libxl_path, "type"), &usbctrl->type); #undef READ_SUBPATH @@ -459,12 +459,11 @@ int libxl_device_usbctrl_getinfo(libxl_ctx *ctx, uint32_t domid, usbctrlinfo->evtch = READ_SUBPATH_INT(fe_path, "event-channel"); usbctrlinfo->ref_urb = READ_SUBPATH_INT(fe_path, "urb-ring-ref"); usbctrlinfo->ref_conn = READ_SUBPATH_INT(fe_path, "urb-ring-ref"); - tmp = READ_SUBPATH(be_path, "frontend"); - usbctrlinfo->frontend = libxl__strdup(NOGC, tmp); - usbctrlinfo->frontend_id = READ_SUBPATH_INT(be_path, "frontend-id"); + usbctrlinfo->frontend = libxl__strdup(NOGC, fe_path); + usbctrlinfo->frontend_id = domid; usbctrlinfo->ports = READ_SUBPATH_INT(be_path, "num-ports"); usbctrlinfo->version = READ_SUBPATH_INT(be_path, "usb-ver");; - tmp = READ_SUBPATH(be_path, "type"); + tmp = READ_SUBPATH(libxl_path, "type"); libxl_usbctrl_type_from_string(tmp, &usbctrlinfo->type); #undef READ_SUBPATH -- 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 |