Message ID | 20210111145445.28854-4-ribalda@chromium.org |
---|---|
State | Superseded |
Headers | show |
Series | [1/9] media: ipu3-cio2: Do not zero reserved fields | expand |
Hi Ricardo, On 11/01/2021 14:54, Ricardo Ribalda wrote: > Core code already clears reserved fields of struct > v4l2_pix_format_mplane, check: 4e1e0eb0e074 ("media: v4l2-ioctl: Zero > v4l2_plane_pix_format reserved fields"). > > Cc: Matthias Brugger <matthias.bgg@gmail.com> > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> There's also another memset.*reserved occurring in platform/mtk-vcodec/mtk_vcodec_enc.c: vidioc_enum_fmt() While v4l2-core/v4l2-ioctl.c has: > static int v4l_enum_fmt(const struct v4l2_ioctl_ops *ops, > struct file *file, void *fh, void *arg) > { > struct video_device *vdev = video_devdata(file); > struct v4l2_fmtdesc *p = arg; > int ret = check_fmt(file, p->type); > u32 mbus_code; > u32 cap_mask; > > if (ret) > return ret; > ret = -EINVAL; > > if (!(vdev->device_caps & V4L2_CAP_IO_MC)) > p->mbus_code = 0; > > mbus_code = p->mbus_code; > CLEAR_AFTER_FIELD(p, type); So would that mean ^^^ should also be sufficient to remove the need for that memset? With that fixed or resolved: Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > --- > drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c | 5 ----- > drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c | 8 -------- > 2 files changed, 13 deletions(-) > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c > index c768a587a944..d746c41ea805 100644 > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c > @@ -715,12 +715,7 @@ static int vidioc_try_fmt(struct v4l2_format *f, > } > } > > - for (i = 0; i < pix_fmt_mp->num_planes; i++) > - memset(&(pix_fmt_mp->plane_fmt[i].reserved[0]), 0x0, > - sizeof(pix_fmt_mp->plane_fmt[0].reserved)); > - > pix_fmt_mp->flags = 0; > - memset(&pix_fmt_mp->reserved, 0x0, sizeof(pix_fmt_mp->reserved)); > return 0; > } > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > index 21de1431cfcb..db1f62cc38b3 100644 > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > @@ -320,13 +320,7 @@ static int vidioc_try_fmt(struct v4l2_format *f, > } > } > > - for (i = 0; i < pix_fmt_mp->num_planes; i++) > - memset(&(pix_fmt_mp->plane_fmt[i].reserved[0]), 0x0, > - sizeof(pix_fmt_mp->plane_fmt[0].reserved)); > - > pix_fmt_mp->flags = 0; > - memset(&pix_fmt_mp->reserved, 0x0, > - sizeof(pix_fmt_mp->reserved)); > > return 0; > } > @@ -532,8 +526,6 @@ static int vidioc_venc_g_fmt(struct file *file, void *priv, > for (i = 0; i < pix->num_planes; i++) { > pix->plane_fmt[i].bytesperline = q_data->bytesperline[i]; > pix->plane_fmt[i].sizeimage = q_data->sizeimage[i]; > - memset(&(pix->plane_fmt[i].reserved[0]), 0x0, > - sizeof(pix->plane_fmt[i].reserved)); > } > > pix->flags = 0; >
diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c index c768a587a944..d746c41ea805 100644 --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c @@ -715,12 +715,7 @@ static int vidioc_try_fmt(struct v4l2_format *f, } } - for (i = 0; i < pix_fmt_mp->num_planes; i++) - memset(&(pix_fmt_mp->plane_fmt[i].reserved[0]), 0x0, - sizeof(pix_fmt_mp->plane_fmt[0].reserved)); - pix_fmt_mp->flags = 0; - memset(&pix_fmt_mp->reserved, 0x0, sizeof(pix_fmt_mp->reserved)); return 0; } diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c index 21de1431cfcb..db1f62cc38b3 100644 --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c @@ -320,13 +320,7 @@ static int vidioc_try_fmt(struct v4l2_format *f, } } - for (i = 0; i < pix_fmt_mp->num_planes; i++) - memset(&(pix_fmt_mp->plane_fmt[i].reserved[0]), 0x0, - sizeof(pix_fmt_mp->plane_fmt[0].reserved)); - pix_fmt_mp->flags = 0; - memset(&pix_fmt_mp->reserved, 0x0, - sizeof(pix_fmt_mp->reserved)); return 0; } @@ -532,8 +526,6 @@ static int vidioc_venc_g_fmt(struct file *file, void *priv, for (i = 0; i < pix->num_planes; i++) { pix->plane_fmt[i].bytesperline = q_data->bytesperline[i]; pix->plane_fmt[i].sizeimage = q_data->sizeimage[i]; - memset(&(pix->plane_fmt[i].reserved[0]), 0x0, - sizeof(pix->plane_fmt[i].reserved)); } pix->flags = 0;
Core code already clears reserved fields of struct v4l2_pix_format_mplane, check: 4e1e0eb0e074 ("media: v4l2-ioctl: Zero v4l2_plane_pix_format reserved fields"). Cc: Matthias Brugger <matthias.bgg@gmail.com> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> --- drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c | 5 ----- drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c | 8 -------- 2 files changed, 13 deletions(-)