[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <60f9ec74499c673c474e9d909c2f3176bc6711c3.1660974106.git.isaku.yamahata@intel.com>
Date: Fri, 19 Aug 2022 23:00:18 -0700
From: isaku.yamahata@...el.com
To: kvm@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: isaku.yamahata@...el.com, isaku.yamahata@...il.com,
Paolo Bonzini <pbonzini@...hat.com>,
Sean Christopherson <seanjc@...gle.com>,
Kai Huang <kai.huang@...el.com>, Chao Gao <chao.gao@...el.com>,
Will Deacon <will@...nel.org>
Subject: [RFC PATCH 12/18] KVM: Do processor compatibility check on cpu online and resume
From: Isaku Yamahata <isaku.yamahata@...el.com>
So far the processor compatibility check is not done for newly added CPU.
It should be done.
Signed-off-by: Isaku Yamahata <isaku.yamahata@...el.com>
---
virt/kvm/kvm_arch.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/virt/kvm/kvm_arch.c b/virt/kvm/kvm_arch.c
index 2ed8de0591c9..20971f43df95 100644
--- a/virt/kvm/kvm_arch.c
+++ b/virt/kvm/kvm_arch.c
@@ -99,9 +99,15 @@ __weak int kvm_arch_del_vm(int usage_count)
__weak int kvm_arch_online_cpu(unsigned int cpu, int usage_count)
{
- if (usage_count)
- return __hardware_enable();
- return 0;
+ int r;
+
+ if (!usage_count)
+ return 0;
+
+ r = kvm_arch_check_processor_compat();
+ if (r)
+ return r;
+ return __hardware_enable();
}
__weak int kvm_arch_offline_cpu(unsigned int cpu, int usage_count)
@@ -126,6 +132,10 @@ __weak int kvm_arch_suspend(int usage_count)
__weak void kvm_arch_resume(int usage_count)
{
- if (usage_count)
- (void)__hardware_enable();
+ if (!usage_count)
+ return;
+
+ if (kvm_arch_check_processor_compat())
+ return; /* FIXME: disable KVM */
+ (void)__hardware_enable();
}
--
2.25.1
Powered by blists - more mailing lists