[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/iommu: arm: Don't insert an IOMMU mapping when the grantee and granter...
On 14.02.2021 15:35, Julien Grall wrote: > From: Julien Grall <jgrall@xxxxxxxxxx> > > ... are the same. > > When the IOMMU is enabled and the domain is direct mapped (e.g. Dom0), > Xen will insert a 1:1 mapping for each grant mapping in the P2M to > allow DMA. > > This works quite well when the grantee and granter and not the same > because the GFN in the P2M should not be mapped. However, if they are > the same, we will overwrite the mapping. Worse, it will be completely > removed when the grant is unmapped. > > As the domain is direct mapped, a 1:1 mapping should always present in > the P2M. This is not 100% guaranteed if the domain decides to mess with > the P2M. However, such domain would already end up in trouble as the > page would be soon be freed (when the last reference dropped). > > Add an additional check in arm_iommu_{,un}map_page() to check whether > the page belongs to the domain. If it is belongs to it, then ignore the > request. Doesn't this want / need solving in grant_table.c itself, as it also affects PV on x86? Or alternatively in gnttab_need_iommu_mapping(), handing the macro the MFN alongside the domain? No matter which one was chosen, it could at the same time avoid the expensive mapkind() invocation in this case. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |