diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2023-01-13 11:27:55 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2023-01-24 06:05:23 -0500 |
commit | dc7c31e922787466957cadf2c0ad21c0f9a4091f (patch) | |
tree | b6c6feeb812282a21d00ae59eaa69033b6c1078a /virt | |
parent | edd731d73221277cb384efeb66da76dae0a68dfa (diff) | |
parent | 310bc39546a435c83cc27a0eba878afac0d74714 (diff) | |
download | lwn-dc7c31e922787466957cadf2c0ad21c0f9a4091f.tar.gz lwn-dc7c31e922787466957cadf2c0ad21c0f9a4091f.zip |
Merge branch 'kvm-v6.2-rc4-fixes' into HEAD
ARM:
* Fix the PMCR_EL0 reset value after the PMU rework
* Correctly handle S2 fault triggered by a S1 page table walk
by not always classifying it as a write, as this breaks on
R/O memslots
* Document why we cannot exit with KVM_EXIT_MMIO when taking
a write fault from a S1 PTW on a R/O memslot
* Put the Apple M2 on the naughty list for not being able to
correctly implement the vgic SEIS feature, just like the M1
before it
* Reviewer updates: Alex is stepping down, replaced by Zenghui
x86:
* Fix various rare locking issues in Xen emulation and teach lockdep
to detect them
* Documentation improvements
* Do not return host topology information from KVM_GET_SUPPORTED_CPUID
Diffstat (limited to 'virt')
-rw-r--r-- | virt/kvm/kvm_main.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 0f17b8786792..d255964ec331 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -3946,6 +3946,13 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id) } mutex_lock(&kvm->lock); + +#ifdef CONFIG_LOCKDEP + /* Ensure that lockdep knows vcpu->mutex is taken *inside* kvm->lock */ + mutex_lock(&vcpu->mutex); + mutex_unlock(&vcpu->mutex); +#endif + if (kvm_get_vcpu_by_id(kvm, id)) { r = -EEXIST; goto unlock_vcpu_destroy; |