Re: Re: Re: [PATCH] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new

From: dinghao . liu
Date: Mon Jun 01 2020 - 01:21:43 EST


> > If there's *any* error, it'll check the pointer, if it's non-NULL,
> > it'll call the destructor. If kzalloc() fails, the pointer will be
> > NULL, there's no double-free bug. *every* subdev is written this way
> > to avoid duplicating cleanup logic.
> Actually, gm20b_clk_new_speedo0() may have a bug here if kzalloc()
> fails as it doesn't overwrite the previous pointer from
> gm20b_clk_new(). That whole ctor() sequence is written a little
> strangely.
>

It's clear to me, thank your for your explanation! As for
gm20b_clk_new_speedo0(), I think its bug pattern is not very
clear. Maybe we should keep it until we find an use chain that
could lead to a bug.

Regards,
Dinghao