Re: linux-next: build failure after merge of the kvm-fixes tree

From: Paolo Bonzini
Date: Thu May 27 2021 - 07:44:36 EST


On 27/05/21 06:56, Wanpeng Li wrote:
On Thu, 27 May 2021 at 10:50, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:

Hi all,

After merging the kvm-fixes tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

In file included from arch/powerpc/include/asm/kvm_ppc.h:19,
from arch/powerpc/include/asm/dbell.h:17,
from arch/powerpc/kernel/asm-offsets.c:38:
include/linux/kvm_host.h: In function 'kvm_vcpu_can_poll':
include/linux/kvm_host.h:270:9: error: implicit declaration of function 'single_task_running' [-Werror=implicit-function-declaration]
270 | return single_task_running() && !need_resched() && ktime_before(cur, stop);
| ^~~~~~~~~~~~~~~~~~~

Caused by commit

85d4c3baeb45 ("KVM: PPC: exit halt polling on need_resched()")

I have used the kvm-fixes tree from next-20210524 again today.

The kvm/master is broken by several patches.

I made a mess and pushed a bunch of 5.13 patches to it. Apologies everyone, I will rewind kvm/master. If you had checked it out yesterday, be careful to remove anything not belonging to your tree.

Paolo

diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index 0f6f394..e851671 100644
--- a/arch/x86/kvm/hyperv.c
+++ b/arch/x86/kvm/hyperv.c
@@ -1659,7 +1659,7 @@ struct kvm_hv_hcall {

static u64 kvm_hv_flush_tlb(struct kvm_vcpu *vcpu, struct
kvm_hv_hcall *hc, bool ex)
{
- int i, j;
+ int i;
gpa_t gpa;
struct kvm *kvm = vcpu->kvm;
struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(vcpu);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 9d095bed..feb9611 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3604,7 +3604,7 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu,
struct msr_data *msr_info)
* to ensure backwards-compatible behavior for migration.
*/
if (msr_info->host_initiated &&
- kvm_check_has_quirk(vcpu->kvm, KVM_X86_QUIRK_TSC_HOST_ACCESS))
+ kvm_check_has_quirk(vcpu->kvm, KVM_X86_QUIRK_TSC_HOST_ACCESS)) {
offset = vcpu->arch.l1_tsc_offset;
ratio = vcpu->arch.l1_tsc_scaling_ratio;
} else {
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 18905c9..4273e04 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -10,6 +10,7 @@
#include <linux/spinlock.h>
#include <linux/signal.h>
#include <linux/sched.h>
+#include <linux/sched/stat.h>
#include <linux/bug.h>
#include <linux/minmax.h>
#include <linux/mm.h>