[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/2] xen/arm: fix iomem permissions cfg in map_range_to_domain()





On 11/03/2025 11:31, Grygorii Strashko wrote:
Hi

On 19.02.25 13:25, Julien Grall wrote:
Hi Grygorii,

On 18/02/2025 11:22, Grygorii Strashko wrote:
Now the following code in map_range_to_domain()

     res = iomem_permit_access(d, paddr_to_pfn(addr),
                     paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));

calculates the iomem range end address by rounding it up to the next Xen
page with incorrect assumption that iomem range end address passed to
iomem_permit_access() is exclusive, while it is expected to be inclusive. It gives Control domain (Dom0) access to manage incorrect MMIO range with
one additional page.

For example, if requested range is [00e6140000:00e6141004] then it expected to add [e6140:e6141] range (num_pages=2) to the domain iomem_caps rangeset,
but will add [e6140:e6142] (num_pages=3) instead.

To fix it, drop PAGE_ALIGN() from the iomem range end address calculation
formula.

Fixes: 33233c2758345 ("arch/arm: domain build: let dom0 access I/O memory
of mapped devices")
Signed-off-by: Grygorii Strashko <grygorii_strashko@xxxxxxxx>

Reviewed-by: Julien Grall <jgrall@xxxxxxxxxx>

Sorry, that I'm disturbing you, but do i need to perform any additional actions here?

Thanks for the reminder. The tree only re-opened a few days ago and I haven't had a chance to go through the list of pending patches. I have pushed them to a branch. If the CI pass, then I will push them to staging.

Cheers,

--
Julien Grall




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.