[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250716071450.8214-1-irui.wang@mediatek.com>
Date: Wed, 16 Jul 2025 15:14:50 +0800
From: Irui Wang <irui.wang@...iatek.com>
To: Hans Verkuil <hverkuil-cisco@...all.nl>, Mauro Carvalho Chehab
<mchehab@...nel.org>, Matthias Brugger <matthias.bgg@...il.com>,
<angelogioacchino.delregno@...labora.com>, <nicolas.dufresne@...labora.com>
CC: <Project_Global_Chrome_Upstream_Group@...iatek.com>,
<linux-media@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <linux-mediatek@...ts.infradead.org>,
Yunfei Dong <yunfei.dong@...iatek.com>, Longfei Wang
<longfei.wang@...iatek.com>, Irui Wang <irui.wang@...iatek.com>
Subject: [PATCH v2] media: mediatek: encoder: Fix uninitialized scalar variable issue
UNINIT checker finds some instances of variables that are used
without being initialized, for example using the uninitialized
value enc_result.is_key_frm can result in unpredictable behavior,
so initialize these variables after declaring.
Fixes: 4e855a6efa54 ("[media] vcodec: mediatek: Add Mediatek V4L2 Video Encoder Driver")
Signed-off-by: Irui Wang <irui.wang@...iatek.com>
---
v2:
- Add Fixes tag, update commit message
- Remove unnecessary memset
- Move memset to before the first usage
---
.../media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c b/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c
index a01dc25a7699..3065f3e66336 100644
--- a/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c
+++ b/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c
@@ -865,7 +865,7 @@ static void vb2ops_venc_buf_queue(struct vb2_buffer *vb)
static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count)
{
struct mtk_vcodec_enc_ctx *ctx = vb2_get_drv_priv(q);
- struct venc_enc_param param;
+ struct venc_enc_param param = { 0 };
int ret;
int i;
@@ -1036,6 +1036,7 @@ static int mtk_venc_encode_header(void *priv)
ctx->id, dst_buf->vb2_buf.index, bs_buf.va,
(u64)bs_buf.dma_addr, bs_buf.size);
+ memset(&enc_result, 0, sizeof(enc_result));
ret = venc_if_encode(ctx,
VENC_START_OPT_ENCODE_SEQUENCE_HEADER,
NULL, &bs_buf, &enc_result);
@@ -1185,6 +1186,7 @@ static void mtk_venc_worker(struct work_struct *work)
(u64)frm_buf.fb_addr[1].dma_addr, frm_buf.fb_addr[1].size,
(u64)frm_buf.fb_addr[2].dma_addr, frm_buf.fb_addr[2].size);
+ memset(&enc_result, 0, sizeof(enc_result));
ret = venc_if_encode(ctx, VENC_START_OPT_ENCODE_FRAME,
&frm_buf, &bs_buf, &enc_result);
--
2.46.0
Powered by blists - more mailing lists