mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] media: mediatek: vcodec: Free encoder controls when setup fails
@ 2026-11-03  8:35 Wentao Liang
  2026-11-03  9:21 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 2+ messages in thread
From: Wentao Liang @ 2026-11-03  8:35 UTC (permalink / raw)
  To: tiffany.lin, andrew-ct.chen, yunfei.dong
  Cc: mchehab, linux-media, linux-mediatek, linux-arm-kernel,
	linux-kernel, Wentao Liang, stable

mtk_vcodec_enc_ctrls_setup() can fail after creating some controls. On
that error, fops_vcodec_open() jumps past the control handler cleanup and
frees the context, leaking the handler's controls and allocation.

Use the same control handler cleanup as the later m2m context creation
failure, and remove the now-unused label. No m2m context is released on
this path because its initialization has not been attempted yet.

Fixes: 4e855a6efa54 ("[media] vcodec: mediatek: Add Mediatek V4L2 Video Encoder Driver")
Cc: stable@vger.kernel.org
Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
 .../platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.c      | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.c b/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.c
index 4e4541b2fc8e..dd47feea6acd 100644
--- a/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.c
+++ b/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.c
@@ -140,7 +140,7 @@ static int fops_vcodec_open(struct file *file)
 	ret = mtk_vcodec_enc_ctrls_setup(ctx);
 	if (ret) {
 		mtk_v4l2_venc_err(ctx, "Failed to setup controls() (%d)", ret);
-		goto err_ctrls_setup;
+		goto err_m2m_ctx_init;
 	}
 	ctx->m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev_enc, ctx,
 					 &mtk_vcodec_enc_queue_init);
@@ -191,7 +191,6 @@ static int fops_vcodec_open(struct file *file)
 	v4l2_m2m_ctx_release(ctx->m2m_ctx);
 err_m2m_ctx_init:
 	v4l2_ctrl_handler_free(&ctx->ctrl_hdl);
-err_ctrls_setup:
 	v4l2_fh_del(&ctx->fh, file);
 	v4l2_fh_exit(&ctx->fh);
 	kfree(ctx);
-- 
2.34.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-11-03  9:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03  8:35 [PATCH] media: mediatek: vcodec: Free encoder controls when setup fails Wentao Liang
2026-11-03  9:21 ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®