Files
linux/arch/riscv/include/asm
Yong-Xuan Wang 2121cadec4 RISCV: KVM: Introduce mp_state_lock to avoid lock inversion
Documentation/virt/kvm/locking.rst advises that kvm->lock should be
acquired outside vcpu->mutex and kvm->srcu. However, when KVM/RISC-V
handling SBI_EXT_HSM_HART_START, the lock ordering is vcpu->mutex,
kvm->srcu then kvm->lock.

Although the lockdep checking no longer complains about this after commit
f0f44752f5 ("rcu: Annotate SRCU's update-side lockdep dependencies"),
it's necessary to replace kvm->lock with a new dedicated lock to ensure
only one hart can execute the SBI_EXT_HSM_HART_START call for the target
hart simultaneously.

Additionally, this patch also rename "power_off" to "mp_state" with two
possible values. The vcpu->mp_state_lock also protects the access of
vcpu->mp_state.

Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20240417074528.16506-2-yongxuan.wang@sifive.com
Signed-off-by: Anup Patel <anup@brainfault.org>
2024-04-22 10:37:11 +05:30
..
2022-03-10 09:29:21 -08:00
2023-11-05 09:11:23 -08:00
2022-01-19 17:54:09 -08:00
2022-05-11 11:50:10 -07:00
2020-05-18 11:38:10 -07:00
2022-03-29 14:31:07 -07:00
2024-03-27 07:09:06 -07:00
2021-01-14 15:09:06 -08:00
2024-03-15 10:17:38 -07:00
2021-01-07 19:00:50 -08:00
2023-08-23 14:16:36 -07:00