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 >