All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>
Cc: Sean Christopherson <seanjc@google.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@suse.de>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Brijesh Singh <brijesh.singh@amd.com>
Subject: [PATCH v5 13/15] KVM: SVM: Drop redundant svm_sev_enabled() helper
Date: Wed, 21 Apr 2021 19:11:23 -0700	[thread overview]
Message-ID: <20210422021125.3417167-14-seanjc@google.com> (raw)
In-Reply-To: <20210422021125.3417167-1-seanjc@google.com>

Replace calls to svm_sev_enabled() with direct checks on sev_enabled, or
in the case of svm_mem_enc_op, simply drop the call to svm_sev_enabled().
This effectively replaces checks against a valid max_sev_asid with checks
against sev_enabled.  sev_enabled is forced off by sev_hardware_setup()
if max_sev_asid is invalid, all call sites are guaranteed to run after
sev_hardware_setup(), and all of the checks care about SEV being fully
enabled (as opposed to intentionally handling the scenario where
max_sev_asid is valid but SEV enabling fails due to OOM).

Reviewed by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/kvm/svm/sev.c | 6 +++---
 arch/x86/kvm/svm/svm.h | 5 -----
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
index 68999085db6e..4440459cf8e3 100644
--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -1457,7 +1457,7 @@ int svm_mem_enc_op(struct kvm *kvm, void __user *argp)
 	struct kvm_sev_cmd sev_cmd;
 	int r;
 
-	if (!svm_sev_enabled() || !sev_enabled)
+	if (!sev_enabled)
 		return -ENOTTY;
 
 	if (!argp)
@@ -1844,7 +1844,7 @@ void __init sev_hardware_setup(void)
 
 void sev_hardware_teardown(void)
 {
-	if (!svm_sev_enabled())
+	if (!sev_enabled)
 		return;
 
 	bitmap_free(sev_asid_bitmap);
@@ -1855,7 +1855,7 @@ void sev_hardware_teardown(void)
 
 int sev_cpu_init(struct svm_cpu_data *sd)
 {
-	if (!svm_sev_enabled())
+	if (!sev_enabled)
 		return 0;
 
 	sd->sev_vmcbs = kcalloc(max_sev_asid + 1, sizeof(void *), GFP_KERNEL);
diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h
index 0af638f97b5f..f455784519d7 100644
--- a/arch/x86/kvm/svm/svm.h
+++ b/arch/x86/kvm/svm/svm.h
@@ -568,11 +568,6 @@ void svm_vcpu_unblocking(struct kvm_vcpu *vcpu);
 
 extern unsigned int max_sev_asid;
 
-static inline bool svm_sev_enabled(void)
-{
-	return IS_ENABLED(CONFIG_KVM_AMD_SEV) ? max_sev_asid : 0;
-}
-
 void sev_vm_destroy(struct kvm *kvm);
 int svm_mem_enc_op(struct kvm *kvm, void __user *argp);
 int svm_register_enc_region(struct kvm *kvm,
-- 
2.31.1.498.g6c1eba8ee3d-goog


  parent reply	other threads:[~2021-04-22  2:12 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-22  2:11 [PATCH v5 00/15] KVM: SVM: Misc SEV cleanups Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 01/15] KVM: SVM: Zero out the VMCB array used to track SEV ASID association Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 02/15] KVM: SVM: Free sev_asid_bitmap during init if SEV setup fails Sean Christopherson
2021-04-22 19:34   ` Tom Lendacky
2021-04-22  2:11 ` [PATCH v5 03/15] KVM: SVM: Disable SEV/SEV-ES if NPT is disabled Sean Christopherson
2021-04-22  7:14   ` Paolo Bonzini
2021-04-22 16:15     ` Sean Christopherson
2021-04-22 17:08       ` Paolo Bonzini
2021-04-22 18:11         ` Sean Christopherson
2021-04-23  7:08           ` Paolo Bonzini
2021-04-22  2:11 ` [PATCH v5 04/15] KVM: SVM: Move SEV module params/variables to sev.c Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 05/15] KVM: SEV: Mask CPUID[0x8000001F].eax according to supported features Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 06/15] x86/sev: Drop redundant and potentially misleading 'sev_enabled' Sean Christopherson
2021-04-22 12:05   ` Paolo Bonzini
2021-04-22 12:18     ` Borislav Petkov
2021-04-22 12:16   ` Borislav Petkov
2021-04-22  2:11 ` [PATCH v5 07/15] KVM: SVM: Append "_enabled" to module-scoped SEV/SEV-ES control variables Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 08/15] KVM: SVM: Condition sev_enabled and sev_es_enabled on CONFIG_KVM_AMD_SEV=y Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 09/15] KVM: SVM: Enable SEV/SEV-ES functionality by default (when supported) Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 10/15] KVM: SVM: Unconditionally invoke sev_hardware_teardown() Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 11/15] KVM: SVM: Explicitly check max SEV ASID during sev_hardware_setup() Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 12/15] KVM: SVM: Move SEV VMCB tracking allocation to sev.c Sean Christopherson
2021-04-22  2:11 ` Sean Christopherson [this message]
2021-04-22  2:11 ` [PATCH v5 14/15] KVM: SVM: Remove an unnecessary prototype declaration of sev_flush_asids() Sean Christopherson
2021-04-22  2:11 ` [PATCH v5 15/15] KVM: SVM: Skip SEV cache flush if no ASIDs have been used Sean Christopherson
2021-04-22  7:30   ` Paolo Bonzini
2021-04-22  7:30 ` [PATCH v5 00/15] KVM: SVM: Misc SEV cleanups Paolo Bonzini
2021-04-22 16:02   ` Sean Christopherson
2021-04-22 17:08     ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210422021125.3417167-14-seanjc@google.com \
    --to=seanjc@google.com \
    --cc=bp@suse.de \
    --cc=brijesh.singh@amd.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=jmattson@google.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=thomas.lendacky@amd.com \
    --cc=vkuznets@redhat.com \
    --cc=wanpengli@tencent.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.