From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH v2 07/13] KVM: add vcpu-specific functions to read/write/translate GFNs Date: Fri, 05 Jun 2015 17:27:31 +0200 Message-ID: <5571BFE3.109@redhat.com> References: <1432746314-50196-1-git-send-email-pbonzini@redhat.com> <1432746314-50196-8-git-send-email-pbonzini@redhat.com> <20150529192346.GA11651@potion.brq.redhat.com> <5571795B.6080204@redhat.com> <20150605121051.GD11957@potion.brq.redhat.com> <55719A2F.3030301@redhat.com> <20150605151337.GA16327@potion.brq.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, guangrong.xiao@linux.intel.com, bdas@redhat.com To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= Return-path: Received: from mx1.redhat.com ([209.132.183.28]:51206 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754531AbbFEP1g (ORCPT ); Fri, 5 Jun 2015 11:27:36 -0400 In-Reply-To: <20150605151337.GA16327@potion.brq.redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 05/06/2015 17:13, Radim Kr=C4=8Dm=C3=A1=C5=99 wrote: > 2015-06-05 14:46+0200, Paolo Bonzini: >> On 05/06/2015 14:10, Radim Kr=C4=8Dm=C3=A1=C5=99 wrote: >>> + ret =3D __kvm_write_guest_page(__gfn_to_memslot(slots, gfn), gfn= , >>> + data, offset, seg); >> >> Even better, let's pass memslots to all the __ functions. >=20 > Yeah, while scoping it, I noticed a bug in the series ... > makes me wish that C had a useful type system. >=20 > A quick fix would be to replace gpa with gfn in calls to > __kvm_read_guest_atomic(). I presume you'd prefer a new patch to > rebasing, so it's below. Since it was pushed only for 15 minutes or so, and the fix is two lines= : diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 30425ce6a4a4..848af90b8091 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -1669,7 +1669,7 @@ int kvm_read_guest_atomic(struct kvm *kvm, gpa_t = gpa, void *data, struct kvm_memory_slot *slot =3D gfn_to_memslot(kvm, gfn); int offset =3D offset_in_page(gpa); =20 - return __kvm_read_guest_atomic(slot, gpa, data, offset, len); + return __kvm_read_guest_atomic(slot, gfn, data, offset, len); } EXPORT_SYMBOL_GPL(kvm_read_guest_atomic); =20 @@ -1680,7 +1680,7 @@ int kvm_vcpu_read_guest_atomic(struct kvm_vcpu *v= cpu, gpa_t gpa, struct kvm_memory_slot *slot =3D kvm_vcpu_gfn_to_memslot(vcpu, gfn); int offset =3D offset_in_page(gpa); =20 - return __kvm_read_guest_atomic(slot, gpa, data, offset, len); + return __kvm_read_guest_atomic(slot, gfn, data, offset, len); } EXPORT_SYMBOL_GPL(kvm_vcpu_read_guest_atomic); I just force-pushed kvm/next. The patch is good, but I prefer to do minimal changes before fleeing on holiday. Paolo