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.or...@amd.com> --- Reasoning for 4.19: this is hardening the code to prevent a feature misuse and unwanted behavior. --- xen/arch/arm/static-shmem.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c index cd48d2896b7e..aa80756c3ca5 100644 --- a/xen/arch/arm/static-shmem.c +++ b/xen/arch/arm/static-shmem.c @@ -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); -- 2.25.1