2024-03-20 06:14:00

by Irui Wang (王瑞)

[permalink] [raw]
Subject: [PATCH] media: mediatek: vcodec: Handle invalid decoder vsi

Handle invalid decoder vsi in vpu_dec_init to ensure the decoder vsi is
valid for future use.

Signed-off-by: Irui Wang <[email protected]>
---
.../media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
index 82e57ae983d5..17770993fe5a 100644
--- a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
+++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
@@ -231,6 +231,12 @@ int vpu_dec_init(struct vdec_vpu_inst *vpu)
mtk_vdec_debug(vpu->ctx, "vdec_inst=%p", vpu);

err = vcodec_vpu_send_msg(vpu, (void *)&msg, sizeof(msg));
+
+ if (IS_ERR_OR_NULL(vpu->vsi)) {
+ mtk_vdec_err(vpu->ctx, "invalid vdec vsi, status=%d", err);
+ return -EINVAL;
+ }
+
mtk_vdec_debug(vpu->ctx, "- ret=%d", err);
return err;
}
--
2.18.0



Subject: Re: [PATCH] media: mediatek: vcodec: Handle invalid decoder vsi

Il 20/03/24 07:13, Irui Wang ha scritto:
> Handle invalid decoder vsi in vpu_dec_init to ensure the decoder vsi is
> valid for future use.
>
> Signed-off-by: Irui Wang <[email protected]>

This commit needs a Fixes tag, can you please add the relevant one and resend?

Thanks,
Angelo

> ---
> .../media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> index 82e57ae983d5..17770993fe5a 100644
> --- a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> +++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> @@ -231,6 +231,12 @@ int vpu_dec_init(struct vdec_vpu_inst *vpu)
> mtk_vdec_debug(vpu->ctx, "vdec_inst=%p", vpu);
>
> err = vcodec_vpu_send_msg(vpu, (void *)&msg, sizeof(msg));
> +
> + if (IS_ERR_OR_NULL(vpu->vsi)) {
> + mtk_vdec_err(vpu->ctx, "invalid vdec vsi, status=%d", err);
> + return -EINVAL;
> + }
> +
> mtk_vdec_debug(vpu->ctx, "- ret=%d", err);
> return err;
> }


2024-03-21 01:55:43

by Irui Wang (王瑞)

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Handle invalid decoder vsi

Dear Angelo,

Thanks for your reviewing, patch v2 has been sent with 'Fixes' tag,
thank you very much.

Best Regards

On Wed, 2024-03-20 at 10:13 +0100, AngeloGioacchino Del Regno wrote:
> Il 20/03/24 07:13, Irui Wang ha scritto:
> > Handle invalid decoder vsi in vpu_dec_init to ensure the decoder
> > vsi is
> > valid for future use.
> >
> > Signed-off-by: Irui Wang <[email protected]>
>
> This commit needs a Fixes tag, can you please add the relevant one
> and resend?
>
> Thanks,
> Angelo
>
> > ---
> > .../media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c | 6
> > ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> > b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> > index 82e57ae983d5..17770993fe5a 100644
> > --- a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> > +++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> > @@ -231,6 +231,12 @@ int vpu_dec_init(struct vdec_vpu_inst *vpu)
> > mtk_vdec_debug(vpu->ctx, "vdec_inst=%p", vpu);
> >
> > err = vcodec_vpu_send_msg(vpu, (void *)&msg, sizeof(msg));
> > +
> > + if (IS_ERR_OR_NULL(vpu->vsi)) {
> > + mtk_vdec_err(vpu->ctx, "invalid vdec vsi, status=%d",
> > err);
> > + return -EINVAL;
> > + }
> > +
> > mtk_vdec_debug(vpu->ctx, "- ret=%d", err);
> > return err;
> > }
>
>

2024-03-22 14:45:01

by Nicolas Dufresne

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Handle invalid decoder vsi

Hi,

Le mercredi 20 mars 2024 à 14:13 +0800, Irui Wang a écrit :
> Handle invalid decoder vsi in vpu_dec_init to ensure the decoder vsi is
> valid for future use.
>
> Signed-off-by: Irui Wang <[email protected]>
> ---
> .../media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> index 82e57ae983d5..17770993fe5a 100644
> --- a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> +++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> @@ -231,6 +231,12 @@ int vpu_dec_init(struct vdec_vpu_inst *vpu)
> mtk_vdec_debug(vpu->ctx, "vdec_inst=%p", vpu);
>
> err = vcodec_vpu_send_msg(vpu, (void *)&msg, sizeof(msg));
> +
> + if (IS_ERR_OR_NULL(vpu->vsi)) {
> + mtk_vdec_err(vpu->ctx, "invalid vdec vsi, status=%d", err);
> + return -EINVAL;
> + }
> +

Make sense, though on the cosmetic side, were is the err value from if the vsi
pointer is NULL ?

Nicolas

> mtk_vdec_debug(vpu->ctx, "- ret=%d", err);
> return err;
> }


2024-03-23 01:45:47

by Irui Wang (王瑞)

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Handle invalid decoder vsi

Dear Nicolas,

Thanks for your reviewing.

On Fri, 2024-03-22 at 10:44 -0400, Nicolas Dufresne wrote:
> Hi,
>
> Le mercredi 20 mars 2024 à 14:13 +0800, Irui Wang a écrit :
> > Handle invalid decoder vsi in vpu_dec_init to ensure the decoder
> > vsi is
> > valid for future use.
> >
> > Signed-off-by: Irui Wang <[email protected]>
> > ---
> > .../media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c | 6
> > ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> > b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> > index 82e57ae983d5..17770993fe5a 100644
> > --- a/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> > +++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c
> > @@ -231,6 +231,12 @@ int vpu_dec_init(struct vdec_vpu_inst *vpu)
> > mtk_vdec_debug(vpu->ctx, "vdec_inst=%p", vpu);
> >
> > err = vcodec_vpu_send_msg(vpu, (void *)&msg, sizeof(msg));
> > +
> > + if (IS_ERR_OR_NULL(vpu->vsi)) {
> > + mtk_vdec_err(vpu->ctx, "invalid vdec vsi, status=%d",
> > err);
> > + return -EINVAL;
> > + }
> > +
>
> Make sense, though on the cosmetic side, were is the err value from
> if the vsi
> pointer is NULL ?

Do you mean the returned 'err'?, it's the status value returned by
'send message'. Even if the 'vsi' is NULL, the returned status value
'err' may still be 'NO_ERROR', there is no direct relationship between
them.

If I misunderstood your question, please correct me. Thank you very
much.

>
> Nicolas
>
> > mtk_vdec_debug(vpu->ctx, "- ret=%d", err);
> > return err;
> > }
>
>