]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.16.4/media-vivid-check-if-the-cec_adapter-is-valid.patch
fix up queue-5.15/mm-fix-race-between-__split_huge_pmd_locked-and-gup-.patch
[thirdparty/kernel/stable-queue.git] / releases / 4.16.4 / media-vivid-check-if-the-cec_adapter-is-valid.patch
1 From ed356f110403f6acc64dcbbbfdc38662ab9b06c2 Mon Sep 17 00:00:00 2001
2 From: Hans Verkuil <hverkuil@xs4all.nl>
3 Date: Mon, 12 Feb 2018 06:45:32 -0500
4 Subject: media: vivid: check if the cec_adapter is valid
5
6 From: Hans Verkuil <hverkuil@xs4all.nl>
7
8 commit ed356f110403f6acc64dcbbbfdc38662ab9b06c2 upstream.
9
10 If CEC is not enabled for the vivid driver, then the adap pointer is NULL
11 and 'adap->phys_addr' will fail.
12
13 Cc: <stable@vger.kernel.org> # for v4.12 and up
14 Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
15 Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
16 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
17
18 ---
19 drivers/media/platform/vivid/vivid-vid-common.c | 3 ++-
20 1 file changed, 2 insertions(+), 1 deletion(-)
21
22 --- a/drivers/media/platform/vivid/vivid-vid-common.c
23 +++ b/drivers/media/platform/vivid/vivid-vid-common.c
24 @@ -874,7 +874,8 @@ int vidioc_g_edid(struct file *file, voi
25 return -EINVAL;
26 if (edid->start_block + edid->blocks > dev->edid_blocks)
27 edid->blocks = dev->edid_blocks - edid->start_block;
28 - cec_set_edid_phys_addr(dev->edid, dev->edid_blocks * 128, adap->phys_addr);
29 + if (adap)
30 + cec_set_edid_phys_addr(dev->edid, dev->edid_blocks * 128, adap->phys_addr);
31 memcpy(edid->edid, dev->edid + edid->start_block * 128, edid->blocks * 128);
32 return 0;
33 }