* [PATCH] drm: nouveau: fix nvbe leakage @ 2013-10-07 22:14 Geyslan G. Bem 2013-10-07 22:35 ` Ben Skeggs 0 siblings, 1 reply; 6+ messages in thread From: Geyslan G. Bem @ 2013-10-07 22:14 UTC (permalink / raw) To: airlied, bskeggs, dri-devel; +Cc: linux-kernel, kernel-br, Geyslan G. Bem Free memory allocated to nvbe when returning NULL. Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> --- drivers/gpu/drm/nouveau/nouveau_sgdma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c b/drivers/gpu/drm/nouveau/nouveau_sgdma.c index 0843ebc..af8b66d 100644 --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c @@ -105,6 +105,9 @@ nouveau_sgdma_create_ttm(struct ttm_bo_device *bdev, nvbe->ttm.ttm.func = &nv50_sgdma_backend; if (ttm_dma_tt_init(&nvbe->ttm, bdev, size, page_flags, dummy_read_page)) + { + kfree(nvbe); return NULL; + } return &nvbe->ttm.ttm; } -- 1.8.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] drm: nouveau: fix nvbe leakage 2013-10-07 22:14 [PATCH] drm: nouveau: fix nvbe leakage Geyslan G. Bem @ 2013-10-07 22:35 ` Ben Skeggs 2013-10-07 23:36 ` Felipe Pena 0 siblings, 1 reply; 6+ messages in thread From: Ben Skeggs @ 2013-10-07 22:35 UTC (permalink / raw) To: Geyslan G. Bem; +Cc: airlied, dri-devel, linux-kernel, kernel-br ----- Original Message ----- > From: "Geyslan G. Bem" <geyslan@gmail.com> > To: airlied@linux.ie, bskeggs@redhat.com, dri-devel@lists.freedesktop.org > Cc: linux-kernel@vger.kernel.org, kernel-br@googlegroups.com, "Geyslan G. Bem" <geyslan@gmail.com> > Sent: Tuesday, 8 October, 2013 8:14:26 AM > Subject: [PATCH] drm: nouveau: fix nvbe leakage > > Free memory allocated to nvbe when returning NULL. > > Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> NACK. ttm_dma_tt_init() calls the destructor if it fails, which frees the memory. Ben. > --- > drivers/gpu/drm/nouveau/nouveau_sgdma.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c > b/drivers/gpu/drm/nouveau/nouveau_sgdma.c > index 0843ebc..af8b66d 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c > +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c > @@ -105,6 +105,9 @@ nouveau_sgdma_create_ttm(struct ttm_bo_device *bdev, > nvbe->ttm.ttm.func = &nv50_sgdma_backend; > > if (ttm_dma_tt_init(&nvbe->ttm, bdev, size, page_flags, dummy_read_page)) > + { > + kfree(nvbe); > return NULL; > + } > return &nvbe->ttm.ttm; > } > -- > 1.8.4 > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm: nouveau: fix nvbe leakage 2013-10-07 22:35 ` Ben Skeggs @ 2013-10-07 23:36 ` Felipe Pena 2013-10-07 23:39 ` Geyslan Gregório Bem 0 siblings, 1 reply; 6+ messages in thread From: Felipe Pena @ 2013-10-07 23:36 UTC (permalink / raw) To: Ben Skeggs; +Cc: Geyslan G. Bem, airlied, dri-devel, linux-kernel, kernel-br Hi, On Mon, Oct 7, 2013 at 7:35 PM, Ben Skeggs <bskeggs@redhat.com> wrote: > ----- Original Message ----- >> From: "Geyslan G. Bem" <geyslan@gmail.com> >> To: airlied@linux.ie, bskeggs@redhat.com, dri-devel@lists.freedesktop.org >> Cc: linux-kernel@vger.kernel.org, kernel-br@googlegroups.com, "Geyslan G. Bem" <geyslan@gmail.com> >> Sent: Tuesday, 8 October, 2013 8:14:26 AM >> Subject: [PATCH] drm: nouveau: fix nvbe leakage >> >> Free memory allocated to nvbe when returning NULL. >> >> Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> > NACK. ttm_dma_tt_init() calls the destructor if it fails, which frees the memory. > > Ben. > But ttm_tt_destroy() just handles the ttm_tt part from nvbe, the nvbe pointer itself is not being free'd. >> --- >> drivers/gpu/drm/nouveau/nouveau_sgdma.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c >> b/drivers/gpu/drm/nouveau/nouveau_sgdma.c >> index 0843ebc..af8b66d 100644 >> --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c >> +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c >> @@ -105,6 +105,9 @@ nouveau_sgdma_create_ttm(struct ttm_bo_device *bdev, >> nvbe->ttm.ttm.func = &nv50_sgdma_backend; >> >> if (ttm_dma_tt_init(&nvbe->ttm, bdev, size, page_flags, dummy_read_page)) >> + { >> + kfree(nvbe); >> return NULL; >> + } >> return &nvbe->ttm.ttm; >> } >> -- >> 1.8.4 >> >> > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- Regards, Felipe Pena ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm: nouveau: fix nvbe leakage 2013-10-07 23:36 ` Felipe Pena @ 2013-10-07 23:39 ` Geyslan Gregório Bem 2013-10-08 1:34 ` Ben Skeggs 0 siblings, 1 reply; 6+ messages in thread From: Geyslan Gregório Bem @ 2013-10-07 23:39 UTC (permalink / raw) To: Felipe Pena; +Cc: Ben Skeggs, airlied, dri-devel, linux-kernel, kernel-br Felipe, thank you too. I realized this after a code review. Ben, what do you think? Geyslan Gregório Bem hackingbits.com 2013/10/7 Felipe Pena <felipensp@gmail.com>: > Hi, > > On Mon, Oct 7, 2013 at 7:35 PM, Ben Skeggs <bskeggs@redhat.com> wrote: >> ----- Original Message ----- >>> From: "Geyslan G. Bem" <geyslan@gmail.com> >>> To: airlied@linux.ie, bskeggs@redhat.com, dri-devel@lists.freedesktop.org >>> Cc: linux-kernel@vger.kernel.org, kernel-br@googlegroups.com, "Geyslan G. Bem" <geyslan@gmail.com> >>> Sent: Tuesday, 8 October, 2013 8:14:26 AM >>> Subject: [PATCH] drm: nouveau: fix nvbe leakage >>> >>> Free memory allocated to nvbe when returning NULL. >>> >>> Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> >> NACK. ttm_dma_tt_init() calls the destructor if it fails, which frees the memory. >> >> Ben. >> > > But ttm_tt_destroy() just handles the ttm_tt part from nvbe, the nvbe > pointer itself is not being free'd. > >>> --- >>> drivers/gpu/drm/nouveau/nouveau_sgdma.c | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c >>> b/drivers/gpu/drm/nouveau/nouveau_sgdma.c >>> index 0843ebc..af8b66d 100644 >>> --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c >>> +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c >>> @@ -105,6 +105,9 @@ nouveau_sgdma_create_ttm(struct ttm_bo_device *bdev, >>> nvbe->ttm.ttm.func = &nv50_sgdma_backend; >>> >>> if (ttm_dma_tt_init(&nvbe->ttm, bdev, size, page_flags, dummy_read_page)) >>> + { >>> + kfree(nvbe); >>> return NULL; >>> + } >>> return &nvbe->ttm.ttm; >>> } >>> -- >>> 1.8.4 >>> >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ > > > > -- > Regards, > Felipe Pena ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm: nouveau: fix nvbe leakage 2013-10-07 23:39 ` Geyslan Gregório Bem @ 2013-10-08 1:34 ` Ben Skeggs 2013-10-08 9:15 ` Geyslan Gregório Bem 0 siblings, 1 reply; 6+ messages in thread From: Ben Skeggs @ 2013-10-08 1:34 UTC (permalink / raw) To: Geyslan Gregório Bem Cc: Felipe Pena, airlied, dri-devel, linux-kernel, kernel-br ----- Original Message ----- > From: "Geyslan Gregório Bem" <geyslan@gmail.com> > To: "Felipe Pena" <felipensp@gmail.com> > Cc: "Ben Skeggs" <bskeggs@redhat.com>, airlied@linux.ie, dri-devel@lists.freedesktop.org, > linux-kernel@vger.kernel.org, "kernel-br" <kernel-br@googlegroups.com> > Sent: Tuesday, 8 October, 2013 9:39:02 AM > Subject: Re: [PATCH] drm: nouveau: fix nvbe leakage > > Felipe, thank you too. > > I realized this after a code review. > > Ben, what do you think? > > Geyslan Gregório Bem > hackingbits.com > > > 2013/10/7 Felipe Pena <felipensp@gmail.com>: > > Hi, > > > > On Mon, Oct 7, 2013 at 7:35 PM, Ben Skeggs <bskeggs@redhat.com> wrote: > >> ----- Original Message ----- > >>> From: "Geyslan G. Bem" <geyslan@gmail.com> > >>> To: airlied@linux.ie, bskeggs@redhat.com, dri-devel@lists.freedesktop.org > >>> Cc: linux-kernel@vger.kernel.org, kernel-br@googlegroups.com, "Geyslan G. > >>> Bem" <geyslan@gmail.com> > >>> Sent: Tuesday, 8 October, 2013 8:14:26 AM > >>> Subject: [PATCH] drm: nouveau: fix nvbe leakage > >>> > >>> Free memory allocated to nvbe when returning NULL. > >>> > >>> Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> > >> NACK. ttm_dma_tt_init() calls the destructor if it fails, which frees the > >> memory. > >> > >> Ben. > >> > > > > But ttm_tt_destroy() just handles the ttm_tt part from nvbe, the nvbe > > pointer itself is not being free'd. Actually look at ttm_tt_destroy() and you'll see that right at the end it goes ttm->func->destroy(ttm), which is nouveau_sgdma_destroy(). Ben. > > > >>> --- > >>> drivers/gpu/drm/nouveau/nouveau_sgdma.c | 3 +++ > >>> 1 file changed, 3 insertions(+) > >>> > >>> diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c > >>> b/drivers/gpu/drm/nouveau/nouveau_sgdma.c > >>> index 0843ebc..af8b66d 100644 > >>> --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c > >>> +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c > >>> @@ -105,6 +105,9 @@ nouveau_sgdma_create_ttm(struct ttm_bo_device *bdev, > >>> nvbe->ttm.ttm.func = &nv50_sgdma_backend; > >>> > >>> if (ttm_dma_tt_init(&nvbe->ttm, bdev, size, page_flags, > >>> dummy_read_page)) > >>> + { > >>> + kfree(nvbe); > >>> return NULL; > >>> + } > >>> return &nvbe->ttm.ttm; > >>> } > >>> -- > >>> 1.8.4 > >>> > >>> > >> -- > >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > >> the body of a message to majordomo@vger.kernel.org > >> More majordomo info at http://vger.kernel.org/majordomo-info.html > >> Please read the FAQ at http://www.tux.org/lkml/ > > > > > > > > -- > > Regards, > > Felipe Pena > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm: nouveau: fix nvbe leakage 2013-10-08 1:34 ` Ben Skeggs @ 2013-10-08 9:15 ` Geyslan Gregório Bem 0 siblings, 0 replies; 6+ messages in thread From: Geyslan Gregório Bem @ 2013-10-08 9:15 UTC (permalink / raw) To: Ben Skeggs; +Cc: Felipe Pena, airlied, dri-devel, LKML, kernel-br Rather, the first member of nvbe is ttm (same address). Got it. Please, disregard this patch. Thank you. Geyslan Gregório Bem hackingbits.com 2013/10/7 Ben Skeggs <bskeggs@redhat.com>: > ----- Original Message ----- >> From: "Geyslan Gregório Bem" <geyslan@gmail.com> >> To: "Felipe Pena" <felipensp@gmail.com> >> Cc: "Ben Skeggs" <bskeggs@redhat.com>, airlied@linux.ie, dri-devel@lists.freedesktop.org, >> linux-kernel@vger.kernel.org, "kernel-br" <kernel-br@googlegroups.com> >> Sent: Tuesday, 8 October, 2013 9:39:02 AM >> Subject: Re: [PATCH] drm: nouveau: fix nvbe leakage >> >> Felipe, thank you too. >> >> I realized this after a code review. >> >> Ben, what do you think? >> >> Geyslan Gregório Bem >> hackingbits.com >> >> >> 2013/10/7 Felipe Pena <felipensp@gmail.com>: >> > Hi, >> > >> > On Mon, Oct 7, 2013 at 7:35 PM, Ben Skeggs <bskeggs@redhat.com> wrote: >> >> ----- Original Message ----- >> >>> From: "Geyslan G. Bem" <geyslan@gmail.com> >> >>> To: airlied@linux.ie, bskeggs@redhat.com, dri-devel@lists.freedesktop.org >> >>> Cc: linux-kernel@vger.kernel.org, kernel-br@googlegroups.com, "Geyslan G. >> >>> Bem" <geyslan@gmail.com> >> >>> Sent: Tuesday, 8 October, 2013 8:14:26 AM >> >>> Subject: [PATCH] drm: nouveau: fix nvbe leakage >> >>> >> >>> Free memory allocated to nvbe when returning NULL. >> >>> >> >>> Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> >> >> NACK. ttm_dma_tt_init() calls the destructor if it fails, which frees the >> >> memory. >> >> >> >> Ben. >> >> >> > >> > But ttm_tt_destroy() just handles the ttm_tt part from nvbe, the nvbe >> > pointer itself is not being free'd. > Actually look at ttm_tt_destroy() and you'll see that right at the end it goes ttm->func->destroy(ttm), which is nouveau_sgdma_destroy(). > > Ben. >> > >> >>> --- >> >>> drivers/gpu/drm/nouveau/nouveau_sgdma.c | 3 +++ >> >>> 1 file changed, 3 insertions(+) >> >>> >> >>> diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c >> >>> b/drivers/gpu/drm/nouveau/nouveau_sgdma.c >> >>> index 0843ebc..af8b66d 100644 >> >>> --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c >> >>> +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c >> >>> @@ -105,6 +105,9 @@ nouveau_sgdma_create_ttm(struct ttm_bo_device *bdev, >> >>> nvbe->ttm.ttm.func = &nv50_sgdma_backend; >> >>> >> >>> if (ttm_dma_tt_init(&nvbe->ttm, bdev, size, page_flags, >> >>> dummy_read_page)) >> >>> + { >> >>> + kfree(nvbe); >> >>> return NULL; >> >>> + } >> >>> return &nvbe->ttm.ttm; >> >>> } >> >>> -- >> >>> 1.8.4 >> >>> >> >>> >> >> -- >> >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> >> the body of a message to majordomo@vger.kernel.org >> >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> Please read the FAQ at http://www.tux.org/lkml/ >> > >> > >> > >> > -- >> > Regards, >> > Felipe Pena >> ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-10-08 9:15 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-10-07 22:14 [PATCH] drm: nouveau: fix nvbe leakage Geyslan G. Bem 2013-10-07 22:35 ` Ben Skeggs 2013-10-07 23:36 ` Felipe Pena 2013-10-07 23:39 ` Geyslan Gregório Bem 2013-10-08 1:34 ` Ben Skeggs 2013-10-08 9:15 ` Geyslan Gregório Bem
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).