Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4926829pxj; Tue, 22 Jun 2021 11:00:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxwvnOFMhPJWK1RRbMrfeXMAdtrDGVDJLF6ZQP2p5Peupvpn+Lo9i0tD+vgpVbOFg0O8cyV X-Received: by 2002:a6b:e306:: with SMTP id u6mr3847631ioc.132.1624384847494; Tue, 22 Jun 2021 11:00:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624384847; cv=none; d=google.com; s=arc-20160816; b=IQ4ecXKg8lXTHbgcdIoQtUhgJeG/qOQ8fkyAOOdbk9dGK+E7OXjT5eFg19CDiJfDvg kE2mws3QeMp+CNC/O3e9UyuBjxMpJ7GZGRWrIBhGgUoMPgo5c8XVODcKy+gS8Sav/YYR yXbDQRL63CKDtFo2WX/4RV80GhmrcOX76YkZlx+rtG4OJc+VfbrJ+p0ZCQi9i9zjZIBx 8EH4eEB5z/gLNZEyuA++CAYbDhpf1T1t76LmlTFls9lciTOyn3RqzMWHTqlPWmuzZ2OV eIjdP9UuQHCpNuiEbomD+9o1GMoOLH3BMs0XzZ/Ln2ShRYzZrOynp/GzjVW7lE9p63FN 8CsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:reply-to:dkim-signature; bh=Y3DE/+nhI8hKRcsxwDWqTYPTqmeZA0ewM302/K5Or18=; b=H8lpfk1Y6/XPRn6qvSx85Jmw/QcFxhv8ImITRbdGSD7LamXz6ennOG33D+P4Hzu65Z z6LnffZgZ3J5xXJVyCngOHLmpERSWtf5+bRYbzrSX28OxwBUtaJZKqBR8l9JFjCLSmHW lpWhpRF6NQTIl2dxeaxtf4pXXljAkWhl1rMij9rlDFCEnhzmprXVhUR7+zhIgfTJopyr cVqloXpYN5TWM8XmN/TmRWCfwOb/M/RBknU35dxoYCtdyXPn1UywXBOuEcWc53WFoFh3 UTxqN6RWpHkN4+5sIPL4YniSVE6XXgWynlo3m9RtPrJIrPNFLHBaf+mKZzXDOTi6rFPJ Bctg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=RriloTVj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m1si18595020ilu.13.2021.06.22.11.00.34; Tue, 22 Jun 2021 11:00:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=RriloTVj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232822AbhFVSBl (ORCPT + 99 others); Tue, 22 Jun 2021 14:01:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37650 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232392AbhFVSBQ (ORCPT ); Tue, 22 Jun 2021 14:01:16 -0400 Received: from mail-qv1-xf49.google.com (mail-qv1-xf49.google.com [IPv6:2607:f8b0:4864:20::f49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A187CC061146 for ; Tue, 22 Jun 2021 10:58:33 -0700 (PDT) Received: by mail-qv1-xf49.google.com with SMTP id f11-20020a056214164bb029026bc7adaae8so12450104qvw.2 for ; Tue, 22 Jun 2021 10:58:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=Y3DE/+nhI8hKRcsxwDWqTYPTqmeZA0ewM302/K5Or18=; b=RriloTVjS0q2o8MofR6Z5JpZFWZqk9SNDGq+/q+gYKgWnUcyxLds9wPSZMEe6q2Zv6 ItgXMx8wuuMFTdlxLX72BVxjjGua+jUQpPnsKAwRLXWvICPby/Iq4zR+NcuFzC7GORFv rpCtVtBbCdQ+kf5leTycfLI6hKmJXwgpAg07Xd2oTJ3fUtvAHuYFstzyOaOv2DjDFzqu T7m4LfJ0MVQRPHM8YPv813/6aRfBQzUbvaIrVN5gGl7J1ioeYUGoL/JIvbnjGx1+Iols YMv0+QjLxr4LtHsCtxSxEdFYnf1QEaRgcLoebJYBz6pg3FZMhVBIRHArW2XZxBpU5KOO td3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=Y3DE/+nhI8hKRcsxwDWqTYPTqmeZA0ewM302/K5Or18=; b=rjulVIlOwyAWnR5ys4IRixDg32rap9eNcHRgzdr4prfpcEiZs1Ezr6Iewq3MmoPmFO Jl4HbmRrEKfb8suKGgWu/LvbEIiOuBblnm3tD9XlfcvHq8P7LbQcZy0GLRWL40MKIYXr 4Ls4ZJ53PpG35KeypTEWPMGY5oRnzJDIY7UpWomrVmLkqYHV0dmgyds8+xbqGrR/tVG8 HnORtWDBmDIwOMQUbY1a7rR9K1IGQ4hq5WK3a9w46KJiZi8wH6XlRrBsh0J9MTf7AqPO EAKbed5b1muk9Q6+QNJnlyodgWgAuTS7U8UN2tslx2hVsAa6JPxhOW/rA96aEYGXtClY L7cA== X-Gm-Message-State: AOAM531lMOZUAMwePQtQg//BEiD5ycYDSLJDbQAfVR1P0oGd0029vDBV LQzbrroUwcf4+60SJcydTaMl4xmnIsc= X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:f:10:5722:92ce:361f:3832]) (user=seanjc job=sendgmr) by 2002:a5b:c:: with SMTP id a12mr6524009ybp.123.1624384712819; Tue, 22 Jun 2021 10:58:32 -0700 (PDT) Reply-To: Sean Christopherson Date: Tue, 22 Jun 2021 10:57:01 -0700 In-Reply-To: <20210622175739.3610207-1-seanjc@google.com> Message-Id: <20210622175739.3610207-17-seanjc@google.com> Mime-Version: 1.0 References: <20210622175739.3610207-1-seanjc@google.com> X-Mailer: git-send-email 2.32.0.288.g62a8d224e6-goog Subject: [PATCH 16/54] KVM: x86/mmu: Drop smep_andnot_wp check from "uses NX" for shadow MMUs From: Sean Christopherson To: Paolo Bonzini Cc: Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Yu Zhang , Maxim Levitsky Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Drop the smep_andnot_wp role check from the "uses NX" calculation now that all non-nested shadow MMUs treat NX as used via the !TDP check. The shadow MMU for nested NPT, which shares the helper, does not need to deal with SMEP (or WP) as NPT walks are always "user" accesses and WP is explicitly noted as being ignored: Table walks for guest page tables are always treated as user writes at the nested page table level. A table walk for the guest page itself is always treated as a user access at the nested page table level The host hCR0.WP bit is ignored under nested paging. Signed-off-by: Sean Christopherson --- 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 96c16a6e0044..ca7680d1ea24 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -4223,8 +4223,7 @@ reset_shadow_zero_bits_mask(struct kvm_vcpu *vcpu, struct kvm_mmu *context) * NX can be used by any non-nested shadow MMU to avoid having to reset * MMU contexts. Note, KVM forces EFER.NX=1 when TDP is disabled. */ - bool uses_nx = context->nx || !tdp_enabled || - context->mmu_role.base.smep_andnot_wp; + bool uses_nx = context->nx || !tdp_enabled; struct rsvd_bits_validate *shadow_zero_check; int i; -- 2.32.0.288.g62a8d224e6-goog