提交 c2b21cb1 编写于 作者: X Xie Yongji 提交者: Zheng Zengkai

drm/virtio: Fix double free on probe failure

stable inclusion
from stable-5.10.51
commit d2d17ca924f4360c262fab9f4515d04d2a3c4e08
bugzilla: 175263 https://gitee.com/openeuler/kernel/issues/I4DT6F

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d2d17ca924f4360c262fab9f4515d04d2a3c4e08

--------------------------------

[ Upstream commit cec7f177 ]

The virtio_gpu_init() will free vgdev and vgdev->vbufs on failure.
But such failure will be caught by virtio_gpu_probe() and then
virtio_gpu_release() will be called to do some cleanup which
will free vgdev and vgdev->vbufs again. So let's set dev->dev_private
to NULL to avoid double free.
Signed-off-by: NXie Yongji <xieyongji@bytedance.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20210517084913.403-2-xieyongji@bytedance.comSigned-off-by: NGerd Hoffmann <kraxel@redhat.com>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NChen Jun <chenjun102@huawei.com>
Acked-by: NWeilong Chen <chenweilong@huawei.com>
Signed-off-by: NChen Jun <chenjun102@huawei.com>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 98327a4e
...@@ -209,6 +209,7 @@ int virtio_gpu_init(struct drm_device *dev) ...@@ -209,6 +209,7 @@ int virtio_gpu_init(struct drm_device *dev)
err_vbufs: err_vbufs:
vgdev->vdev->config->del_vqs(vgdev->vdev); vgdev->vdev->config->del_vqs(vgdev->vdev);
err_vqs: err_vqs:
dev->dev_private = NULL;
kfree(vgdev); kfree(vgdev);
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册