[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20210310104639.1069974-1-ribalda@chromium.org>
Date: Wed, 10 Mar 2021 11:46:39 +0100
From: Ricardo Ribalda <ribalda@...omium.org>
To: Tomasz Figa <tfiga@...omium.org>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc: Ricardo Ribalda <ribalda@...omium.org>
Subject: [PATCH] media: videobuf2: Explicitly state max size of planes
The plane size needs to be PAGE_ALIGNED, so it is not possible to have
sizes bigger than MAX_INT - PAGE_SIZE.
We already check for overflows when that happen:
if (size < vb->planes[plane].length)
goto free;
But it is good to explicitly state our max allowed value, in order to
align with the driver expectations.
Signed-off-by: Ricardo Ribalda <ribalda@...omium.org>
---
include/media/videobuf2-core.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index 799ba61b5b6f..12955cb460d2 100644
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -154,9 +154,11 @@ struct vb2_mem_ops {
* @dbuf: dma_buf - shared buffer object.
* @dbuf_mapped: flag to show whether dbuf is mapped or not
* @bytesused: number of bytes occupied by data in the plane (payload).
- * @length: size of this plane (NOT the payload) in bytes.
+ * @length: size of this plane (NOT the payload) in bytes. The maximum
+ * valid size is MAX_UINT - PAGE_SIZE.
* @min_length: minimum required size of this plane (NOT the payload) in bytes.
- * @length is always greater or equal to @min_length.
+ * @length is always greater or equal to @min_length, and like
+ * @length, it is limited to MAX_UINT - PAGE_SIZE.
* @m: Union with memtype-specific data.
* @m.offset: when memory in the associated struct vb2_buffer is
* %VB2_MEMORY_MMAP, equals the offset from the start of
--
2.30.1.766.gb4fecdf3b7-goog
Powered by blists - more mailing lists