[lkml]   [2020]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Re: [PATCH] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new

Hi Ben,

> > When gk20a_clk_ctor() returns an error code, pointer "clk"
> > should be released. It's the same when gm20b_clk_new()
> > returns from elsewhere following this call.
> This shouldn't be necessary. If a subdev constructor fails, and
> returns a pointer, the core will call the destructor to clean things
> up.

I'm not familiar with the behavior of the caller of gm20b_clk_new().
If the subdev constructor fails, the core will check the pointer
(here is "pclk"), then it's ok and there is no bug (Do you mean
this?). If the core executes error handling code only according to
the error code, there may be a memory leak bug (the caller cannot
know if -ENOMEM comes from the failure of kzalloc or gk20a_clk_ctor).
If the core always calls the destructor as long as the constructor
fails (even if the kzalloc fails), we may have a double free bug.

Would you like to give a more detailed explanation about the behavior
of the core?

 \ /
  Last update: 2020-06-01 05:28    [W:0.052 / U:3.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site