drm/v3d: Plug dma_fence leak
authorPhil Elwell <phil@raspberrypi.org>
Tue, 12 Nov 2019 16:41:21 +0000 (16:41 +0000)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:33:08 +0000 (16:33 +0100)
The irq_fence and done_fence are given a reference that is never
released. The necessary dma_fence_put()s seem to have been
deleted in error in an earlier commit.

Fixes: 0b73676836b2 ("drm/v3d: Clock V3D down when not in use.")

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/gpu/drm/v3d/v3d_gem.c

index 035de14..8b5dc2b 100644 (file)
@@ -410,6 +410,9 @@ v3d_job_free(struct kref *ref)
        }
        xa_destroy(&job->deps);
 
+       dma_fence_put(job->irq_fence);
+       dma_fence_put(job->done_fence);
+
        v3d_clock_up_put(v3d);
 
        kfree(job);