Skip to content

Commit 4e0713c

Browse files
yunfei-mtkgregkh
authored andcommitted
media: mediatek: vcodec: Fix VP8 stateless decoder smatch warning
commit b113bc7c0e83b32f4dd2d291a2b6c4803e0a2c44 upstream. Fix a smatch static checker warning on vdec_vp8_req_if.c. Which leads to a kernel crash when fb is NULL. Fixes: 7a7ae26 ("media: mediatek: vcodec: support stateless VP8 decoding") Signed-off-by: Yunfei Dong <[email protected]> Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Signed-off-by: Sebastian Fricke <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Bin Lan <[email protected]> Signed-off-by: He Zhe <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent a12bd67 commit 4e0713c

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

drivers/media/platform/mediatek/vcodec/vdec/vdec_vp8_req_if.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,14 +336,18 @@ static int vdec_vp8_slice_decode(void *h_vdec, struct mtk_vcodec_mem *bs,
336336
src_buf_info = container_of(bs, struct mtk_video_dec_buf, bs_buffer);
337337

338338
fb = inst->ctx->dev->vdec_pdata->get_cap_buffer(inst->ctx);
339-
dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
339+
if (!fb) {
340+
mtk_vcodec_err(inst, "fb buffer is NULL");
341+
return -ENOMEM;
342+
}
340343

341-
y_fb_dma = fb ? (u64)fb->base_y.dma_addr : 0;
344+
dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
345+
y_fb_dma = fb->base_y.dma_addr;
342346
if (inst->ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 1)
343347
c_fb_dma = y_fb_dma +
344348
inst->ctx->picinfo.buf_w * inst->ctx->picinfo.buf_h;
345349
else
346-
c_fb_dma = fb ? (u64)fb->base_c.dma_addr : 0;
350+
c_fb_dma = fb->base_c.dma_addr;
347351

348352
inst->vsi->dec.bs_dma = (u64)bs->dma_addr;
349353
inst->vsi->dec.bs_sz = bs->size;

0 commit comments

Comments
 (0)