]> git.baikalelectronics.ru Git - kernel.git/commitdiff
KVM: SEV: initialize regions_list of a mirror VM
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 23 Nov 2021 00:50:30 +0000 (19:50 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 30 Nov 2021 08:54:12 +0000 (03:54 -0500)
This was broken before the introduction of KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM,
but technically harmless because the region list was unused for a mirror
VM.  However, it is untidy and it now causes a NULL pointer access when
attempting to move the encryption context of a mirror VM.

Fixes: 902f83bac915 ("KVM: x86: Support KVM VMs sharing SEV context")
Message-Id: <20211123005036.2954379-7-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/sev.c

index 8902b018fc18e8b7e9f460bf924775a765f32dc1..8daabc3dc079edb24155b40ec9e3fd5c5ae1f0d7 100644 (file)
@@ -2007,6 +2007,7 @@ int svm_vm_copy_asid_from(struct kvm *kvm, unsigned int source_fd)
        mirror_sev->fd = source_sev.fd;
        mirror_sev->es_active = source_sev.es_active;
        mirror_sev->handle = source_sev.handle;
+       INIT_LIST_HEAD(&mirror_sev->regions_list);
        /*
         * Do not copy ap_jump_table. Since the mirror does not share the same
         * KVM contexts as the original, and they may have different