On Wed, 26 Jun 2024, Ma Ke <make24@xxxxxxxxxxx> wrote: > In psb_intel_lvds_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. > > Signed-off-by: Ma Ke <make24@xxxxxxxxxxx> > --- > drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c > index 8486de230ec9..aa5bf2a8a319 100644 > --- a/drivers/gpu/drm/gma500/psb_intel_lvds.c > +++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c > @@ -504,6 +504,8 @@ static int psb_intel_lvds_get_modes(struct drm_connector *connector) > if (mode_dev->panel_fixed_mode != NULL) { > struct drm_display_mode *mode = > drm_mode_duplicate(dev, mode_dev->panel_fixed_mode); > + if (!mode) > + return -ENOMEM; Do not return negative values from .get_modes(). BR, Jani. > drm_mode_probed_add(connector, mode); > return 1; > } -- Jani Nikula, Intel