On Fri, 2024-06-21 at 11:22 +0200, Michal Orzel wrote:
> 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 <[email protected]>
> ---
> Reasoning for 4.19:
> this is hardening the code to prevent a feature misuse and unwanted
> behavior.
> ---
Release-Acked-By: Oleksii Kurochko <[email protected]>
~ Oleksii
> 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);
>