xen/arm: Clarify how the domid is decided in create_domUs()
authorLuca Fancellu <luca.fancellu@arm.com>
Wed, 14 Apr 2021 09:14:03 +0000 (10:14 +0100)
committerJulien Grall <jgrall@amazon.com>
Thu, 15 Apr 2021 17:08:29 +0000 (18:08 +0100)
This patch adds a comment in create_domUs() right before
domain_create() to explain the importance of the pre-increment
operator on the variable max_init_domid, to ensure that the
domid 0 is allocated only during start_xen() function by the
create_dom0() and not on any other possible code path to the
domain_create() function.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
xen/arch/arm/domain_build.c

index 359957dc1b8c86477f397e8b63e6676fd12d5424..b1d7b9849f4e76f2d58e92d83c0d5aa79472eb3a 100644 (file)
@@ -2508,6 +2508,11 @@ void __init create_domUs(void)
                                          GUEST_VPL011_SPI - 32 + 1);
         }
 
+        /*
+         * The variable max_init_domid is initialized with zero, so here it's
+         * very important to use the pre-increment operator to call
+         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
+         */
         d = domain_create(++max_init_domid, &d_cfg, false);
         if ( IS_ERR(d) )
             panic("Error creating domain %s\n", dt_node_name(node));