lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Mon, 16 Oct 2017 17:41:59 +0300
From:   Laurent Pinchart <laurent.pinchart@...asonboard.com>
To:     Baoyou Xie <baoyou.xie@...aro.org>
Cc:     mchehab@...nel.org, linux-media@...r.kernel.org,
        linux-kernel@...r.kernel.org, baoyou.xie@...il.com,
        xie.baoyou@....com.cn
Subject: Re: [PATCH v1] [media] uvcvideo: mark buffer error where overflow

Hi Baoyou,

Thank you for the patch.

On Thursday, 7 September 2017 05:59:48 EEST Baoyou Xie wrote:
> Some cameras post inaccurate frame where next frame data overlap
> it. this results in screen flicker, and it need to be prevented.
> 
> So this patch marks the buffer error to discard the frame where
> buffer overflow.

I've thought about this before and I wasn't sure how to handle this case. As 
such an overflow might not signal an erroneous buffer, as the buffer could 
contain a valid image. However, if you have seen erroneous buffer contents in 
this case, and given that overflows should not occur, I think we could decide 
to stay on the safe side and set the error flag.

> Signed-off-by: Baoyou Xie <baoyou.xie@...aro.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart@...asonboard.com>

I'll apply the patch to my tree.

> ---
>  drivers/media/usb/uvc/uvc_video.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/media/usb/uvc/uvc_video.c
> b/drivers/media/usb/uvc/uvc_video.c index fb86d6a..81a3530 100644
> --- a/drivers/media/usb/uvc/uvc_video.c
> +++ b/drivers/media/usb/uvc/uvc_video.c
> @@ -1077,6 +1077,7 @@ static void uvc_video_decode_data(struct uvc_streaming
> *stream, /* Complete the current frame if the buffer size was exceeded. */
> if (len > maxlen) {
>  		uvc_trace(UVC_TRACE_FRAME, "Frame complete (overflow).\n");
> +		buf->error = 1;
>  		buf->state = UVC_BUF_STATE_READY;
>  	}
>  }


-- 
Regards,

Laurent Pinchart

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ