mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 23:03:57 -04:00
drm/virtio: Handle drm_crtc_init_with_planes() errors
Return value of function drm_crtc_init_with_planes(), called by vgdev_output_init(), is not checked, but it is usually checked for this function. Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Alexandr Sapozhnikov <alsp705@gmail.com> Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> [dmitry.osipenko@collabora.com: coding style fix, edit commit message] Link: https://lore.kernel.org/r/20250922144418.41-1-alsp705@gmail.com
This commit is contained in:
committed by
Dmitry Osipenko
parent
40527034d1
commit
dc84dbcc54
@@ -257,6 +257,7 @@ static int vgdev_output_init(struct virtio_gpu_device *vgdev, int index)
|
||||
struct drm_encoder *encoder = &output->enc;
|
||||
struct drm_crtc *crtc = &output->crtc;
|
||||
struct drm_plane *primary, *cursor;
|
||||
int ret;
|
||||
|
||||
output->index = index;
|
||||
if (index == 0) {
|
||||
@@ -271,8 +272,10 @@ static int vgdev_output_init(struct virtio_gpu_device *vgdev, int index)
|
||||
cursor = virtio_gpu_plane_init(vgdev, DRM_PLANE_TYPE_CURSOR, index);
|
||||
if (IS_ERR(cursor))
|
||||
return PTR_ERR(cursor);
|
||||
drm_crtc_init_with_planes(dev, crtc, primary, cursor,
|
||||
&virtio_gpu_crtc_funcs, NULL);
|
||||
ret = drm_crtc_init_with_planes(dev, crtc, primary, cursor,
|
||||
&virtio_gpu_crtc_funcs, NULL);
|
||||
if (ret)
|
||||
return ret;
|
||||
drm_crtc_helper_add(crtc, &virtio_gpu_crtc_helper_funcs);
|
||||
|
||||
drm_connector_init(dev, connector, &virtio_gpu_connector_funcs,
|
||||
|
||||
Reference in New Issue
Block a user