]> xenbits.xensource.com Git - xen.git/commitdiff
xen/arm: static-shmem: request host address to be specified for 1:1 domains
authorMichal Orzel <michal.orzel@amd.com>
Fri, 21 Jun 2024 09:22:05 +0000 (11:22 +0200)
committerJulien Grall <jgrall@amazon.com>
Mon, 24 Jun 2024 16:55:06 +0000 (17:55 +0100)
As a follow up to commit cb1ddafdc573 ("xen/arm/static-shmem: Static-shmem
should be direct-mapped for direct-mapped domains") add a check to
request that both host and guest physical address must be supplied for
direct mapped domains. Otherwise return an error to prevent unwanted
behavior.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Fixes: 988f1c7e1f40 ("xen/arm: static-shmem: fix "gbase/pbase used uninitialized" build failure")
Reviewed-by: Julien Grall <jgrall@amazon.com>
Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
xen/arch/arm/static-shmem.c

index cd48d2896b7e548701f2867afd6f2ba3a0637ba2..aa80756c3ca52adbb0ac1f0dffdc1f350bea445a 100644 (file)
@@ -378,6 +378,13 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
             const struct membank *alloc_bank =
                 find_shm_bank_by_id(get_shmem_heap_banks(), shm_id);
 
+            if ( is_domain_direct_mapped(d) )
+            {
+                printk("%pd: host and guest physical address must be supplied for direct-mapped domains\n",
+                       d);
+                return -EINVAL;
+            }
+
             /* guest phys address is right at the beginning */
             gbase = dt_read_paddr(cells, addr_cells);