Hi Michal, > On 19 Jun 2024, at 08:46, Michal Orzel <michal.or...@amd.com> wrote: > > Building Xen with CONFIG_STATIC_SHM=y results in a build failure: > > arch/arm/static-shmem.c: In function 'process_shm': > arch/arm/static-shmem.c:327:41: error: 'gbase' may be used uninitialized > [-Werror=maybe-uninitialized] > 327 | if ( is_domain_direct_mapped(d) && (pbase != gbase) ) > arch/arm/static-shmem.c:305:17: note: 'gbase' was declared here > 305 | paddr_t gbase, pbase, psize; > > This is because the commit cb1ddafdc573 adds a check referencing > gbase/pbase variables which were not yet assigned a value. Fix it. > > Fixes: cb1ddafdc573 ("xen/arm/static-shmem: Static-shmem should be > direct-mapped for direct-mapped domains") > Signed-off-by: Michal Orzel <michal.or...@amd.com>
Reviewed-by: Bertrand Marquis <bertrand.marq...@arm.com> Cheers Bertrand > --- > Rationale for 4.19: this patch fixes a build failure reported by CI: > https://gitlab.com/xen-project/xen/-/jobs/7131807878 > --- > xen/arch/arm/static-shmem.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c > index c434b96e6204..cd48d2896b7e 100644 > --- a/xen/arch/arm/static-shmem.c > +++ b/xen/arch/arm/static-shmem.c > @@ -324,12 +324,6 @@ int __init process_shm(struct domain *d, struct > kernel_info *kinfo, > printk("%pd: static shared memory bank not found: '%s'", d, > shm_id); > return -ENOENT; > } > - if ( is_domain_direct_mapped(d) && (pbase != gbase) ) > - { > - printk("%pd: physical address 0x%"PRIpaddr" and guest address > 0x%"PRIpaddr" are not direct-mapped.\n", > - d, pbase, gbase); > - return -EINVAL; > - } > > pbase = boot_shm_bank->start; > psize = boot_shm_bank->size; > @@ -353,6 +347,13 @@ int __init process_shm(struct domain *d, struct > kernel_info *kinfo, > /* guest phys address is after host phys address */ > gbase = dt_read_paddr(cells + addr_cells, addr_cells); > > + if ( is_domain_direct_mapped(d) && (pbase != gbase) ) > + { > + printk("%pd: physical address 0x%"PRIpaddr" and guest > address 0x%"PRIpaddr" are not direct-mapped.\n", > + d, pbase, gbase); > + return -EINVAL; > + } > + > for ( i = 0; i < PFN_DOWN(psize); i++ ) > if ( !mfn_valid(mfn_add(maddr_to_mfn(pbase), i)) ) > { > -- > 2.25.1 >