]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Sep 2021 08:58:06 +0000 (10:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Sep 2021 08:58:06 +0000 (10:58 +0200)
added patches:
media-stkwebcam-fix-memory-leak-in-stk_camera_probe.patch

queue-4.9/media-stkwebcam-fix-memory-leak-in-stk_camera_probe.patch [new file with mode: 0644]
queue-4.9/series

diff --git a/queue-4.9/media-stkwebcam-fix-memory-leak-in-stk_camera_probe.patch b/queue-4.9/media-stkwebcam-fix-memory-leak-in-stk_camera_probe.patch
new file mode 100644 (file)
index 0000000..8018f3e
--- /dev/null
@@ -0,0 +1,49 @@
+From 514e97674400462cc09c459a1ddfb9bf39017223 Mon Sep 17 00:00:00 2001
+From: Pavel Skripkin <paskripkin@gmail.com>
+Date: Wed, 7 Jul 2021 19:54:30 +0200
+Subject: media: stkwebcam: fix memory leak in stk_camera_probe
+
+From: Pavel Skripkin <paskripkin@gmail.com>
+
+commit 514e97674400462cc09c459a1ddfb9bf39017223 upstream.
+
+My local syzbot instance hit memory leak in usb_set_configuration().
+The problem was in unputted usb interface. In case of errors after
+usb_get_intf() the reference should be putted to correclty free memory
+allocated for this interface.
+
+Fixes: ec16dae5453e ("V4L/DVB (7019): V4L: add support for Syntek DC1125 webcams")
+Cc: stable@vger.kernel.org
+Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/media/usb/stkwebcam/stk-webcam.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/media/usb/stkwebcam/stk-webcam.c
++++ b/drivers/media/usb/stkwebcam/stk-webcam.c
+@@ -1362,7 +1362,7 @@ static int stk_camera_probe(struct usb_i
+       if (!dev->isoc_ep) {
+               STK_ERROR("Could not find isoc-in endpoint");
+               err = -ENODEV;
+-              goto error;
++              goto error_put;
+       }
+       dev->vsettings.palette = V4L2_PIX_FMT_RGB565;
+       dev->vsettings.mode = MODE_VGA;
+@@ -1375,10 +1375,12 @@ static int stk_camera_probe(struct usb_i
+       err = stk_register_video_device(dev);
+       if (err)
+-              goto error;
++              goto error_put;
+       return 0;
++error_put:
++      usb_put_intf(interface);
+ error:
+       v4l2_ctrl_handler_free(hdl);
+       v4l2_device_unregister(&dev->v4l2_dev);
index 92eb0fe331a701b5c44e92da5be0f82f597fc3a3..280ef7a40e23073d6f82c4e776ef4fdc39e677fc 100644 (file)
@@ -12,3 +12,4 @@ ath9k-clear-key-cache-explicitly-on-disabling-hardware.patch
 ath-export-ath_hw_keysetmac.patch
 ath-modify-ath_key_delete-to-not-need-full-key-entry.patch
 ath9k-postpone-key-cache-entry-deletion-for-txq-frames-reference-it.patch
+media-stkwebcam-fix-memory-leak-in-stk_camera_probe.patch