Hi,

Is there a work around for this bug without upgrading to 3.16 kernel?

Is it safe to manually set the length to be data_offset + size + 1 to make sure

planes[plane].length is greater than planes[plane].data_offset +
                    q->plane_sizes[plane]?

Thank you.

On Wed, Apr 23, 2014 at 12:24 AM, Hans Verkuil <hverk...@xs4all.nl> wrote:
> On 04/23/2014 02:18 AM, n179911 wrote:
>> In __qbuf_dmabuf(), it check the length and size of the buffer being
>> queued, like this:
>> http://lxr.free-electrons.com/source/drivers/media/v4l2-core/videobuf2-core.c#L1158
>>
>> My question is why the range check is liked this:
>>
>> 1158  if (planes[plane].length < planes[plane].data_offset +
>> 1159                     q->plane_sizes[plane]) {
>
> It's a bug. It should be:
>
>         if (planes[plane].length < q->plane_sizes[plane]) {
>
> This has been fixed in our upstream code and will appear in 3.16.
>
> Regards,
>
>         Hans
>
>>         .....
>>
>> Isn't  planes[plane].length + planes[plane].data_offset equals to
>> q->plane_sizes[plane]?
>>
>> So the check should be?
>>  if (planes[plane].length < q->plane_sizes[plane] - 
>> planes[plane].data_offset)
>>
>> Please tell me what am I missing?
>>
>> Thank you
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-media" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to