Fix bugs when VM shutdown with virtio-gpu unplugged
Virtio-gpu malloc memory for the queue when it realized, but the queues was not released when it unrealized, which resulting in a memory leak. In addition, vm_change_state_handler is not cleaned up, which is related to vdev and will lead to segmentation fault when VM shutdown. Signed-off-by: wangmeiling <wangmeiling21@huawei.com> Signed-off-by: Binfeng Wu <wubinfeng@huawei.com> Message-Id: <7bbbc0f3-2ad9-83ca-b39b-f976d0837daf@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
551bf7b4c1
commit
410cefbd5c
@ -251,7 +251,11 @@ void
|
|||||||
virtio_gpu_base_device_unrealize(DeviceState *qdev)
|
virtio_gpu_base_device_unrealize(DeviceState *qdev)
|
||||||
{
|
{
|
||||||
VirtIOGPUBase *g = VIRTIO_GPU_BASE(qdev);
|
VirtIOGPUBase *g = VIRTIO_GPU_BASE(qdev);
|
||||||
|
VirtIODevice *vdev = VIRTIO_DEVICE(qdev);
|
||||||
|
|
||||||
|
virtio_del_queue(vdev, 0);
|
||||||
|
virtio_del_queue(vdev, 1);
|
||||||
|
virtio_cleanup(vdev);
|
||||||
migrate_del_blocker(&g->migration_blocker);
|
migrate_del_blocker(&g->migration_blocker);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user