Message ID | 20240627022732.2978601-1-make24@iscas.ac.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes | expand |
Reviewed-by: Lyude Paul <lyude@redhat.com> Will push this upstream in just a moment, thanks! On Thu, 2024-06-27 at 10:27 +0800, Ma Ke wrote: > In nouveau_connector_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: 6ee738610f41 ("drm/nouveau: Add DRM driver for NVIDIA GPUs") > Signed-off-by: Ma Ke <make24@iscas.ac.cn> > --- > Changes in v2: > - modified the patch according to suggestions. > --- > drivers/gpu/drm/nouveau/nouveau_connector.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c > b/drivers/gpu/drm/nouveau/nouveau_connector.c > index 856b3ef5edb8..0c71d761d378 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_connector.c > +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c > @@ -1001,6 +1001,9 @@ nouveau_connector_get_modes(struct > drm_connector *connector) > struct drm_display_mode *mode; > > mode = drm_mode_duplicate(dev, nv_connector- > >native_mode); > + if (!mode) > + return 0; > + > drm_mode_probed_add(connector, mode); > ret = 1; > }
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index 856b3ef5edb8..0c71d761d378 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -1001,6 +1001,9 @@ nouveau_connector_get_modes(struct drm_connector *connector) struct drm_display_mode *mode; mode = drm_mode_duplicate(dev, nv_connector->native_mode); + if (!mode) + return 0; + drm_mode_probed_add(connector, mode); ret = 1; }
In nouveau_connector_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: 6ee738610f41 ("drm/nouveau: Add DRM driver for NVIDIA GPUs") Signed-off-by: Ma Ke <make24@iscas.ac.cn> --- Changes in v2: - modified the patch according to suggestions. --- drivers/gpu/drm/nouveau/nouveau_connector.c | 3 +++ 1 file changed, 3 insertions(+)