]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Oct 2024 11:28:16 +0000 (13:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Oct 2024 11:28:16 +0000 (13:28 +0200)
added patches:
usb-yurex-fix-inconsistent-locking-bug-in-yurex_read.patch

queue-4.19/series
queue-4.19/usb-yurex-fix-inconsistent-locking-bug-in-yurex_read.patch [new file with mode: 0644]

index a09c58206589f4eac5f22f59175df777c00113d5..511bd1edbc47aee91d4cd05bdc624d56659d1557 100644 (file)
@@ -133,3 +133,4 @@ pps-remove-usage-of-the-deprecated-ida_simple_xx-api.patch
 pps-add-an-error-check-in-parport_attach.patch
 i2c-aspeed-update-the-stop-sw-state-when-the-bus-recovery-occurs.patch
 i2c-isch-add-missed-else.patch
+usb-yurex-fix-inconsistent-locking-bug-in-yurex_read.patch
diff --git a/queue-4.19/usb-yurex-fix-inconsistent-locking-bug-in-yurex_read.patch b/queue-4.19/usb-yurex-fix-inconsistent-locking-bug-in-yurex_read.patch
new file mode 100644 (file)
index 0000000..9850d77
--- /dev/null
@@ -0,0 +1,36 @@
+From e7d3b9f28654dbfce7e09f8028210489adaf6a33 Mon Sep 17 00:00:00 2001
+From: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+Date: Mon, 18 Dec 2023 22:36:35 -0800
+Subject: usb: yurex: Fix inconsistent locking bug in yurex_read()
+
+From: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+
+commit e7d3b9f28654dbfce7e09f8028210489adaf6a33 upstream.
+
+Unlock before returning on the error path.
+
+Fixes: 86b20af11e84 ("usb: yurex: Replace snprintf() with the safer scnprintf() variant")
+Reported-by: Dan Carpenter <error27@gmail.com>
+Reported-by: kernel test robot <lkp@intel.com>
+Closes: https://lore.kernel.org/r/202312170252.3udgrIcP-lkp@intel.com/
+Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+Link: https://lore.kernel.org/r/20231219063639.450994-1-harshit.m.mogalapalli@oracle.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/misc/yurex.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/misc/yurex.c
++++ b/drivers/usb/misc/yurex.c
+@@ -414,8 +414,10 @@ static ssize_t yurex_read(struct file *f
+               return -ENODEV;
+       }
+-      if (WARN_ON_ONCE(dev->bbu > S64_MAX || dev->bbu < S64_MIN))
++      if (WARN_ON_ONCE(dev->bbu > S64_MAX || dev->bbu < S64_MIN)) {
++              mutex_unlock(&dev->io_mutex);
+               return -EIO;
++      }
+       spin_lock_irq(&dev->lock);
+       scnprintf(in_buffer, MAX_S64_STRLEN, "%lld\n", dev->bbu);