Re: [PATCH 5.4 000/244] 5.4.119-rc1 review

From: Alexandru Elisei
Date: Wed May 12 2021 - 15:35:20 EST


Hi Naresh,

Thank you for the report!

On 5/12/21 5:47 PM, Naresh Kamboju wrote:
> On Wed, 12 May 2021 at 20:22, Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>> This is the start of the stable review cycle for the 5.4.119 release.
>> There are 244 patches in this series, all will be posted as a response
>> to this one. If anyone has any issues with these being applied, please
>> let me know.
>>
>> Responses should be made by Fri, 14 May 2021 14:47:09 +0000.
>> Anything received after that time might be too late.
>>
>> The whole patch series can be found in one patch at:
>> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.119-rc1.gz
>> or in the git tree and branch at:
>> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
>> and the diffstat can be found below.
>>
>> thanks,
>>
>> greg k-h
> Build regression detected.
>
>> Alexandru Elisei <alexandru.elisei@xxxxxxx>
>> KVM: arm64: Initialize VCPU mdcr_el2 before loading it
> stable rc 5.4 arm axm55xx_defconfig builds failed due to these
> warnings / errors.
> - arm (axm55xx_defconfig) with gcc-8,9 and 10 failed
>
> arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_vcpu_first_run_init':
> arch/arm/kvm/../../../virt/kvm/arm/arm.c:582:2: error: implicit
> declaration of function 'kvm_arm_vcpu_init_debug'; did you mean
> 'kvm_arm_init_debug'? [-Werror=implicit-function-declaration]
> kvm_arm_vcpu_init_debug(vcpu);
> ^~~~~~~~~~~~~~~~~~~~~~~
> kvm_arm_init_debug
> cc1: some warnings being treated as errors

This is my fault, in Linux v5.4 KVM for arm is still around, and there's no
prototype for the function when compiling for arm. I suspect that's also the case
for v4.19.

I made this change to get it to build:

$ git diff
diff --git a/arch/arm/include/asm/kvm_host.h b/arch/arm/include/asm/kvm_host.h
index dd03d5e01a94..32564b017ba0 100644
--- a/arch/arm/include/asm/kvm_host.h
+++ b/arch/arm/include/asm/kvm_host.h
@@ -335,6 +335,7 @@ static inline void kvm_arch_sched_in(struct kvm_vcpu *vcpu,
int cpu) {}
 static inline void kvm_arch_vcpu_block_finish(struct kvm_vcpu *vcpu) {}
 
 static inline void kvm_arm_init_debug(void) {}
+static inline void kvm_arm_vcpu_init_debug(struct kvm_vcpu *vcpu) {}
 static inline void kvm_arm_setup_debug(struct kvm_vcpu *vcpu) {}
 static inline void kvm_arm_clear_debug(struct kvm_vcpu *vcpu) {}
 static inline void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu) {}

which matches the stub for kvm_arm_init_debug(). I can spin a patch out of it and
send it for 5.4 and 4.19. Marc, what do you think?

Thanks,

Alex

>
>
> steps to reproduce:
> --------------------
> #!/bin/sh
>
> # TuxMake is a command line tool and Python library that provides
> # portable and repeatable Linux kernel builds across a variety of
> # architectures, toolchains, kernel configurations, and make targets.
> #
> # TuxMake supports the concept of runtimes.
> # See https://docs.tuxmake.org/runtimes/, for that to work it requires
> # that you install podman or docker on your system.
> #
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
> #
> # See https://docs.tuxmake.org/ for complete documentation.
>
>
> tuxmake --runtime podman --target-arch arm --toolchain gcc-8 --kconfig
> axm55xx_defconfig
>
> ref:
> https://builds.tuxbuild.com/1sRT0HOyHnZ8N5ktJmaEcMIQZL0/
>
>
> --
> Linaro LKFT
> https://lkft.linaro.org