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: 41c031ff43 ("xen/arm: introduce domain on Static Allocation")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Bertrand Marquis <bertrand.marquis@arm.com>
[michal: adjust for code movement]
(cherry picked from commit e888192d13)
This commit is contained in:
Michal Orzel committed 2026-09-21 14:04:11 +02:00
1 parent 75f866e9f7
commit ec0c241602
1 file changed
+6
+6
View File
@@ -471,6 +471,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);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.