Skip to content

Commit 6d32a30

Browse files
Aakarsh Jaingregkh
authored andcommitted
media: s5p-mfc: Corrected NV12M/NV21M plane-sizes
[ Upstream commit 7d0d0b2 ] There is a possibility of getting page fault if the overall buffer size is not aligned to 256bytes. Since MFC does read operation only and it won't corrupt the data values even if it reads the extra bytes. Corrected luma and chroma plane sizes for V4L2_PIX_FMT_NV12M and V4L2_PIX_FMT_NV21M pixel format. Suggested-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 3c057a4 commit 6d32a30

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -549,8 +549,9 @@ static void s5p_mfc_enc_calc_src_size_v6(struct s5p_mfc_ctx *ctx)
549549
case V4L2_PIX_FMT_NV21M:
550550
ctx->stride[0] = ALIGN(ctx->img_width, S5P_FIMV_NV12M_HALIGN_V6);
551551
ctx->stride[1] = ALIGN(ctx->img_width, S5P_FIMV_NV12M_HALIGN_V6);
552-
ctx->luma_size = ctx->stride[0] * ALIGN(ctx->img_height, 16);
553-
ctx->chroma_size = ctx->stride[0] * ALIGN(ctx->img_height / 2, 16);
552+
ctx->luma_size = ALIGN(ctx->stride[0] * ALIGN(ctx->img_height, 16), 256);
553+
ctx->chroma_size = ALIGN(ctx->stride[0] * ALIGN(ctx->img_height / 2, 16),
554+
256);
554555
break;
555556
case V4L2_PIX_FMT_YUV420M:
556557
case V4L2_PIX_FMT_YVU420M:

0 commit comments

Comments
 (0)