[PATCH v1] drm/nouveau/clk: avoid potential null-dereference

Ilia Mirkin imirkin at alum.mit.edu
Wed Jan 7 20:57:18 PST 2015


On Wed, Jan 7, 2015 at 11:32 PM, Vince Hsu <vinceh at nvidia.com> wrote:
>
> On 01/08/2015 10:45 AM, Ilia Mirkin wrote:
>>
>> On Wed, Jan 7, 2015 at 5:29 PM, Andy Shevchenko
>> <andy.shevchenko at gmail.com> wrote:
>>>
>>> We have to check pointer before usage.
>>>
>>> Reported-by: Andrey Karpov <karpov at viva64.com>
>>> Signed-off-by: Andy Shevchenko <andy.shevchenko at gmail.com>
>>> ---
>>>   drivers/gpu/drm/nouveau/core/subdev/clock/base.c | 4 +++-
>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/base.c
>>> b/drivers/gpu/drm/nouveau/core/subdev/clock/base.c
>>> index e51b72d..2e84436 100644
>>> --- a/drivers/gpu/drm/nouveau/core/subdev/clock/base.c
>>> +++ b/drivers/gpu/drm/nouveau/core/subdev/clock/base.c
>>> @@ -322,7 +322,6 @@ nouveau_pstate_new(struct nouveau_clock *clk, int
>>> idx)
>>>                  return 0;
>>>
>>>          pstate = kzalloc(sizeof(*pstate), GFP_KERNEL);
>>> -       cstate = &pstate->base;
>>
>> What's wrong with this line? If pstate == NULL, &pstate->base == NULL
>> as well and we return.
>
> If pstate == NULL (kzalloc returned NULL), pstate->base triggers a null
> pointer
> deference error?

Where do you see "pstate->base"? I only see "&pstate->base" which
merely computes an offset into a structure... No reason to dereference
pstate.

  -ilia


More information about the dri-devel mailing list