]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: cedrus: Fix missing cleanup in error path
authorSamuel Holland <samuel@sholland.org>
Mon, 6 Apr 2026 22:14:02 +0000 (01:14 +0300)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Mon, 4 May 2026 07:31:04 +0000 (09:31 +0200)
According to the documentation struct v4l2_fh has to be cleaned up with
v4l2_fh_exit() before being freed. [1]
Currently there is no actual bug here, when v4l2_fh_exit() isn't called.
v4l2_fh_exit() in this case only destroys internal mutex. But it may
change in the future, when v4l2_fh_init/v4l2_fh_exit will be enhanced.

1. https://docs.kernel.org/driver-api/media/v4l2-fh.html

Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
Fixes: 50e761516f2b ("media: platform: Add Cedrus VPU decoder driver")
Cc: stable@vger.kernel.org
Acked-by: Paul Kocialkowski <paulk@sys-base.io>
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/staging/media/sunxi/cedrus/cedrus.c

index 6600245dff0e232d20f52f1b32f01756a805e952..1d2130f35fffcf7ff55012fa5e33486b7d6b375b 100644 (file)
@@ -391,6 +391,7 @@ static int cedrus_open(struct file *file)
 err_m2m_release:
        v4l2_m2m_ctx_release(ctx->fh.m2m_ctx);
 err_free:
+       v4l2_fh_exit(&ctx->fh);
        kfree(ctx);
        mutex_unlock(&dev->dev_mutex);