diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0889-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0889-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0889-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch b/target/linux/bcm27xx/patches-5.4/950-0889-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch new file mode 100644 index 0000000000..1e8407fca8 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0889-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch @@ -0,0 +1,36 @@ +From 470e49cf5ee0b77e6812595ca396e34af8ae67b4 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson <dave.stevenson@raspberrypi.com> +Date: Tue, 7 Jul 2020 14:52:43 +0100 +Subject: [PATCH] media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE + in [g|s]_selection + +[g|s]_selection pass in a buffer type that needs to be validated +before passing on to the sensor subdev. + +Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> +--- + drivers/media/platform/bcm2835/bcm2835-unicam.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c ++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c +@@ -1880,6 +1880,9 @@ static int unicam_s_selection(struct fil + .r = sel->r, + }; + ++ if (sel->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) ++ return -EINVAL; ++ + return v4l2_subdev_call(dev->sensor, pad, set_selection, NULL, &sdsel); + } + +@@ -1894,6 +1897,9 @@ static int unicam_g_selection(struct fil + }; + int ret; + ++ if (sel->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) ++ return -EINVAL; ++ + ret = v4l2_subdev_call(dev->sensor, pad, get_selection, NULL, &sdsel); + if (!ret) + sel->r = sdsel.r; |