From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Egger, Christoph" Subject: Re: [PATCH 1/1 V2] x86/AMD: Fix nested svm crash due to assertion in __virt_to_maddr Date: Mon, 8 Jul 2013 11:18:35 +0200 Message-ID: <51DA83EB.7040605@amazon.de> References: <1373062237-2936-1-git-send-email-suravee.suthikulpanit@amd.com> <51DA9EDD02000078000E32F5@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <51DA9EDD02000078000E32F5@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: suravee.suthikulpanit@amd.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 08.07.13 11:13, Jan Beulich wrote: >>>> On 06.07.13 at 00:10, wrote: >> @@ -1816,7 +1816,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb, >> goto inject; >> } >> >> - svm_vmload(nv->nv_vvmcx); >> + svm_vmload_by_paddr(nv->nv_vvmcxaddr); >> /* State in L1 VMCB is stale now */ >> v->arch.hvm_svm.vmcb_in_sync = 0; >> >> @@ -1852,7 +1852,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb, >> goto inject; >> } >> >> - svm_vmsave(nv->nv_vvmcx); >> + svm_vmsave_by_paddr(nv->nv_vvmcxaddr); >> >> __update_guest_eip(regs, inst_len); >> return; > > As said on the previous version already - from all I can tell these > are GPAs, not PAs, and hence can't be passed untranslated to > VMLOAD/VMSAVE. If I'm right with this, I also can't see how this > would have worked for you... You can translate GPA->PA with the hostp2m. > Apart from that I also dislike the _by_paddr suffix. I'd suggest > either just _pa, or (slightly preferable) prefixing the names with > a double underscore instead. I prefer _pa suffix over the latter. Christoph