From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v2 01/22] KVM: MMU: fix walking shadow page table Date: Mon, 27 Jun 2011 14:35:25 +0800 Message-ID: <4E0824AD.9020004@cn.fujitsu.com> References: <4E01FBC9.3020009@cn.fujitsu.com> <4E01FBF4.9070004@cn.fujitsu.com> <20110622171336.GA24700@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Avi Kivity , LKML , KVM To: Marcelo Tosatti Return-path: In-Reply-To: <20110622171336.GA24700@amt.cnet> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 06/23/2011 01:13 AM, Marcelo Tosatti wrote: > On Wed, Jun 22, 2011 at 10:28:04PM +0800, Xiao Guangrong wrote: >> Properly check the last mapping, and do not walk to the next level if last spte >> is met >> >> Signed-off-by: Xiao Guangrong >> --- >> arch/x86/kvm/mmu.c | 9 +++++---- >> 1 files changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c >> index 9c629b5..f474e93 100644 >> --- a/arch/x86/kvm/mmu.c >> +++ b/arch/x86/kvm/mmu.c >> @@ -1517,10 +1517,6 @@ static bool shadow_walk_okay(struct kvm_shadow_walk_iterator *iterator) >> if (iterator->level < PT_PAGE_TABLE_LEVEL) >> return false; >> >> - if (iterator->level == PT_PAGE_TABLE_LEVEL) > > Change to >= PT_PAGE_TABLE_LEVEL, checks should be in shadow_walk_okay. > Marcelo, Sorry, i did not remember, we can not check the last spte in shadow_walk_okay, otherwise the last spte is skipped in the loop. :-)