]> 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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Dec 2022 10:30:43 +0000 (11:30 +0100)
commit95e63ae341ff5b66123e589538c4f25c4bf57397
tree9f151b1f0c18c94c817b1f406bc7270d1ab389b2
parent9c3a403b0156e8e8e5fdfc74eb809a0a4a12bd97
media: v4l2-dv-timings.c: fix too strict blanking sanity checks

commit 5eef2141776da02772c44ec406d6871a790761ee upstream.

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: df0d3d3669a2 ("media: v4l2-dv-timings: add sanity checks for blanking values")
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/v4l2-core/v4l2-dv-timings.c