From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v2 09/13] KVM: x86: pass kvm_mmu_page to gfn_to_rmap Date: Tue, 09 Jun 2015 11:28:03 +0800 Message-ID: <55765D43.8090302@linux.intel.com> References: <1432746314-50196-1-git-send-email-pbonzini@redhat.com> <1432746314-50196-10-git-send-email-pbonzini@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: rkrcmar@redhat.com, bdas@redhat.com To: Paolo Bonzini , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Return-path: Received: from mga09.intel.com ([134.134.136.24]:3041 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753264AbbFIDcI (ORCPT ); Mon, 8 Jun 2015 23:32:08 -0400 In-Reply-To: <1432746314-50196-10-git-send-email-pbonzini@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 05/28/2015 01:05 AM, Paolo Bonzini wrote: > This is always available (with one exception in the auditing code). > Later we will also use the role to look up the right memslots array. > return; > @@ -191,11 +191,15 @@ static void audit_write_protection(struct kvm *kvm, struct kvm_mmu_page *sp) > unsigned long *rmapp; > u64 *sptep; > struct rmap_iterator iter; > + struct kvm_memslots *slots; > + struct kvm_memory_slot *slot; > > if (sp->role.direct || sp->unsync || sp->role.invalid) > return; > > - rmapp = gfn_to_rmap(kvm, sp->gfn, PT_PAGE_TABLE_LEVEL); > + slots = kvm_memslots(kvm); > + slot = __gfn_to_memslot(slots, sp->gfn); > + rmapp = __gfn_to_rmap(sp->gfn, PT_PAGE_TABLE_LEVEL, slot); > Why @sp is not available here?