drivers/gpu/drm/drm_edid.c | 2 ++ 1 file changed, 2 insertions(+)
In drm_mode_std(), the return value of drm_gtf_mode(),
drm_gtf_mode() and drm_cvt_mode() is assigned to mode,
which will lead to a NULL pointer dereference on failure
of drm_gtf_mode(), drm_gtf_mode() and drm_cvt_mode().
Add a check to avoid null point dereference.
Signed-off-by: Ma Ke <make_ruc2021@163.com>
---
drivers/gpu/drm/drm_edid.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 340da8257b51..e2c154c2b896 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3381,6 +3381,8 @@ static struct drm_display_mode *drm_mode_std(struct drm_connector *connector,
false);
break;
}
+ if (!mode)
+ return NULL;
return mode;
}
--
2.37.2
On Wed, 11 Oct 2023, Ma Ke <make_ruc2021@163.com> wrote: > In drm_mode_std(), the return value of drm_gtf_mode(), > drm_gtf_mode() and drm_cvt_mode() is assigned to mode, > which will lead to a NULL pointer dereference on failure > of drm_gtf_mode(), drm_gtf_mode() and drm_cvt_mode(). > Add a check to avoid null point dereference. > > Signed-off-by: Ma Ke <make_ruc2021@163.com> > --- > drivers/gpu/drm/drm_edid.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c > index 340da8257b51..e2c154c2b896 100644 > --- a/drivers/gpu/drm/drm_edid.c > +++ b/drivers/gpu/drm/drm_edid.c > @@ -3381,6 +3381,8 @@ static struct drm_display_mode *drm_mode_std(struct drm_connector *connector, > false); > break; > } > + if (!mode) > + return NULL; This doesn't change anything. BR, Jani. > return mode; > } -- Jani Nikula, Intel
© 2016 - 2026 Red Hat, Inc.