diff options
author | Nikolay Kuratov <kniv@yandex-team.ru> | 2024-10-02 14:24:29 +0200 |
---|---|---|
committer | Zack Rusin <zack.rusin@broadcom.com> | 2024-10-10 20:35:24 +0200 |
commit | 26498b8d54373d31a621d7dec95c4bd842563b3b (patch) | |
tree | eaf5174b954e9c9e5beac1d50dcd804e37a37d9b | |
parent | drm/vmwgfx: Cleanup kms setup without 3d (diff) | |
download | linux-26498b8d54373d31a621d7dec95c4bd842563b3b.tar.xz linux-26498b8d54373d31a621d7dec95c4bd842563b3b.zip |
drm/vmwgfx: Handle surface check failure correctly
Currently if condition (!bo and !vmw_kms_srf_ok()) was met
we go to err_out with ret == 0.
err_out dereferences vfb if ret == 0, but in our case vfb is still NULL.
Fix this by assigning sensible error to ret.
Found by Linux Verification Center (linuxtesting.org) with SVACE
Signed-off-by: Nikolay Kuratov <kniv@yandex-team.ru>
Cc: stable@vger.kernel.org
Fixes: 810b3e1683d0 ("drm/vmwgfx: Support topology greater than texture size")
Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241002122429.1981822-1-kniv@yandex-team.ru
-rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c index e8c08e4a5eff..63b8d7591253 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c @@ -1510,6 +1510,7 @@ static struct drm_framebuffer *vmw_kms_fb_create(struct drm_device *dev, DRM_ERROR("Surface size cannot exceed %dx%d\n", dev_priv->texture_max_width, dev_priv->texture_max_height); + ret = -EINVAL; goto err_out; } |