*/
if ( (real_pg_owner == NULL) || (pg_owner == l1e_owner) ||
!IS_PRIV_FOR(pg_owner, real_pg_owner) )
+ {
+ MEM_LOG("pg_owner %d l1e_owner %d, but real_pg_owner %d",
+ pg_owner->domain_id, l1e_owner->domain_id,
+ real_pg_owner?real_pg_owner->domain_id:-1);
goto could_not_pin;
+ }
pg_owner = real_pg_owner;
}
write = (l1f & _PAGE_RW) &&
((l1e_owner == pg_owner) || !paging_mode_external(pg_owner));
if ( write && !get_page_type(page, PGT_writable_page) )
+ {
+ MEM_LOG("Could not get page type PGT_writable_page");
goto could_not_pin;
+ }
if ( pte_flags_to_cacheattr(l1f) !=
((page->count_info & PGC_cacheattr_mask) >> PGC_cacheattr_base) )