mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen/arm: static-shmem: fix "gbase/pbase used uninitialized" build failure
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 commitcb1ddafdc5adds a check referencing gbase/pbase variables which were not yet assigned a value. Fix it. Fixes:cb1ddafdc5("xen/arm/static-shmem: Static-shmem should be direct-mapped for direct-mapped domains") Signed-off-by: Michal Orzel <michal.orzel@amd.com> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
This commit is contained in:
1 parent
53c5c99e87
commit
988f1c7e1f
1 file changed
+7
-6
@@ -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)) )
|
||||
{
|
||||
|
||||