diff options
| author | Claudio Imbrenda <imbrenda@linux.ibm.com> | 2026-02-04 16:02:35 +0100 |
|---|---|---|
| committer | Claudio Imbrenda <imbrenda@linux.ibm.com> | 2026-02-04 17:00:08 +0100 |
| commit | cf3ce3d69d56bd3ef2bc5f6b500ebc5181637161 (patch) | |
| tree | c17e61b0f2519409fa8ade1f01aedb41c6f3f011 | |
| parent | c98175b7917fa81cd499b1527c4a57fd7d36711e (diff) | |
KVM: s390: Introduce import_lock
Introduce import_lock to avoid future races when converting pages to
secure.
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
| -rw-r--r-- | arch/s390/include/asm/kvm_host.h | 2 | ||||
| -rw-r--r-- | arch/s390/kvm/kvm-s390.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h index ae1223264d3c..3dbddb7c60a9 100644 --- a/arch/s390/include/asm/kvm_host.h +++ b/arch/s390/include/asm/kvm_host.h @@ -630,6 +630,8 @@ struct kvm_s390_pv { void *set_aside; struct list_head need_cleanup; struct mmu_notifier mmu_notifier; + /* Protects against concurrent import-like operations */ + struct mutex import_lock; }; struct kvm_arch { diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index 56a50524b3ee..cd39b2f099ca 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c @@ -3330,6 +3330,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) char debug_name[16]; int i, rc; + mutex_init(&kvm->arch.pv.import_lock); + rc = -EINVAL; #ifdef CONFIG_KVM_S390_UCONTROL if (type & ~KVM_VM_S390_UCONTROL) |
