[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen staging] xen/arm: domain_build: Require the property "cpus" when building a domU



commit cc85de570c7ed91b32f123bef35e4ac2692cbfef
Author:     Julien Grall <julien.grall@xxxxxxx>
AuthorDate: Mon Feb 18 10:14:36 2019 +0000
Commit:     Stefano Stabellini <sstabellini@xxxxxxxxxx>
CommitDate: Mon Feb 25 14:27:29 2019 -0800

    xen/arm: domain_build: Require the property "cpus" when building a domU
    
    The 3rd argument of function dt_property_read_u32() is only valid when
    the call succeeded. So we cannot assume the value will not be modifed
    in case of failure.
    
    The documentation of Dom0less does not give a default value when the
    property "cpus" is not set. So require the property in the configuration.
    
    Coverity-ID: 1476825
    Signed-off-by: Julien Grall <julien.grall@xxxxxxx>
    Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>
---
 xen/arch/arm/domain_build.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 31af989e63..c92f8c6be1 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2069,7 +2069,6 @@ void __init create_domUs(void)
             .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
             .arch.nr_spis = 0,
             .flags = XEN_DOMCTL_CDF_hvm_guest | XEN_DOMCTL_CDF_hap,
-            .max_vcpus = 1,
             .max_evtchn_port = -1,
             .max_grant_frames = 64,
             .max_maptrack_frames = 1024,
@@ -2080,7 +2079,10 @@ void __init create_domUs(void)
 
         if ( dt_property_read_bool(node, "vpl011") )
             d_cfg.arch.nr_spis = GUEST_VPL011_SPI - 32 + 1;
-        dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus);
+
+        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
+            panic("Missing property 'cpus' for domain %s\n",
+                  dt_node_name(node));
 
         d = domain_create(++max_init_domid, &d_cfg, false);
         if ( IS_ERR(d) )
--
generated by git-patchbot for /home/xen/git/xen.git#staging

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.