As we are going to perform some VM-wide operations when freeing a collection, add the kvm pointer to vgic_its_free_collection. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> --- virt/kvm/arm/vgic/vgic-its.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c index bc370b6c5afa..f637edd77e1f 100644 --- a/virt/kvm/arm/vgic/vgic-its.c +++ b/virt/kvm/arm/vgic/vgic-its.c @@ -885,7 +885,8 @@ static int vgic_its_alloc_collection(struct vgic_its *its, return 0; } -static void vgic_its_free_collection(struct vgic_its *its, u32 coll_id) +static void vgic_its_free_collection(struct kvm *kvm, + struct vgic_its *its, u32 coll_id) { struct its_collection *collection; struct its_device *device; @@ -974,7 +975,7 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its, ite = vgic_its_alloc_ite(device, collection, event_id); if (IS_ERR(ite)) { if (new_coll) - vgic_its_free_collection(its, coll_id); + vgic_its_free_collection(kvm, its, coll_id); return PTR_ERR(ite); } @@ -984,7 +985,7 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its, irq = vgic_add_lpi(kvm, lpi_nr, vcpu); if (IS_ERR(irq)) { if (new_coll) - vgic_its_free_collection(its, coll_id); + vgic_its_free_collection(kvm, its, coll_id); its_free_ite(kvm, ite); return PTR_ERR(irq); } @@ -1025,7 +1026,7 @@ static void vgic_its_free_collection_list(struct kvm *kvm, struct vgic_its *its) struct its_collection *cur, *temp; list_for_each_entry_safe(cur, temp, &its->collection_list, coll_list) - vgic_its_free_collection(its, cur->collection_id); + vgic_its_free_collection(kvm, its, cur->collection_id); } /* Must be called with its_lock mutex held */ @@ -1110,7 +1111,7 @@ static int vgic_its_cmd_handle_mapc(struct kvm *kvm, struct vgic_its *its, return E_ITS_MAPC_PROCNUM_OOR; if (!valid) { - vgic_its_free_collection(its, coll_id); + vgic_its_free_collection(kvm, its, coll_id); } else { collection = find_collection(its, coll_id); -- 2.20.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm