media: mediatek: vcodec: Handle invalid encoder vsi
authorIrui Wang <irui.wang@mediatek.com>
Sat, 7 Oct 2023 11:33:47 +0000 (19:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:33 +0000 (11:59 +0100)
[ Upstream commit 19e2e01f30b5d2b448b5db097130486ea95af36f ]

Handle invalid encoder vsi in vpu_enc_init to ensure the encoder
vsi is valid for future use.

Fixes: 1972e32431ed ("media: mediatek: vcodec: Fix possible invalid memory access for encoder")

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/mediatek/vcodec/encoder/venc_vpu_if.c

index ae6290d..84ad1cc 100644 (file)
@@ -154,6 +154,11 @@ int vpu_enc_init(struct venc_vpu_inst *vpu)
                return -EINVAL;
        }
 
+       if (IS_ERR_OR_NULL(vpu->vsi)) {
+               mtk_venc_err(vpu->ctx, "invalid venc vsi");
+               return -EINVAL;
+       }
+
        return 0;
 }