Re: [PATCH v16 06/14] s390/vfio-ap: refresh guest's APCB by filtering APQNs assigned to mdev

Halil Pasic
2021-05-24T16:16:02Z

On Mon, 10 May 2021 12:44:15 -0400
Tony Krowiak <akrowiak@linux.ibm.com> wrote:

> @@ -1601,8 +1676,10 @@ void vfio_ap_mdev_remove_queue(struct ap_device *apdev)
> mutex_lock(&matrix_dev->lock);
> q = dev_get_drvdata(&apdev->device);
>
> - if (q->matrix_mdev)
> + if (q->matrix_mdev) {
> vfio_ap_mdev_unlink_queue_fr_mdev(q);
> + vfio_ap_mdev_refresh_apcb(q->matrix_mdev);
> + }
>
> vfio_ap_mdev_reset_queue(q, 1);
> dev_set_drvdata(&apdev->device, NULL);

At this point we don't know if !!kvm_busy or kvm_busy AFAICT. If
!!kvm_busy, then we may end up changing a shadow_apcb while an other
thread is in the middle of committing it to the SD satellite. That
would be no good.

Regards,
Halil