From: Wentao Liang <vulab@iscas.ac.cn>
To: tiffany.lin@mediatek.com, andrew-ct.chen@mediatek.com,
yunfei.dong@mediatek.com
Cc: mchehab@kernel.org, linux-media@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Wentao Liang <vulab@iscas.ac.cn>,
stable@vger.kernel.org
Subject: [PATCH] media: mediatek: vcodec: Free encoder controls when setup fails
Date: Tue, 3 Nov 2026 08:35:33 +0000 [thread overview]
Message-ID: <20261103083533.1176842-1-vulab@iscas.ac.cn> (raw)
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
next reply other threads:[~2026-11-03 8:35 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 8:35 Wentao Liang [this message]
2026-11-03 9:21 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261103083533.1176842-1-vulab@iscas.ac.cn \
--to=vulab@iscas.ac.cn \
--cc=andrew-ct.chen@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=mchehab@kernel.org \
--cc=stable@vger.kernel.org \
--cc=tiffany.lin@mediatek.com \
--cc=yunfei.dong@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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®