Marcelo Tosatti
aa1346113c
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 10:53:40 +01:00
..
2021-09-30 10:11:07 +02:00
2021-09-22 12:28:04 +02:00
2022-01-20 09:17:50 +01:00
2022-01-20 09:17:50 +01:00
2020-10-23 10:06:38 -07:00
2022-01-20 09:17:50 +01:00
2021-02-17 11:02:28 +01:00
2021-11-26 10:39:19 +01:00
2021-11-18 14:03:55 +01:00
2021-11-18 14:04:24 +01:00
2021-01-12 20:18:16 +01:00
2021-12-01 09:19:07 +01:00
2022-01-20 09:17:50 +01:00
2021-11-02 19:48:23 +01:00
2021-11-18 14:04:25 +01:00
2022-01-05 12:40:29 +01:00
2022-01-20 09:17:52 +01:00
2022-01-20 09:17:50 +01:00
2022-01-20 09:17:50 +01:00
2021-11-26 10:39:12 +01:00
2021-10-09 14:40:56 +02:00
2021-09-26 14:08:57 +02:00
2022-01-27 10:53:40 +01:00
2021-10-27 09:56:47 +02:00
2021-11-18 14:04:32 +01:00