linux-next/arch/riscv
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
..
boot RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
configs RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
crypto crypto: riscv - add vector crypto accelerated AES-CBC-CTS 2024-03-20 08:56:11 -07:00
errata riscv: errata: Rename defines for Andes 2024-03-12 07:13:12 -07:00
include RISCV: KVM: Introduce mp_state_lock to avoid lock inversion 2024-04-22 10:37:11 +05:30
kernel riscv: process: Fix kernel gp leakage 2024-04-04 12:35:05 -07:00
kvm RISCV: KVM: Introduce mp_state_lock to avoid lock inversion 2024-04-22 10:37:11 +05:30
lib RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
mm riscv: mm: Fix prototype to avoid discarding const 2024-03-26 08:26:43 -07:00
net riscv, bpf: Fix kfunc parameters incompatibility between bpf and riscv abi 2024-03-25 11:39:31 -07:00
purgatory riscv: Use SYM_*() assembly macros instead of deprecated ones 2023-11-06 09:42:47 -08:00
tools riscv: Check relocations at compile time 2023-04-19 07:46:32 -07:00
Kbuild RISC-V: hook new crypto subdir into build-system 2024-01-22 17:55:17 -08:00
Kconfig RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
Kconfig.debug riscv: Add tests for riscv module loading 2023-11-07 14:59:32 -08:00
Kconfig.errata RISC-V Patches for the 6.8 Merge Window, Part 4 2024-01-20 11:06:04 -08:00
Kconfig.socs riscv: dts: Move BUILTIN_DTB_SOURCE to common Kconfig 2024-03-06 00:08:32 +00:00
Makefile riscv: compat_vdso: install compat_vdso.so.dbg to /lib/modules/*/vdso/ 2024-03-26 14:08:02 -07:00
Makefile.postlink kbuild: remove ARCH_POSTLINK from module builds 2023-10-28 21:10:08 +09:00