[RESEND,v2] media: v4l2-compat-ioctl32: fix missing length copy in put_v4l2_buffer32
Commit Message
In v4l2-compliance utility, test QUERYBUF required correct length
value to go through each planar to check planar's length in
multi-planar buffer type
Signed-off-by: Tiffany Lin <tiffany.lin@mediatek.com>
---
Remove "Change-Id: I98faddc5711c24f17beda52e6d18c657add251ac"
---
drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 3 +++
1 file changed, 3 insertions(+)
Comments
On 01/15/2016 04:28 AM, Tiffany Lin wrote:
> In v4l2-compliance utility, test QUERYBUF required correct length
> value to go through each planar to check planar's length in
> multi-planar buffer type
>
> Signed-off-by: Tiffany Lin <tiffany.lin@mediatek.com>
> ---
> Remove "Change-Id: I98faddc5711c24f17beda52e6d18c657add251ac"
> ---
>
> drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
> index 327e83a..6c01920 100644
> --- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
> +++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
> @@ -516,6 +516,9 @@ static int put_v4l2_buffer32(struct v4l2_buffer *kp, struct v4l2_buffer32 __user
> put_user(kp->reserved, &up->reserved))
> return -EFAULT;
>
> + if (put_user(kp->length, &up->length))
> + return -EFAULT;
> +
This should also be done for get_v4l2_buffer32, and the other places where
length is used in put/get_user() can now be removed.
Regards,
Hans
> if (V4L2_TYPE_IS_MULTIPLANAR(kp->type)) {
> num_planes = kp->length;
> if (num_planes == 0)
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
@@ -516,6 +516,9 @@ static int put_v4l2_buffer32(struct v4l2_buffer *kp, struct v4l2_buffer32 __user
put_user(kp->reserved, &up->reserved))
return -EFAULT;
+ if (put_user(kp->length, &up->length))
+ return -EFAULT;
+
if (V4L2_TYPE_IS_MULTIPLANAR(kp->type)) {
num_planes = kp->length;
if (num_planes == 0)