[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 21/24] tools/(lib)xl: Add partial device tree support for ARM
Julien Grall writes ("[PATCH v3 21/24] tools/(lib)xl: Add partial device tree support for ARM"): > Let the user to pass additional nodes to the guest device tree. For this > purpose, everything in the node /passthrough from the partial device tree \ will > be copied into the guest device tree. Please wrap your commit messages to 70, not 80. > +=item B<device_tree=PATH> > + > +Specify a partial device tree (compiled via the Device Tree Compiler). > +Everything under the node "/passthrough" will be copied into the guest > +device tree. For convenience, the node "/aliases" is also copied to allow > +the user to defined aliases which can be used by the guest kernel. This is rather odd. The config option is `device_tree' but apparently it is only relevant for passthrough and nothing else can be set with it. > +static int check_partial_fdt(libxl__gc *gc, void *fdt, size_t size) > +{ ... > + /* Check if the *size and off* fields doesn't overrun the totalsize > + * of the partial FDT. > + */ > + if (fdt_totalsize(fdt) > size) { > + LOG(ERROR, "Partial FDT totalsize is too big"); > + return ERROR_FAIL; > + } There's lots and lots of this very fragile binary parsing code. Is this facility supposed to take untrusted or partially-trusted partial device trees ? If so then I suspect we need a different approach. It might be easer to rewrite this whole functionality in a programming language which is less fragile in the face of programming errors, than to try to make this whole thing secure (and review it). I'm definitely having XSA-55 flashbacks. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |