Re: [PATCH] drm/panel: fix null pointer dereference in hx83102_get_modes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Charles Han <hanchunchao@xxxxxxxxxx> 于2024年8月22日周四 17:34写道:
>
> 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@xxxxxxxxxx>
> ---
>  drivers/gpu/drm/panel/panel-himax-hx83102.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> 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;
> +       }

 In my V2 series, Doug suggested:
"nit: no need for an error message when drm_mode_duplicate() fails.
It is incredibly unlikely that the allocation will fail and the Linux"

https://lore.kernel.org/all/CAD=FV=V2O2aFDVn5CjbXfgcOLkmNp-G3ChVqQKouB2mDB+NZug@xxxxxxxxxxxxxx/

>
>         mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
>         drm_mode_set_name(mode);
> --
> 2.31.1
>




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux