On Mon, Jul 4, 2011 at 12:39 AM, Marcin Slusarz <marcin.slusarz at gmail.com> wrote: > On Sun, Jul 03, 2011 at 01:21:55PM +0200, Jesper Juhl wrote: >> From: Jesper Juhl <jj at chaosbits.net> >> Subject: [PATCH] nouveau: Do not leak in nv20_graph_create >> >> If we return due to an unknown chipset in >> drivers/gpu/drm/nouveau/nv20_graph.c:nv20_graph_create() we'll leak the >> memory allocated to 'pgraph'. >> >> This patch should fix the leak and it also disambiguates the "PGRAPH: >> unknown chipset\n" error message - it's nice to be able to tell which >> branch created the error which is impossible if the error messages are >> 100% identical. > > There's no need to change these strings. Nouveau prints chipset id earlier. > For patch with only kfrees: > Reviewed-by: Marcin Slusarz <marcin.slusarz at gmail.com> Agreed, I've pulled just the kfree()s into my tree. They'll hit nouveau git either today or tomorrow.
Thank you! Ben. > >> Signed-off-by: Jesper Juhl <jj at chaosbits.net> >> --- >> ?drivers/gpu/drm/nouveau/nv20_graph.c | ? ?4 +++- >> ?1 files changed, 3 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/gpu/drm/nouveau/nv20_graph.c >> b/drivers/gpu/drm/nouveau/nv20_graph.c >> index affc7d7..53cbe84 100644 >> --- a/drivers/gpu/drm/nouveau/nv20_graph.c >> +++ b/drivers/gpu/drm/nouveau/nv20_graph.c >> @@ -752,6 +752,7 @@ nv20_graph_create(struct drm_device *dev) >> ? ? ? ? ? ? ? ? ? ? ? pgraph->grctx_user = 0x0000; >> ? ? ? ? ? ? ? ? ? ? ? break; >> ? ? ? ? ? ? ? default: >> + ? ? ? ? ? ? ? ? ? ? kfree(pgraph); >> ? ? ? ? ? ? ? ? ? ? ? NV_ERROR(dev, "PGRAPH: unknown chipset\n"); >> ? ? ? ? ? ? ? ? ? ? ? return 0; >> ? ? ? ? ? ? ? } >> @@ -773,7 +774,8 @@ nv20_graph_create(struct drm_device *dev) >> ? ? ? ? ? ? ? ? ? ? ? pgraph->grctx_size = NV35_36_GRCTX_SIZE; >> ? ? ? ? ? ? ? ? ? ? ? break; >> ? ? ? ? ? ? ? default: >> - ? ? ? ? ? ? ? ? ? ? NV_ERROR(dev, "PGRAPH: unknown chipset\n"); >> + ? ? ? ? ? ? ? ? ? ? kfree(pgraph); >> + ? ? ? ? ? ? ? ? ? ? NV_ERROR(dev, "PGRAPH: chipset unknown.\n"); >> ? ? ? ? ? ? ? ? ? ? ? return 0; >> ? ? ? ? ? ? ? } >> ? ? ? } >> -- > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel >