On 6/26/24 11:44, Jani Nikula wrote:
On Wed, 26 Jun 2024, Ma Ke <make24@xxxxxxxxxxx> 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.
Please add a "Fixes" tag (also for your previous commits) and CC stable.
Signed-off-by: Ma Ke <make24@xxxxxxxxxxx>
---
drivers/gpu/drm/nouveau/nouveau_connector.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 856b3ef5edb8..010eed56b14d 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -1001,6 +1001,8 @@ 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 -ENOMEM;
Do not return negative values from .get_modes().
+1
https://elixir.bootlin.com/linux/latest/source/include/drm/drm_modeset_helper_vtables.h#L899
BR,
Jani.
drm_mode_probed_add(connector, mode);
ret = 1;
}