From 068d111884a588f4972e27477b1cb2cf4f52d0e3 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Wed, 24 Apr 2024 15:28:43 +0200 Subject: [PATCH] pan/kmod: Fix a syncobj leak in the panthor backend Make sure we release the syncobj attached to the BO if the object is sharable. Fixes: 97f6a62f7ef8 ("pan/kmod: Add a backend for panthor") Signed-off-by: Boris Brezillon Reviewed-by: Erik Faye-Lund Acked-by: Constantine Shablia Reviewed-by: Antonino Maniscalco Part-of: --- src/panfrost/lib/kmod/panthor_kmod.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/panfrost/lib/kmod/panthor_kmod.c b/src/panfrost/lib/kmod/panthor_kmod.c index 0c7fbc61f24..4404b6b1cad 100644 --- a/src/panfrost/lib/kmod/panthor_kmod.c +++ b/src/panfrost/lib/kmod/panthor_kmod.c @@ -309,6 +309,12 @@ err_free_bo: static void panthor_kmod_bo_free(struct pan_kmod_bo *bo) { + struct panthor_kmod_bo *panthor_bo = + container_of(bo, struct panthor_kmod_bo, base); + + if (!bo->exclusive_vm) + drmSyncobjDestroy(bo->dev->fd, panthor_bo->sync.handle); + drmCloseBufferHandle(bo->dev->fd, bo->handle); pan_kmod_dev_free(bo->dev, bo); }