From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH] kvm: x86: Fix MMU auditing code Date: Sat, 25 Apr 2009 12:43:21 +0200 Message-ID: <49F2E949.7070708@web.de> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig5C3457440CBCED362893B6D2" Cc: kvm-devel To: Avi Kivity Return-path: Received: from fmmailgate02.web.de ([217.72.192.227]:58860 "EHLO fmmailgate02.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751391AbZDYKnX (ORCPT ); Sat, 25 Apr 2009 06:43:23 -0400 Sender: kvm-owner@vger.kernel.org List-ID: This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig5C3457440CBCED362893B6D2 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Fix build breakage of hpa lookup in audit_mappings_page. Moreover, make this function robust against shadow_notrap_nonpresent_pte entries. Signed-off-by: Jan Kiszka --- arch/x86/kvm/mmu.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index 5b79afa..a55373c 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -3030,11 +3030,13 @@ static void audit_mappings_page(struct kvm_vcpu *= vcpu, u64 page_pte, " in nonleaf level: levels %d gva %lx" " level %d pte %llx\n", audit_msg, vcpu->arch.mmu.root_level, va, level, ent); - - audit_mappings_page(vcpu, ent, va, level - 1); + else + audit_mappings_page(vcpu, ent, va, level - 1); } else { gpa_t gpa =3D vcpu->arch.mmu.gva_to_gpa(vcpu, va); - hpa_t hpa =3D (hpa_t)gpa_to_pfn(vcpu, gpa) << PAGE_SHIFT; + gfn_t gfn =3D gpa >> PAGE_SHIFT; + pfn_t pfn =3D gfn_to_pfn(vcpu->kvm, gfn); + hpa_t hpa =3D (hpa_t)pfn << PAGE_SHIFT; =20 if (is_shadow_present_pte(ent) && (ent & PT64_BASE_ADDR_MASK) !=3D hpa) --------------enig5C3457440CBCED362893B6D2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iEYEARECAAYFAkny6UkACgkQniDOoMHTA+m6hACfUfgQE0YnsxSj+ZwCarckdoC3 A3YAnRQI7HHBFQIS3SSQZWvB3i+sppMg =vwqW -----END PGP SIGNATURE----- --------------enig5C3457440CBCED362893B6D2--