On 5/24/21 12:15 PM, Halil Pasic wrote:
On Mon, 10 May 2021 12:44:15 -0400
Tony Krowiak <akrowiak@xxxxxxxxxxxxx> 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.
No, that would not be a good thing, we should check for
that.
Regards,
Halil