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-12-08 09:03:22 +01:00
2021-12-08 09:03:27 +01:00
2022-01-27 10:53:40 +01:00
2021-07-28 14:35:34 +02:00
2020-12-30 11:54:14 +01:00
2020-06-04 11:00:54 -04:00
2021-05-19 10:13:16 +02:00
2021-12-17 10:14:40 +01:00
2020-06-01 04:26:11 -04:00
2020-06-11 12:35:18 -04:00
2020-01-27 19:59:37 +01:00
2021-11-12 14:58:32 +01:00
2021-11-12 14:58:32 +01:00
2020-08-23 17:36:59 -05:00
2020-11-27 09:27:28 -05:00
2020-05-27 13:11:10 -04:00
2020-10-21 17:36:30 -04:00
2020-10-21 17:48:50 -04:00
2021-05-19 10:13:16 +02:00
2021-06-23 14:42:41 +02:00
2020-09-28 07:57:22 -04:00
2020-10-21 18:17:00 -04:00
2021-01-12 20:18:26 +01:00
2020-01-27 19:59:39 +01:00
2020-07-09 07:08:37 -04:00
2020-07-08 16:21:59 -04:00
2021-06-16 12:01:46 +02:00
2022-01-20 09:17:51 +01:00
2021-08-26 08:35:34 -04:00