Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4689915pxj; Wed, 12 May 2021 10:58:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxAM9AbyNYSHRccH/3DuAawrf6DkPJHVtF4IM5OU9pSI7VndW+rcZyUZdaNONZocjL68onR X-Received: by 2002:a9d:62d2:: with SMTP id z18mr31996584otk.78.1620842290392; Wed, 12 May 2021 10:58:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620842290; cv=none; d=google.com; s=arc-20160816; b=dHW1upPweMyq+Bnaf6JzJRckjSz9yPeS2nQLAV75gQn1vvUoVtrwPBq4wkdp9Otc8h iEdLH9vMT1OlfOsqRY5/z/Z37drnSHCnwMBZ8LUfpreYJDIZaLdLTysPBd1BWRJzjbEc plmTobRS7/mWQJ03PUhiA7BPL+VRVYhNLLqAVsW5zczGlTmNSPZqnCDU8J2By3PJKp1m R3x7MptBZRHTqTrdnfByQKs+tQKmyZeV9q1nw84DQZw1w1eKUBCkDm6CUz/l+6yf0MWV hXwRjThhUpWJSR8RPFSIkztIlYtzkAchOzhmjSibknxksshix2/u5/HEZF7guIqEixuu UDAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=0I1d7FDEskZtCLcWt9T/Y8L4KEUeRarvnRTOdGNWmoE=; b=KAYkTny9MjMKxZsJf1xjYgwzTjPPopTwQ3uMG6ZMU77u1/j0ExwlFyse/FmLkDPLsN uiINRlWmqTuruVX9z9xUAJkiT/+9Aa4N7TLHW/R7J8d52NukvSaGa6+SEaP8MCpjvaWe ohzB0FACR9iBhbER/kBC/z9P4/NyDAODIDRoEaq0gCnRuGe8X6LQQUuv5gauUhJgT3E9 chJJrYm7jAixtfsjE5JZ7EFTlqVNo43Kps64WfwZHsIDHJXLprnufaHWb3myEuzmS++g jZbTWD/vX5iv6f/1UGHatXSEz8AKEoDAvO28qAGIfrHNlaaSeYgigzBEa1B6Q9pqG972 /Ydw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=FydfX2zF; 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=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g17si519272otn.9.2021.05.12.10.57.56; Wed, 12 May 2021 10:58:10 -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=@linuxfoundation.org header.s=korg header.b=FydfX2zF; 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=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240952AbhELR4s (ORCPT + 99 others); Wed, 12 May 2021 13:56:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:41570 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240796AbhELQZi (ORCPT ); Wed, 12 May 2021 12:25:38 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D071361CA8; Wed, 12 May 2021 15:48:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620834508; bh=+e+9fGb0i1UGO5xQP05niRXF8z6Ux1OdOf8kpsudtWs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FydfX2zFFC+wXK4mWKlUA0Gfa/K4lCy4pHngmcHVhrGTAPuBboXm2+c3FSWf+5s8c 7ei32lQVPA1/3NBNgHa/PLtcyI/W03OVloBJmpv53YBqb7ngpxQnL9GggPwWFLryrN Hfvu9INRZJUyjYNiqrFirBPL6fyqDzUZljPr+B5M= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tom Lendacky , Sean Christopherson , Paolo Bonzini , Sasha Levin Subject: [PATCH 5.11 573/601] KVM: SVM: Disable SEV/SEV-ES if NPT is disabled Date: Wed, 12 May 2021 16:50:50 +0200 Message-Id: <20210512144846.717365824@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144827.811958675@linuxfoundation.org> References: <20210512144827.811958675@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sean Christopherson [ Upstream commit fa13680f5668cff05302a2f4753c49334a83a064 ] Disable SEV and SEV-ES if NPT is disabled. While the APM doesn't clearly state that NPT is mandatory, it's alluded to by: The guest page tables, managed by the guest, may mark data memory pages as either private or shared, thus allowing selected pages to be shared outside the guest. And practically speaking, shadow paging can't work since KVM can't read the guest's page tables. Fixes: e9df09428996 ("KVM: SVM: Add sev module_param") Cc: Brijesh Singh Signed-off-by: Sean Christopherson Message-Id: <20210422021125.3417167-4-seanjc@google.com> Signed-off-by: Paolo Bonzini Signed-off-by: Sasha Levin --- arch/x86/kvm/svm/svm.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 99592e03658b..15a69500819d 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -980,7 +980,16 @@ static __init int svm_hardware_setup(void) kvm_enable_efer_bits(EFER_SVME | EFER_LMSLE); } - if (IS_ENABLED(CONFIG_KVM_AMD_SEV) && sev) { + if (!boot_cpu_has(X86_FEATURE_NPT)) + npt_enabled = false; + + if (npt_enabled && !npt) + npt_enabled = false; + + kvm_configure_mmu(npt_enabled, get_max_npt_level(), PG_LEVEL_1G); + pr_info("kvm: Nested Paging %sabled\n", npt_enabled ? "en" : "dis"); + + if (IS_ENABLED(CONFIG_KVM_AMD_SEV) && sev && npt_enabled) { sev_hardware_setup(); } else { sev = false; @@ -995,15 +1004,6 @@ static __init int svm_hardware_setup(void) goto err; } - if (!boot_cpu_has(X86_FEATURE_NPT)) - npt_enabled = false; - - if (npt_enabled && !npt) - npt_enabled = false; - - kvm_configure_mmu(npt_enabled, get_max_npt_level(), PG_LEVEL_1G); - pr_info("kvm: Nested Paging %sabled\n", npt_enabled ? "en" : "dis"); - if (nrips) { if (!boot_cpu_has(X86_FEATURE_NRIPS)) nrips = false; -- 2.30.2