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

Re: [Xen-devel] get_page_from_gfn() for foreign pages



>>> On 01.03.18 at 12:39, <Paul.Durrant@xxxxxxxxxx> wrote:
> Whilst debugging my PV-IOMMU code I ran into an issue with 
> get_page_from_gfn(): It is failing when the gfn in question is actually a 
> grant map from another domain, and the reason for this is that get_page(page, 
> domain) explicitly fails if the page owner is not the domain specified to the 
> call. However, I find that ARM implementation of get_page_from_gfn() has a 
> test for foreign p2m entries and completes successfully (by avoiding a call 
> to get_page() and instead calling page_get_owner_and_reference() directly).
> 
> I can't think of any particular reason why, on x86, get_page_from_gfn() 
> should not work for foreign mapped or grant mapped pages. Does anyone know 
> why the restriction is there?

What part of {,p2m_}get_page_from_gfn() are you referring to?
p2m_get_page_from_gfn()'s fast path does what you want; it looks
like the slow path was wrongly ignored in 50fe6e7370 ("pvh dom0:
add and remove foreign pages"). Or are you thinking about this for
a PV domain (and hence you look at the second half of
get_page_from_gfn())?

For grant mapped pages the situation may be a little less clear:
How would you deal with a grant being revoked when you have
random uses of the page in another domain?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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