Messages in this thread Patch in this message | | | Date | Sun, 14 Jun 2020 21:20:02 -0700 | From | "Paul E. McKenney" <> | Subject | fastpath_t? __no_kcsan? Both? |
| |
Hello!
I get the following conflict when rebasing 39a8c47635b0 ("kvm/svm: Disable KCSAN for svm_vcpu_run()") onto v5.8-rc1:
<<<<<<< 6c410247efb2d3907b508a2448ab9ab1c86d938c static fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) ======= static __no_kcsan void svm_vcpu_run(struct kvm_vcpu *vcpu) >>>>>>> kvm/svm: Disable KCSAN for svm_vcpu_run()
The "natural" resolution would be this:
static fastpath_t __no_kcsan void svm_vcpu_run(struct kvm_vcpu *vcpu)
But does that make sense?
I have dropped this commit for the time being. Please either let me know the proper resolution or submit a fresh patch, your choice.
Thanx, Paul
------------------------------------------------------------------------
commit 39a8c47635b00ebf9a3c52d9ca357fff5a8b36e3 Author: Qian Cai <cai@lca.pw> Date: Wed Apr 15 11:37:09 2020 -0400
kvm/svm: Disable KCSAN for svm_vcpu_run() 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. This commit therefore disables 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... Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Qian Cai <cai@lca.pw> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 38f6aee..c6f89e4 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3280,7 +3280,7 @@ static void svm_cancel_injection(struct kvm_vcpu *vcpu) void __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);
| |