@@ -24,10 +24,9 @@
#include <asm/event.h>
#include <asm/guest_walk.h>
-static int __p2m_get_mem_access(struct domain *d, gfn_t gfn,
+static int __p2m_get_mem_access(struct p2m_domain *p2m, gfn_t gfn,
xenmem_access_t *access)
{
- struct p2m_domain *p2m = p2m_get_hostp2m(d);
void *i;
unsigned int index;
@@ -148,7 +147,7 @@ p2m_mem_access_check_and_get_page(vaddr_t gva, unsigned long flag,
* We do this first as this is faster in the default case when no
* permission is set on the page.
*/
- rc = __p2m_get_mem_access(v->domain, gfn, &xma);
+ rc = __p2m_get_mem_access(p2m, gfn, &xma);
if ( rc < 0 )
goto err;
@@ -443,7 +442,7 @@ int p2m_get_mem_access(struct domain *d, gfn_t gfn,
struct p2m_domain *p2m = p2m_get_hostp2m(d);
p2m_read_lock(p2m);
- ret = __p2m_get_mem_access(d, gfn, access);
+ ret = __p2m_get_mem_access(p2m, gfn, access);
p2m_read_unlock(p2m);
return ret;
In this commit, we extend the function prototype of "__p2m_get_mem_access" to hold an argument of type "struct p2m_domain*", as we need to distinguish between the host's p2m and different altp2m views. Signed-off-by: Sergej Proskurin <proskurin@sec.in.tum.de> --- Cc: Stefano Stabellini <sstabellini@kernel.org> Cc: Julien Grall <julien.grall@arm.com> --- v3: Changed the parameter of "p2m_mem_access_check_and_get_page" from "struct p2m_domain*" to "struct vcpu*". v4: We don't need to adjust the function "p2m_mem_access_check_and_get_page" any more, as its change is already part of another patch. --- xen/arch/arm/mem_access.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)