Timur Tabi
2023-Nov-07 15:06 UTC
[Nouveau] [bug report] drm/nouveau/mmu/r535: initial support
On Tue, 2023-11-07 at 17:32 +0300, Dan Carpenter wrote:> ??? 170???????? ret = gf100_bar_new_(rm, device, type, inst, &bar); > --> 171???????? *pbar = bar; > ??? 172???????? if (ret) { > ??? 173???????????????? if (!bar) > ??????????????????????????? ^^^^ > If gf100_bar_new_() fails then bar isn't initialized.? Do we really > need to initialize bar to NULL on error?? If so then we should do it > before the "rm = kzalloc()".We can just do this: struct nvkm_bar *bar = NULL;
Dan Carpenter
2023-Nov-07 15:17 UTC
[Nouveau] [bug report] drm/nouveau/mmu/r535: initial support
On Tue, Nov 07, 2023 at 03:06:27PM +0000, Timur Tabi wrote:> On Tue, 2023-11-07 at 17:32 +0300, Dan Carpenter wrote: > > ??? 170???????? ret = gf100_bar_new_(rm, device, type, inst, &bar); > > --> 171???????? *pbar = bar; > > ??? 172???????? if (ret) { > > ??? 173???????????????? if (!bar) > > ??????????????????????????? ^^^^ > > If gf100_bar_new_() fails then bar isn't initialized.? Do we really > > need to initialize bar to NULL on error?? If so then we should do it > > before the "rm = kzalloc()". > > We can just do this: > > struct nvkm_bar *bar = NULL;I mean that will silence the warning, but why are we setting *pbar to NULL? If it's necessary then there is still a bug because the first error path doesn't do it. If not, then just do: ret = gf100_bar_new_(rm, device, type, inst, &bar); if (ret) { kfree(rm); return ret; } *pbar = bar; It really depends on what we're doing with *pbar. I looked at the context before I sent the bug report and it kind of looked like this function is dead code honestly... regards, dan carpenter