]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - virt/kvm/arm/vgic/vgic-its.c
KVM: arm/arm64: vgic-its: Fix restoration of unmapped collections
[mirror_ubuntu-bionic-kernel.git] / virt / kvm / arm / vgic / vgic-its.c
index 08541b694db9d3a2e51d83348ba7b42b8133d065..903b092bd41216822c155f58579d02f89d876722 100644 (file)
@@ -2287,7 +2287,8 @@ static int vgic_its_restore_cte(struct vgic_its *its, gpa_t gpa, int esz)
        target_addr = (u32)(val >> KVM_ITS_CTE_RDBASE_SHIFT);
        coll_id = val & KVM_ITS_CTE_ICID_MASK;
 
-       if (target_addr >= atomic_read(&kvm->online_vcpus))
+       if (target_addr != COLLECTION_NOT_MAPPED &&
+           target_addr >= atomic_read(&kvm->online_vcpus))
                return -EINVAL;
 
        collection = find_collection(its, coll_id);