| From cff0b28b4a25575b9d529ea1d4fbacdd7cb4a01e Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 17 May 2021 16:43:32 +0800 |
| Subject: virtio-blk: Fix memory leak among suspend/resume procedure |
| |
| From: Xie Yongji <xieyongji@bytedance.com> |
| |
| [ Upstream commit b71ba22e7c6c6b279c66f53ee7818709774efa1f ] |
| |
| The vblk->vqs should be freed before we call init_vqs() |
| in virtblk_restore(). |
| |
| Signed-off-by: Xie Yongji <xieyongji@bytedance.com> |
| Link: https://lore.kernel.org/r/20210517084332.280-1-xieyongji@bytedance.com |
| Acked-by: Jason Wang <jasowang@redhat.com> |
| Signed-off-by: Michael S. Tsirkin <mst@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/block/virtio_blk.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c |
| index b9fa3ef5b57c..425bae618131 100644 |
| --- a/drivers/block/virtio_blk.c |
| +++ b/drivers/block/virtio_blk.c |
| @@ -948,6 +948,8 @@ static int virtblk_freeze(struct virtio_device *vdev) |
| blk_mq_quiesce_queue(vblk->disk->queue); |
| |
| vdev->config->del_vqs(vdev); |
| + kfree(vblk->vqs); |
| + |
| return 0; |
| } |
| |
| -- |
| 2.30.2 |
| |