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 > --- > 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 [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/