[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0119ce0b-d0e1-48fb-a2e2-2643472bf434@redhat.com>
Date: Wed, 26 Jun 2024 16:53:59 +0200
From: Danilo Krummrich <dakr@...hat.com>
To: Ma Ke <make24@...as.ac.cn>
Cc: dri-devel@...ts.freedesktop.org, nouveau@...ts.freedesktop.org,
lyude@...hat.com, linux-kernel@...r.kernel.org, daniel@...ll.ch,
airlied@...il.com, kherbst@...hat.com,
Jani Nikula <jani.nikula@...ux.intel.com>
Subject: Re: [PATCH] drm/nouveau: fix null pointer dereference in
nouveau_connector_get_modes
On 6/26/24 11:44, Jani Nikula wrote:
> On Wed, 26 Jun 2024, Ma Ke <make24@...as.ac.cn> 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@...as.ac.cn>
>> ---
>> 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;
>> }
>
Powered by blists - more mailing lists