----- Original Message ----- > From: "Heinrich Schuchardt" <xypron.glpk at gmx.de> > To: "David Airlie" <airlied at linux.ie> > Cc: "Ben Skeggs" <bskeggs at redhat.com>, dri-devel at lists.freedesktop.org, > linux-kernel at vger.kernel.org, "Heinrich > Schuchardt" <xypron.glpk at gmx.de> > Sent: Thursday, 19 June, 2014 5:57:47 AM > Subject: [PATCH] drm/nouveau: avoid memory leak > > If ttm_dma_tt_init fails memory is leaked. No, it's not. TTM calls the destroy function itself on failure.
Thanks, Ben. > > Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de> > --- > drivers/gpu/drm/nouveau/nouveau_sgdma.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c > b/drivers/gpu/drm/nouveau/nouveau_sgdma.c > index a4d22e5..23d880b 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c > +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c > @@ -109,7 +109,9 @@ nouveau_sgdma_create_ttm(struct ttm_bo_device *bdev, > else > nvbe->ttm.ttm.func = &nv50_sgdma_backend; > > - if (ttm_dma_tt_init(&nvbe->ttm, bdev, size, page_flags, > dummy_read_page)) > + if (ttm_dma_tt_init(&nvbe->ttm, bdev, size, page_flags, > dummy_read_page)) { > + kfree(nvbe); > return NULL; > + } > return &nvbe->ttm.ttm; > } > -- > 2.0.0 > >