Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22BAAC433F5 for ; Fri, 26 Nov 2021 12:58:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377556AbhKZNBp (ORCPT ); Fri, 26 Nov 2021 08:01:45 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:59285 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347986AbhKZM7j (ORCPT ); Fri, 26 Nov 2021 07:59:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637931386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Et9E/ithShfXgunEZwY5wgPwrsvEeSfHkQyeQlhEjGc=; b=AZwlbZPb07ivL1fNKeuP40Fnmdx+uJOU4ktYqa3mejeCAOOwh6OOikfAQCNB2P4iPStK6D 4ptstv+MljjeNYXI/KjuaW29C1POozY8vXz5J0nvNed+ryvejO1RFBGhq25BpgukfU3PJj 7G1v4mRoBzL4R04OzJlxQMwZ1+ZYe2s= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-587-Rkk-tMbMOdeaHgo_W5C-0Q-1; Fri, 26 Nov 2021 07:56:16 -0500 X-MC-Unique: Rkk-tMbMOdeaHgo_W5C-0Q-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3374080A1A7; Fri, 26 Nov 2021 12:56:14 +0000 (UTC) Received: from [10.39.195.16] (unknown [10.39.195.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8CB0160BE5; Fri, 26 Nov 2021 12:56:04 +0000 (UTC) Message-ID: Date: Fri, 26 Nov 2021 13:56:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH 11/12] KVM: X86: Check root_level only in fast_pgd_switch() Content-Language: en-US To: Lai Jiangshan , linux-kernel@vger.kernel.org Cc: kvm@vger.kernel.org, Lai Jiangshan , Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" References: <20211124122055.64424-1-jiangshanlai@gmail.com> <20211124122055.64424-12-jiangshanlai@gmail.com> From: Paolo Bonzini In-Reply-To: <20211124122055.64424-12-jiangshanlai@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/24/21 13:20, Lai Jiangshan wrote: > From: Lai Jiangshan > > If root_level >= 4, shadow_root_level must be >= 4 too. > Checking only root_level can reduce a check. > > Signed-off-by: Lai Jiangshan > --- > arch/x86/kvm/mmu/mmu.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > index 9fb9927264d8..1dc8bfd12ecd 100644 > --- a/arch/x86/kvm/mmu/mmu.c > +++ b/arch/x86/kvm/mmu/mmu.c > @@ -4136,8 +4136,7 @@ static bool fast_pgd_switch(struct kvm_vcpu *vcpu, gpa_t new_pgd, > * having to deal with PDPTEs. We may add support for 32-bit hosts/VMs > * later if necessary. > */ > - if (mmu->shadow_root_level >= PT64_ROOT_4LEVEL && > - mmu->root_level >= PT64_ROOT_4LEVEL) > + if (mmu->root_level >= PT64_ROOT_4LEVEL) > return cached_root_available(vcpu, new_pgd, new_role); > > return false; > Hmm, I think this is more confusing. I *think* that adding support for PAE would be mostly an issue with the guest PDPTRs, and not with the shadow PDPTRs, but without thinking more about it I'm leaning towards not applying this patch. Paolo