]> git.baikalelectronics.ru Git - kernel.git/commit
media: v4l2-dv-timings.c: fix too strict blanking sanity checks
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 16 Nov 2022 15:07:22 +0000 (15:07 +0000)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Wed, 23 Nov 2022 12:02:30 +0000 (12:02 +0000)
commitc3bb2e7e5635002187d9975699475349e260f3f6
tree9a8b22baad430ba0672e6e4b89426725b9100957
parent0da1c656528f71a4954e66a870c46e3e2d0fd4bd
media: v4l2-dv-timings.c: fix too strict blanking sanity checks

Sanity checks were added to verify the v4l2_bt_timings blanking fields
in order to avoid integer overflows when userspace passes weird values.

But that assumed that userspace would correctly fill in the front porch,
backporch and sync values, but sometimes all you know is the total
blanking, which is then assigned to just one of these fields.

And that can fail with these checks.

So instead set a maximum for the total horizontal and vertical
blanking and check that each field remains below that.

That is still sufficient to avoid integer overflows, but it also
allows for more flexibility in how userspace fills in these fields.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: 9374029c0dfa ("media: v4l2-dv-timings: add sanity checks for blanking values")
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/v4l2-core/v4l2-dv-timings.c