Hi all, On Mon, 18 May 2020 15:42:40 +1000 Stephen Rothwell wrote: > > Today's linux-next merge of the kvm tree got a conflict in: > > arch/x86/kvm/svm/svm.c > > between commit: > > 9f24847d8fdb ("kvm/svm: Disable KCSAN for svm_vcpu_run()") > > from the rcu tree and commits: > > a9ab13ff6e84 ("KVM: X86: Improve latency for single target IPI fastpath") > 404d5d7bff0d ("KVM: X86: Introduce more exit_fastpath_completion enum values") > > from the kvm tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. -- Cheers, Stephen Rothwell diff --cc arch/x86/kvm/svm/svm.c index dca2bdbe34a7,4e9cd2a73ad0..000000000000 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@@ -3279,10 -3315,21 +3315,21 @@@ static void svm_cancel_injection(struc svm_complete_interrupts(svm); } + static fastpath_t svm_exit_handlers_fastpath(struct kvm_vcpu *vcpu) + { + if (!is_guest_mode(vcpu) && + to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR && + to_svm(vcpu)->vmcb->control.exit_info_1) + return handle_fastpath_set_msr_irqoff(vcpu); + + return EXIT_FASTPATH_NONE; + } + void __svm_vcpu_run(unsigned long vmcb_pa, unsigned long *regs); - static __no_kcsan void svm_vcpu_run(struct kvm_vcpu *vcpu) -static fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) ++static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) { + fastpath_t exit_fastpath; struct vcpu_svm *svm = to_svm(vcpu); svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX]; s