Re: [PATCH -next] kvm/svm: disable KCSAN for svm_vcpu_run()

From: Paolo Bonzini
Date: Wed Apr 15 2020 - 11:57:24 EST


On 15/04/20 17:37, Qian Cai wrote:
> For some reasons, running a simple qemu-kvm command with KCSAN will
> reset AMD hosts. It turns out svm_vcpu_run() could not be instrumented.
> Disable it for now.
>
> # /usr/libexec/qemu-kvm -name ubuntu-18.04-server-cloudimg -cpu host
> -smp 2 -m 2G -hda ubuntu-18.04-server-cloudimg.qcow2
>
> === console output ===
> Kernel 5.6.0-next-20200408+ on an x86_64
>
> hp-dl385g10-05 login:
>
> <...host reset...>
>
> HPE ProLiant System BIOS A40 v1.20 (03/09/2018)
> (C) Copyright 1982-2018 Hewlett Packard Enterprise Development LP
> Early system initialization, please wait...
>
> Signed-off-by: Qian Cai <cai@xxxxxx>
> ---
> arch/x86/kvm/svm/svm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
> index 2be5bbae3a40..1fdb300e9337 100644
> --- a/arch/x86/kvm/svm/svm.c
> +++ b/arch/x86/kvm/svm/svm.c
> @@ -3278,7 +3278,7 @@ static void svm_cancel_injection(struct kvm_vcpu *vcpu)
>
> bool __svm_vcpu_run(unsigned long vmcb_pa, unsigned long *regs);
>
> -static void svm_vcpu_run(struct kvm_vcpu *vcpu)
> +static __no_kcsan void svm_vcpu_run(struct kvm_vcpu *vcpu)
> {
> struct vcpu_svm *svm = to_svm(vcpu);
>
>

I suppose you tested the patch to move cli/sti into the .S file. Anyway:

Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

Thanks,

Paolo