Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bbaf0e2b authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Radim Krčmář
Browse files

kvm: async_pf: fix rcu_irq_enter() with irqs enabled



native_safe_halt enables interrupts, and you just shouldn't
call rcu_irq_enter() with interrupts enabled.  Reorder the
call with the following local_irq_disable() to respect the
invariant.

Reported-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Acked-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: default avatarWanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
parent 3c2993b8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -161,8 +161,8 @@ void kvm_async_pf_task_wait(u32 token)
			 */
			rcu_irq_exit();
			native_safe_halt();
			rcu_irq_enter();
			local_irq_disable();
			rcu_irq_enter();
		}
	}
	if (!n.halted)