Re: [PATCH] s390/vfio-ap: Clean up vfio_ap resources when KVM pointer invalidated

From: Halil Pasic
Date: Thu Dec 03 2020 - 12:03:06 EST


On Thu, 3 Dec 2020 11:19:07 +0100
Cornelia Huck <cohuck@xxxxxxxxxx> wrote:

> > @@ -1095,7 +1106,7 @@ static int vfio_ap_mdev_group_notifier(struct notifier_block *nb,
> > matrix_mdev = container_of(nb, struct ap_matrix_mdev, group_notifier);
> >
> > if (!data) {
> > - matrix_mdev->kvm = NULL;
> > + vfio_ap_mdev_put_kvm(matrix_mdev);
>
> Hm. I'm wondering whether you need to hold the maxtrix_dev lock here as
> well?

In v12 we eventually did come along and patch "s390/vfio-ap: allow hot
plug/unplug of AP resources using mdev device" made this a part of a
critical section protected by the matrix_dev->lock.

IMHO the cleanup should definitely happen with the matrix_dev->lock held.

Regards,
Halil