Message ID | 20240822093442.4262-1-hanchunchao@inspur.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/panel: fix null pointer dereference in hx83102_get_modes | expand |
diff --git a/drivers/gpu/drm/panel/panel-himax-hx83102.c b/drivers/gpu/drm/panel/panel-himax-hx83102.c index 6e4b7e4644ce..7c2a5e9b7fb3 100644 --- a/drivers/gpu/drm/panel/panel-himax-hx83102.c +++ b/drivers/gpu/drm/panel/panel-himax-hx83102.c @@ -565,6 +565,10 @@ static int hx83102_get_modes(struct drm_panel *panel, struct drm_display_mode *mode; mode = drm_mode_duplicate(connector->dev, m); + if (!mode) { + dev_err(&ctx->dsi->dev, "bad mode or failed to add mode\n"); + return -EINVAL; + } mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; drm_mode_set_name(mode);
In hx83102_get_modes(), the return value of drm_mode_duplicate() is assigned to mode, which will lead to a possible NULL pointer dereference on failure of drm_mode_duplicate(). Add a check to avoid npd. Fixes: 0ef94554dc40 ("drm/panel: himax-hx83102: Break out as separate driver") Signed-off-by: Charles Han <hanchunchao@inspur.com> --- drivers/gpu/drm/panel/panel-himax-hx83102.c | 4 ++++ 1 file changed, 4 insertions(+)