Marcelo Tosatti
91b7cbea9e
KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock
...
commit 5f02ef741a785678930f3ff0a8b6b2b0ef1bb402 upstream.
blocked_vcpu_on_cpu_lock is taken from hard interrupt context
(pi_wakeup_handler), therefore it cannot sleep.
Switch it to a raw spinlock.
Fixes:
[41297.066254] BUG: scheduling while atomic: CPU 0/KVM/635218/0x00010001
[41297.066323] Preemption disabled at:
[41297.066324] [<ffffffff902ee47f>] irq_enter_rcu+0xf/0x60
[41297.066339] Call Trace:
[41297.066342] <IRQ>
[41297.066346] dump_stack_lvl+0x34/0x44
[41297.066353] ? irq_enter_rcu+0xf/0x60
[41297.066356] __schedule_bug.cold+0x7d/0x8b
[41297.066361] __schedule+0x439/0x5b0
[41297.066365] ? task_blocks_on_rt_mutex.constprop.0.isra.0+0x1b0/0x440
[41297.066369] schedule_rtlock+0x1e/0x40
[41297.066371] rtlock_slowlock_locked+0xf1/0x260
[41297.066374] rt_spin_lock+0x3b/0x60
[41297.066378] pi_wakeup_handler+0x31/0x90 [kvm_intel]
[41297.066388] sysvec_kvm_posted_intr_wakeup_ipi+0x9d/0xd0
[41297.066392] </IRQ>
[41297.066392] asm_sysvec_kvm_posted_intr_wakeup_ipi+0x12/0x20
...
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 11:02:45 +01:00
..
2021-09-19 10:37:00 -07:00
2021-11-25 09:49:06 +01:00
2022-01-20 09:13:14 +01:00
2022-01-20 09:13:14 +01:00
2022-01-20 09:13:14 +01:00
2021-09-08 12:55:35 -07:00
2021-11-25 09:48:42 +01:00
2021-11-18 19:16:13 +01:00
2021-11-25 09:49:07 +01:00
2021-09-08 16:02:13 -07:00
2021-12-01 09:04:53 +01:00
2022-01-20 09:13:14 +01:00
2021-10-27 09:29:07 -05:00
2021-11-18 19:17:06 +01:00
2022-01-05 12:42:33 +01:00
2022-01-05 12:42:33 +01:00
2022-01-20 09:13:14 +01:00
2022-01-20 09:13:14 +01:00
2021-11-25 09:48:31 +01:00
2021-11-25 09:49:07 +01:00
2021-11-25 09:49:06 +01:00
2022-01-27 11:02:45 +01:00
2021-10-05 12:19:05 -07:00
2021-11-18 19:17:21 +01:00