mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
kvm: async_pf: fix rcu_irq_enter() with irqs enabled
commit bbaf0e2b1c upstream.
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: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e21ad4a956
commit
a8bbdf1921
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user