diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index 6b9e8066c6..181acc7bc6 100644 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -825,7 +825,7 @@ static int set_typed_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn, omfn = p2m->get_entry(p2m, gfn, &ot, &a, 0, NULL); if ( p2m_is_grant(ot) || p2m_is_foreign(ot) ) { - p2m_unlock(p2m); + gfn_unlock(p2m, gfn, 0); domain_crash(d); return -ENOENT; }