dinghao.liu at zju.edu.cn
2020-May-31 08:52 UTC
[Nouveau] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new()
> > > For security, I will release this pointer only on error paths in this function. > > Do you tend to release objects (which are referenced by pointers)? >I just found that clk is referenced by pclk in this function. When clk is freed, pclk will be allocated in gm20b_clk_new_speedo0(). Thus we should not release clk in this function and there is no bug here. Thank you for reminding me! Regards, Dinghao
Markus Elfring
2020-May-31 09:00 UTC
[Nouveau] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new()
> I just found that clk is referenced by pclk in this function. When clk is freed, > pclk will be allocated in gm20b_clk_new_speedo0(). Thus we should not release clk > in this function and there is no bug here.Can there be a need to release a clock object after a failed gk20a_clk_ctor() call? Regards, Markus
dinghao.liu at zju.edu.cn
2020-May-31 09:15 UTC
[Nouveau] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new()
> > I just found that clk is referenced by pclk in this function. When clk is freed, > > pclk will be allocated in gm20b_clk_new_speedo0(). Thus we should not release clk > > in this function and there is no bug here. > > Can there be a need to release a clock object after a failed gk20a_clk_ctor() call? >I think this mainly depends on pclk pointer. It seems that the caller of gm20b_clk_new() always expects pclk to be allocated unless it returns -ENOMEM, which means kzalloc() failed. If gk20a_clk_ctor() never returns such an error code, we may need not to release this clock object. Regards, Dinghao
Reasonably Related Threads
- [PATCH] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new
- drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new()
- [PATCH] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new
- [PATCH] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new
- drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new()