mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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 commite888192d13)
This commit is contained in:
1 parent
75f866e9f7
commit
ec0c241602
1 file changed
+6
@@ -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);
|
||||
|
||||