From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
To: Irui Wang <irui.wang@mediatek.com>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
angelogioacchino.delregno@collabora.com,
Qianfeng Rong <rongqianfeng@vivo.com>
Cc: Project_Global_Chrome_Upstream_Group@mediatek.com,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
Yunfei Dong <yunfei.dong@mediatek.com>,
Longfei Wang <longfei.wang@mediatek.com>
Subject: Re: [PATCH v2] media: mediatek: encoder: Fix uninitialized scalar variable issue
Date: Fri, 29 Aug 2025 15:10:02 -0400 [thread overview]
Message-ID: <c751e015c0a9fb2ab6514a45952e01424cfbb0cb.camel@collabora.com> (raw)
In-Reply-To: <20250716071450.8214-1-irui.wang@mediatek.com>
[-- Attachment #1: Type: text/plain, Size: 2759 bytes --]
Le mercredi 16 juillet 2025 à 15:14 +0800, Irui Wang a écrit :
> 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@mediatek.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));
Please, apply review comment to all occurrence, so same here.
> 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));
Same here.
> ret = venc_if_encode(ctx, VENC_START_OPT_ENCODE_FRAME,
> &frm_buf, &bs_buf, &enc_result);
>
>
Would be nice to coordinate with Qianfeng Rong <rongqianfeng@vivo.com> [0], he
ported the entire driver to this initialization method, which is clearly the way
to go.
- Patch 1 will port the driver to {} stack init
- Patch 2 will add missing initializes
Consistency is key for this type of things since developer usually follow the
surrounding style.
regards
Nicolas
[0] https://patchwork.linuxtv.org/project/linux-media/patch/20250803135514.118892-1-rongqianfeng@vivo.com/
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2025-08-30 0:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-16 7:14 [PATCH v2] media: mediatek: encoder: Fix uninitialized scalar variable issue Irui Wang
2025-08-29 19:10 ` Nicolas Dufresne [this message]
2025-09-01 2:37 ` Irui Wang (王瑞)
2025-09-02 12:57 ` Nicolas Dufresne
2025-09-07 9:44 ` Irui Wang (王瑞)
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=c751e015c0a9fb2ab6514a45952e01424cfbb0cb.camel@collabora.com \
--to=nicolas.dufresne@collabora.com \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=hverkuil-cisco@xs4all.nl \
--cc=irui.wang@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=longfei.wang@mediatek.com \
--cc=matthias.bgg@gmail.com \
--cc=mchehab@kernel.org \
--cc=rongqianfeng@vivo.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.