Re: [PATCH 5.10 32/77] drm/ttm: fix memleak in ttm_transfered_destroy

From: Sven Joachim
Date: Wed Nov 03 2021 - 15:52:23 EST


On 2021-11-01 10:17 +0100, Greg Kroah-Hartman wrote:

> From: Christian König <christian.koenig@xxxxxxx>
>
> commit 0db55f9a1bafbe3dac750ea669de9134922389b5 upstream.
>
> We need to cleanup the fences for ghost objects as well.
>
> Signed-off-by: Christian König <christian.koenig@xxxxxxx>
> Reported-by: Erhard F. <erhard_f@xxxxxxxxxxx>
> Tested-by: Erhard F. <erhard_f@xxxxxxxxxxx>
> Reviewed-by: Huang Rui <ray.huang@xxxxxxx>
> Bug: https://bugzilla.kernel.org/show_bug.cgi?id=214029
> Bug: https://bugzilla.kernel.org/show_bug.cgi?id=214447
> CC: <stable@xxxxxxxxxxxxxxx>
> Link: https://patchwork.freedesktop.org/patch/msgid/20211020173211.2247-1-christian.koenig@xxxxxxx
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/gpu/drm/ttm/ttm_bo_util.c | 1 +
> 1 file changed, 1 insertion(+)
>
> --- a/drivers/gpu/drm/ttm/ttm_bo_util.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
> @@ -322,6 +322,7 @@ static void ttm_transfered_destroy(struc
> struct ttm_transfer_obj *fbo;
>
> fbo = container_of(bo, struct ttm_transfer_obj, base);
> + dma_resv_fini(&fbo->base.base._resv);
> ttm_bo_put(fbo->bo);
> kfree(fbo);
> }

Alas, this innocuous looking commit causes one of my systems to lock up
as soon as run startx. This happens with the nouveau driver, two other
systems with radeon and intel graphics are not affected. Also I only
noticed it in 5.10.77. Kernels 5.15 and 5.14.16 are not affected, and I
do not use 5.4 anymore.

I am not familiar with nouveau's ttm management and what has changed
there between 5.10 and 5.14, but maybe one of their developers can shed
a light on this.

Cheers,
Sven