From: Andres Lagar-Cavilla Date: Thu, 17 May 2012 09:24:54 +0000 (+0100) Subject: x86/hvm/svm: used unlocked p2m lookups in trace and error paths. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~8443 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=689e711678725683df2a13fbe530a4a238a2b7b4;p=xen.git x86/hvm/svm: used unlocked p2m lookups in trace and error paths. Signed-off-by: Andres Lagar-Cavilla --- diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 8604259042..e717dda8dd 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -1321,8 +1321,7 @@ static void svm_do_nested_pgfault(struct vcpu *v, p2m = p2m_get_p2m(v); _d.gpa = gpa; _d.qualification = 0; - mfn = get_gfn_type_access(p2m, gfn, &_d.p2mt, &p2ma, 0, NULL); - __put_gfn(p2m, gfn); + mfn = __get_gfn_type_access(p2m, gfn, &_d.p2mt, &p2ma, 0, NULL, 0); _d.mfn = mfn_x(mfn); __trace_var(TRC_HVM_NPF, 0, sizeof(_d), &_d); @@ -1343,8 +1342,7 @@ static void svm_do_nested_pgfault(struct vcpu *v, if ( p2m == NULL ) p2m = p2m_get_p2m(v); /* Everything else is an error. */ - mfn = get_gfn_type_access(p2m, gfn, &p2mt, &p2ma, 0, NULL); - __put_gfn(p2m, gfn); + mfn = __get_gfn_type_access(p2m, gfn, &p2mt, &p2ma, 0, NULL, 0); gdprintk(XENLOG_ERR, "SVM violation gpa %#"PRIpaddr", mfn %#lx, type %i\n", gpa, mfn_x(mfn), p2mt);