linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* fastpath_t?  __no_kcsan? Both?
@ 2020-06-15  4:20 Paul E. McKenney
  2020-06-15  7:12 ` Paolo Bonzini
  0 siblings, 1 reply; 3+ messages in thread
From: Paul E. McKenney @ 2020-06-15  4:20 UTC (permalink / raw)
  To: cai, pbonzini, elver; +Cc: linux-kernel

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);
 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: fastpath_t? __no_kcsan? Both?
  2020-06-15  4:20 fastpath_t? __no_kcsan? Both? Paul E. McKenney
@ 2020-06-15  7:12 ` Paolo Bonzini
  2020-06-15 14:03   ` Paul E. McKenney
  0 siblings, 1 reply; 3+ messages in thread
From: Paolo Bonzini @ 2020-06-15  7:12 UTC (permalink / raw)
  To: paulmck, cai, elver; +Cc: linux-kernel

On 15/06/20 06:20, Paul E. McKenney wrote:
> 
> 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?

fastpath_t is just an enum, so

	static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu)

Now that KCSAN has been merged however I can do this change myself.

Thanks!

Paolo


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: fastpath_t? __no_kcsan? Both?
  2020-06-15  7:12 ` Paolo Bonzini
@ 2020-06-15 14:03   ` Paul E. McKenney
  0 siblings, 0 replies; 3+ messages in thread
From: Paul E. McKenney @ 2020-06-15 14:03 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: cai, elver, linux-kernel

On Mon, Jun 15, 2020 at 09:12:56AM +0200, Paolo Bonzini wrote:
> On 15/06/20 06:20, Paul E. McKenney wrote:
> > 
> > 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?
> 
> fastpath_t is just an enum, so
> 
> 	static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu)
> 
> Now that KCSAN has been merged however I can do this change myself.

Very good, over to you, and thank you!

							Thanx, Paul

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-06-15 14:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-15  4:20 fastpath_t? __no_kcsan? Both? Paul E. McKenney
2020-06-15  7:12 ` Paolo Bonzini
2020-06-15 14:03   ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).