Skip to content

Commit 113fd63

Browse files
Ma KeThomas Zimmermann
authored andcommitted
drm/client: fix null pointer dereference in drm_client_modeset_probe
In drm_client_modeset_probe(), the return value of drm_mode_duplicate() is assigned to modeset->mode, which will lead to a possible NULL pointer dereference on failure of drm_mode_duplicate(). Add a check to avoid npd. Cc: stable@vger.kernel.org Fixes: cf13909 ("drm/fb-helper: Move out modeset config code") Signed-off-by: Ma Ke <make24@iscas.ac.cn> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20240802044736.1570345-1-make24@iscas.ac.cn
1 parent 9c685f6 commit 113fd63

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/gpu/drm/drm_client_modeset.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -880,6 +880,11 @@ int drm_client_modeset_probe(struct drm_client_dev *client, unsigned int width,
880880

881881
kfree(modeset->mode);
882882
modeset->mode = drm_mode_duplicate(dev, mode);
883+
if (!modeset->mode) {
884+
ret = -ENOMEM;
885+
break;
886+
}
887+
883888
drm_connector_get(connector);
884889
modeset->connectors[modeset->num_connectors++] = connector;
885890
modeset->x = offset->x;

0 commit comments

Comments
 (0)