Hi Michal,
> On 4 Feb 2026, at 13:42, Michal Orzel <[email protected]> wrote: > > When a physical memory bank spans multiple guest RAM banks, the variable > psize is modified inside the allocation loop, but the modified value > (instead of the original bank size) is added to tot_size. This causes an > incorrect total size calculation leading to false panic. Move the > tot_size calculation right after acquire_static_memory_bank(). Looks good to me. > > Fixes: 487975df53b5 ("xen/arm: introduce allocate_static_memory") > Signed-off-by: Michal Orzel <[email protected]> Reviewed-by: Bertrand Marquis <[email protected]> Cheers Bertrand > --- > xen/common/device-tree/static-memory.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/xen/common/device-tree/static-memory.c > b/xen/common/device-tree/static-memory.c > index 0774d0680604..ffbc12aa24df 100644 > --- a/xen/common/device-tree/static-memory.c > +++ b/xen/common/device-tree/static-memory.c > @@ -118,6 +118,8 @@ void __init allocate_static_memory(struct domain *d, > struct kernel_info *kinfo, > if ( mfn_eq(smfn, INVALID_MFN) ) > goto fail; > > + tot_size += psize; > + > printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n", > d, bank, pbase, pbase + psize); > > @@ -158,8 +160,6 @@ void __init allocate_static_memory(struct domain *d, > struct kernel_info *kinfo, > mem->bank[gbank].start = rambase[gbank]; > } > } > - > - tot_size += psize; > } > > mem->nr_banks = ++gbank; > -- > 2.43.0 >
