Message ID | 20240718131329.756742-1-make24@iscas.ac.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/radeon: fix null pointer dereference in radeon_add_common_modes | expand |
Applied. Thanks! Alex On Thu, Jul 18, 2024 at 9:13 AM Ma Ke <make24@iscas.ac.cn> wrote: > > In radeon_add_common_modes(), the return value of drm_cvt_mode() is > assigned to mode, which will lead to a possible NULL pointer dereference > on failure of drm_cvt_mode(). Add a check to avoid npd. > > Cc: stable@vger.kernel.org > Fixes: d50ba256b5f1 ("drm/kms: start adding command line interface using fb.") > Signed-off-by: Ma Ke <make24@iscas.ac.cn> > --- > Changes in v2: > - added a blank line; > - added Cc line. > --- > drivers/gpu/drm/radeon/radeon_connectors.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c > index b84b58926106..37c56c16af8d 100644 > --- a/drivers/gpu/drm/radeon/radeon_connectors.c > +++ b/drivers/gpu/drm/radeon/radeon_connectors.c > @@ -520,6 +520,9 @@ static void radeon_add_common_modes(struct drm_encoder *encoder, struct drm_conn > continue; > > mode = drm_cvt_mode(dev, common_modes[i].w, common_modes[i].h, 60, false, false, false); > + if (!mode) > + continue; > + > drm_mode_probed_add(connector, mode); > } > } > -- > 2.25.1 >
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index b84b58926106..37c56c16af8d 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -520,6 +520,9 @@ static void radeon_add_common_modes(struct drm_encoder *encoder, struct drm_conn continue; mode = drm_cvt_mode(dev, common_modes[i].w, common_modes[i].h, 60, false, false, false); + if (!mode) + continue; + drm_mode_probed_add(connector, mode); } }
In radeon_add_common_modes(), the return value of drm_cvt_mode() is assigned to mode, which will lead to a possible NULL pointer dereference on failure of drm_cvt_mode(). Add a check to avoid npd. Cc: stable@vger.kernel.org Fixes: d50ba256b5f1 ("drm/kms: start adding command line interface using fb.") Signed-off-by: Ma Ke <make24@iscas.ac.cn> --- Changes in v2: - added a blank line; - added Cc line. --- drivers/gpu/drm/radeon/radeon_connectors.c | 3 +++ 1 file changed, 3 insertions(+)