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

From: Paolo Bonzini <[email-masked]>
Date: Thu, 27 May 2021 13:44:27 +0200

On 27/05/21 06:56, Wanpeng Li wrote:
> On Thu, 27 May 2021 at 10:50, Stephen Rothwell <[email-masked]> 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>
>