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

[xen staging] xen/dt: reject "xen,static-mem" when CONFIG_STATIC_MEMORY is disabled



commit e888192d133eeec8a94275eaf4194117f198a7e2
Author:     Michal Orzel <michal.orzel@xxxxxxx>
AuthorDate: Wed Aug 5 14:11:24 2026 +0200
Commit:     Michal Orzel <michal.orzel@xxxxxxx>
CommitDate: Thu Aug 6 08:54:14 2026 +0200

    xen/dt: reject "xen,static-mem" when CONFIG_STATIC_MEMORY is disabled
    
    process_domain_node() parses "xen,static-mem" regardless of
    CONFIG_STATIC_MEMORY. With the feature off, init_staticmem_pages() is a
    no-op stub, so boot carries on until construct_domU() reaches the
    ASSERT_UNREACHABLE() stubs of allocate_static_memory() /
    assign_static_memory_11(): a debug build trips the assertion, a production
    build gives the domain no memory at all.
    
    Bail out at parse time instead, like process_shm_node() already does for
    CONFIG_STATIC_SHM.
    
    Fixes: 41c031ff437b ("xen/arm: introduce domain on Static Allocation")
    Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
    Acked-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>
---
 xen/common/device-tree/bootinfo-fdt.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/common/device-tree/bootinfo-fdt.c 
b/xen/common/device-tree/bootinfo-fdt.c
index 272b5a6c0a..ca64daf4cd 100644
--- a/xen/common/device-tree/bootinfo-fdt.c
+++ b/xen/common/device-tree/bootinfo-fdt.c
@@ -349,6 +349,12 @@ static int __init process_domain_node(const void *fdt, int 
node,
         /* No "xen,static-mem" present. */
         return 0;
 
+    if ( !IS_ENABLED(CONFIG_STATIC_MEMORY) )
+    {
+        printk("CONFIG_STATIC_MEMORY must be enabled for parsing 
xen,static-mem\n");
+        return -EINVAL;
+    }
+
     return device_tree_get_meminfo(fdt, node, "xen,static-mem", address_cells,
                                    size_cells, bootinfo_get_reserved_mem(),
                                    MEMBANK_STATIC_DOMAIN);
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

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