]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Apr 2018 20:02:00 +0000 (22:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Apr 2018 20:02:00 +0000 (22:02 +0200)
added patches:
crypto-ahash-fix-early-termination-in-hash-walk.patch
crypto-x86-cast5-avx-fix-ecb-encryption-when-long-sg-follows-short-one.patch
media-usbtv-prevent-double-free-in-error-case.patch
mei-remove-dev_err-message-on-an-unsupported-ioctl.patch
parport_pc-add-support-for-wch-ch382l-pci-e-single-parallel-port-card.patch
usb-serial-cp210x-add-eldat-easywave-rx09-id.patch
usb-serial-ftdi_sio-add-rt-systems-vx-8-cable.patch
usb-serial-ftdi_sio-add-support-for-harman-firmwarehubemulator.patch

queue-4.9/crypto-ahash-fix-early-termination-in-hash-walk.patch [new file with mode: 0644]
queue-4.9/crypto-x86-cast5-avx-fix-ecb-encryption-when-long-sg-follows-short-one.patch [new file with mode: 0644]
queue-4.9/media-usbtv-prevent-double-free-in-error-case.patch [new file with mode: 0644]
queue-4.9/mei-remove-dev_err-message-on-an-unsupported-ioctl.patch [new file with mode: 0644]
queue-4.9/parport_pc-add-support-for-wch-ch382l-pci-e-single-parallel-port-card.patch [new file with mode: 0644]
queue-4.9/series
queue-4.9/usb-serial-cp210x-add-eldat-easywave-rx09-id.patch [new file with mode: 0644]
queue-4.9/usb-serial-ftdi_sio-add-rt-systems-vx-8-cable.patch [new file with mode: 0644]
queue-4.9/usb-serial-ftdi_sio-add-support-for-harman-firmwarehubemulator.patch [new file with mode: 0644]

diff --git a/queue-4.9/crypto-ahash-fix-early-termination-in-hash-walk.patch b/queue-4.9/crypto-ahash-fix-early-termination-in-hash-walk.patch
new file mode 100644 (file)
index 0000000..2506695
--- /dev/null
@@ -0,0 +1,44 @@
+From 900a081f6912a8985dc15380ec912752cb66025a Mon Sep 17 00:00:00 2001
+From: Herbert Xu <herbert@gondor.apana.org.au>
+Date: Mon, 26 Mar 2018 08:53:25 +0800
+Subject: crypto: ahash - Fix early termination in hash walk
+
+From: Herbert Xu <herbert@gondor.apana.org.au>
+
+commit 900a081f6912a8985dc15380ec912752cb66025a upstream.
+
+When we have an unaligned SG list entry where there is no leftover
+aligned data, the hash walk code will incorrectly return zero as if
+the entire SG list has been processed.
+
+This patch fixes it by moving onto the next page instead.
+
+Reported-by: Eli Cooper <elicooper@gmx.com>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ crypto/ahash.c |    7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/crypto/ahash.c
++++ b/crypto/ahash.c
+@@ -91,13 +91,14 @@ int crypto_hash_walk_done(struct crypto_
+       if (nbytes && walk->offset & alignmask && !err) {
+               walk->offset = ALIGN(walk->offset, alignmask + 1);
+-              walk->data += walk->offset;
+-
+               nbytes = min(nbytes,
+                            ((unsigned int)(PAGE_SIZE)) - walk->offset);
+               walk->entrylen -= nbytes;
+-              return nbytes;
++              if (nbytes) {
++                      walk->data += walk->offset;
++                      return nbytes;
++              }
+       }
+       if (walk->flags & CRYPTO_ALG_ASYNC)
diff --git a/queue-4.9/crypto-x86-cast5-avx-fix-ecb-encryption-when-long-sg-follows-short-one.patch b/queue-4.9/crypto-x86-cast5-avx-fix-ecb-encryption-when-long-sg-follows-short-one.patch
new file mode 100644 (file)
index 0000000..3f43320
--- /dev/null
@@ -0,0 +1,43 @@
+From 8f461b1e02ed546fbd0f11611138da67fd85a30f Mon Sep 17 00:00:00 2001
+From: Eric Biggers <ebiggers@google.com>
+Date: Mon, 19 Feb 2018 23:48:12 -0800
+Subject: crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one
+
+From: Eric Biggers <ebiggers@google.com>
+
+commit 8f461b1e02ed546fbd0f11611138da67fd85a30f upstream.
+
+With ecb-cast5-avx, if a 128+ byte scatterlist element followed a
+shorter one, then the algorithm accidentally encrypted/decrypted only 8
+bytes instead of the expected 128 bytes.  Fix it by setting the
+encryption/decryption 'fn' correctly.
+
+Fixes: c12ab20b162c ("crypto: cast5/avx - avoid using temporary stack buffers")
+Cc: <stable@vger.kernel.org> # v3.8+
+Signed-off-by: Eric Biggers <ebiggers@google.com>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/crypto/cast5_avx_glue.c |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/arch/x86/crypto/cast5_avx_glue.c
++++ b/arch/x86/crypto/cast5_avx_glue.c
+@@ -66,8 +66,6 @@ static int ecb_crypt(struct blkcipher_de
+       void (*fn)(struct cast5_ctx *ctx, u8 *dst, const u8 *src);
+       int err;
+-      fn = (enc) ? cast5_ecb_enc_16way : cast5_ecb_dec_16way;
+-
+       err = blkcipher_walk_virt(desc, walk);
+       desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
+@@ -79,6 +77,7 @@ static int ecb_crypt(struct blkcipher_de
+               /* Process multi-block batch */
+               if (nbytes >= bsize * CAST5_PARALLEL_BLOCKS) {
++                      fn = (enc) ? cast5_ecb_enc_16way : cast5_ecb_dec_16way;
+                       do {
+                               fn(ctx, wdst, wsrc);
diff --git a/queue-4.9/media-usbtv-prevent-double-free-in-error-case.patch b/queue-4.9/media-usbtv-prevent-double-free-in-error-case.patch
new file mode 100644 (file)
index 0000000..cf024f3
--- /dev/null
@@ -0,0 +1,64 @@
+From 50e7044535537b2a54c7ab798cd34c7f6d900bd2 Mon Sep 17 00:00:00 2001
+From: Oliver Neukum <oneukum@suse.com>
+Date: Mon, 8 Jan 2018 09:21:07 -0500
+Subject: media: usbtv: prevent double free in error case
+
+From: Oliver Neukum <oneukum@suse.com>
+
+commit 50e7044535537b2a54c7ab798cd34c7f6d900bd2 upstream.
+
+Quoting the original report:
+
+It looks like there is a double-free vulnerability in Linux usbtv driver
+on an error path of usbtv_probe function. When audio registration fails,
+usbtv_video_free function ends up freeing usbtv data structure, which
+gets freed the second time under usbtv_video_fail label.
+
+usbtv_audio_fail:
+
+        usbtv_video_free(usbtv); =>
+
+           v4l2_device_put(&usbtv->v4l2_dev);
+
+              => v4l2_device_put
+
+                  => kref_put
+
+                      => v4l2_device_release
+
+  => usbtv_release (CALLBACK)
+
+                             => kfree(usbtv) (1st time)
+
+usbtv_video_fail:
+
+        usb_set_intfdata(intf, NULL);
+
+        usb_put_dev(usbtv->udev);
+
+        kfree(usbtv); (2nd time)
+
+So, as we have refcounting, use it
+
+Reported-by: Yavuz, Tuba <tuba@ece.ufl.edu>
+Signed-off-by: Oliver Neukum <oneukum@suse.com>
+CC: stable@vger.kernel.org
+Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/usb/usbtv/usbtv-core.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/media/usb/usbtv/usbtv-core.c
++++ b/drivers/media/usb/usbtv/usbtv-core.c
+@@ -109,6 +109,8 @@ static int usbtv_probe(struct usb_interf
+       return 0;
+ usbtv_audio_fail:
++      /* we must not free at this point */
++      usb_get_dev(usbtv->udev);
+       usbtv_video_free(usbtv);
+ usbtv_video_fail:
diff --git a/queue-4.9/mei-remove-dev_err-message-on-an-unsupported-ioctl.patch b/queue-4.9/mei-remove-dev_err-message-on-an-unsupported-ioctl.patch
new file mode 100644 (file)
index 0000000..c39e3e5
--- /dev/null
@@ -0,0 +1,32 @@
+From bb0829a741792b56c908d7745bc0b2b540293bcc Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.king@canonical.com>
+Date: Tue, 27 Feb 2018 16:21:05 +0000
+Subject: mei: remove dev_err message on an unsupported ioctl
+
+From: Colin Ian King <colin.king@canonical.com>
+
+commit bb0829a741792b56c908d7745bc0b2b540293bcc upstream.
+
+Currently the driver spams the kernel log on unsupported ioctls which is
+unnecessary as the ioctl returns -ENOIOCTLCMD to indicate this anyway.
+I suspect this was originally for debugging purposes but it really is not
+required so remove it.
+
+Signed-off-by: Colin Ian King <colin.king@canonical.com>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/misc/mei/main.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/misc/mei/main.c
++++ b/drivers/misc/mei/main.c
+@@ -551,7 +551,6 @@ static long mei_ioctl(struct file *file,
+               break;
+       default:
+-              dev_err(dev->dev, ": unsupported ioctl %d.\n", cmd);
+               rets = -ENOIOCTLCMD;
+       }
diff --git a/queue-4.9/parport_pc-add-support-for-wch-ch382l-pci-e-single-parallel-port-card.patch b/queue-4.9/parport_pc-add-support-for-wch-ch382l-pci-e-single-parallel-port-card.patch
new file mode 100644 (file)
index 0000000..e15bc48
--- /dev/null
@@ -0,0 +1,48 @@
+From 823f7923833c6cc2b16e601546d607dcfb368004 Mon Sep 17 00:00:00 2001
+From: Alexander Gerasiov <gq@redlab-i.ru>
+Date: Sun, 4 Feb 2018 02:50:22 +0300
+Subject: parport_pc: Add support for WCH CH382L PCI-E single parallel port card.
+
+From: Alexander Gerasiov <gq@redlab-i.ru>
+
+commit 823f7923833c6cc2b16e601546d607dcfb368004 upstream.
+
+WCH CH382L is a PCI-E adapter with 1 parallel port. It is similair to CH382
+but serial ports are not soldered on board. Detected as
+Serial controller: Device 1c00:3050 (rev 10) (prog-if 05 [16850])
+
+Signed-off-by: Alexander Gerasiov <gq@redlab-i.ru>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/parport/parport_pc.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/parport/parport_pc.c
++++ b/drivers/parport/parport_pc.c
+@@ -2646,6 +2646,7 @@ enum parport_pc_pci_cards {
+       netmos_9901,
+       netmos_9865,
+       quatech_sppxp100,
++      wch_ch382l,
+ };
+@@ -2708,6 +2709,7 @@ static struct parport_pc_pci {
+       /* netmos_9901 */               { 1, { { 0, -1 }, } },
+       /* netmos_9865 */               { 1, { { 0, -1 }, } },
+       /* quatech_sppxp100 */          { 1, { { 0, 1 }, } },
++      /* wch_ch382l */                { 1, { { 2, -1 }, } },
+ };
+ static const struct pci_device_id parport_pc_pci_tbl[] = {
+@@ -2797,6 +2799,8 @@ static const struct pci_device_id parpor
+       /* Quatech SPPXP-100 Parallel port PCI ExpressCard */
+       { PCI_VENDOR_ID_QUATECH, PCI_DEVICE_ID_QUATECH_SPPXP_100,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, quatech_sppxp100 },
++      /* WCH CH382L PCI-E single parallel port card */
++      { 0x1c00, 0x3050, 0x1c00, 0x3050, 0, 0, wch_ch382l },
+       { 0, } /* terminate list */
+ };
+ MODULE_DEVICE_TABLE(pci, parport_pc_pci_tbl);
index fd6449688fea099b2f850ab771da9bcd214476a9..6bf1c834d9dbf56b27a1d06cdb84802ab507c5db 100644 (file)
@@ -74,3 +74,11 @@ arm64-kpti-add-enable-callback-to-remap-swapper-using-ng-mappings.patch
 arm64-force-kpti-to-be-disabled-on-cavium-thunderx.patch
 arm64-entry-reword-comment-about-post_ttbr_update_workaround.patch
 arm64-idmap-use-awx-flags-for-.idmap.text-.pushsection-directives.patch
+usb-serial-ftdi_sio-add-rt-systems-vx-8-cable.patch
+usb-serial-ftdi_sio-add-support-for-harman-firmwarehubemulator.patch
+usb-serial-cp210x-add-eldat-easywave-rx09-id.patch
+mei-remove-dev_err-message-on-an-unsupported-ioctl.patch
+media-usbtv-prevent-double-free-in-error-case.patch
+parport_pc-add-support-for-wch-ch382l-pci-e-single-parallel-port-card.patch
+crypto-ahash-fix-early-termination-in-hash-walk.patch
+crypto-x86-cast5-avx-fix-ecb-encryption-when-long-sg-follows-short-one.patch
diff --git a/queue-4.9/usb-serial-cp210x-add-eldat-easywave-rx09-id.patch b/queue-4.9/usb-serial-cp210x-add-eldat-easywave-rx09-id.patch
new file mode 100644 (file)
index 0000000..cb87fbd
--- /dev/null
@@ -0,0 +1,30 @@
+From 1f1e82f74c0947e40144688c9e36abe4b3999f49 Mon Sep 17 00:00:00 2001
+From: Johan Hovold <johan@kernel.org>
+Date: Tue, 6 Mar 2018 09:32:43 +0100
+Subject: USB: serial: cp210x: add ELDAT Easywave RX09 id
+
+From: Johan Hovold <johan@kernel.org>
+
+commit 1f1e82f74c0947e40144688c9e36abe4b3999f49 upstream.
+
+Add device id for ELDAT Easywave RX09 tranceiver.
+
+Reported-by: Jan Jansen <nattelip@hotmail.com>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/cp210x.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/cp210x.c
++++ b/drivers/usb/serial/cp210x.c
+@@ -152,6 +152,7 @@ static const struct usb_device_id id_tab
+       { USB_DEVICE(0x12B8, 0xEC62) }, /* Link G4+ ECU */
+       { USB_DEVICE(0x13AD, 0x9999) }, /* Baltech card reader */
+       { USB_DEVICE(0x1555, 0x0004) }, /* Owen AC4 USB-RS485 Converter */
++      { USB_DEVICE(0x155A, 0x1006) }, /* ELDAT Easywave RX09 */
+       { USB_DEVICE(0x166A, 0x0201) }, /* Clipsal 5500PACA C-Bus Pascal Automation Controller */
+       { USB_DEVICE(0x166A, 0x0301) }, /* Clipsal 5800PC C-Bus Wireless PC Interface */
+       { USB_DEVICE(0x166A, 0x0303) }, /* Clipsal 5500PCU C-Bus USB interface */
diff --git a/queue-4.9/usb-serial-ftdi_sio-add-rt-systems-vx-8-cable.patch b/queue-4.9/usb-serial-ftdi_sio-add-rt-systems-vx-8-cable.patch
new file mode 100644 (file)
index 0000000..fd36f74
--- /dev/null
@@ -0,0 +1,45 @@
+From 9608e5c0f079390473b484ef92334dfd3431bb89 Mon Sep 17 00:00:00 2001
+From: Major Hayden <major@mhtx.net>
+Date: Fri, 23 Feb 2018 14:29:54 -0600
+Subject: USB: serial: ftdi_sio: add RT Systems VX-8 cable
+
+From: Major Hayden <major@mhtx.net>
+
+commit 9608e5c0f079390473b484ef92334dfd3431bb89 upstream.
+
+This patch adds a device ID for the RT Systems cable used to
+program Yaesu VX-8R/VX-8DR handheld radios. It uses the main
+FTDI VID instead of the common RT Systems VID.
+
+Signed-off-by: Major Hayden <major@mhtx.net>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/ftdi_sio.c     |    1 +
+ drivers/usb/serial/ftdi_sio_ids.h |    3 +++
+ 2 files changed, 4 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -773,6 +773,7 @@ static const struct usb_device_id id_tab
+               .driver_info = (kernel_ulong_t)&ftdi_NDI_device_quirk },
+       { USB_DEVICE(TELLDUS_VID, TELLDUS_TELLSTICK_PID) },
+       { USB_DEVICE(NOVITUS_VID, NOVITUS_BONO_E_PID) },
++      { USB_DEVICE(FTDI_VID, RTSYSTEMS_USB_VX8_PID) },
+       { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_S03_PID) },
+       { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_59_PID) },
+       { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_57A_PID) },
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -922,6 +922,9 @@
+ /*
+  * RT Systems programming cables for various ham radios
+  */
++/* This device uses the VID of FTDI */
++#define RTSYSTEMS_USB_VX8_PID   0x9e50  /* USB-VX8 USB to 7 pin modular plug for Yaesu VX-8 radio */
++
+ #define RTSYSTEMS_VID         0x2100  /* Vendor ID */
+ #define RTSYSTEMS_USB_S03_PID 0x9001  /* RTS-03 USB to Serial Adapter */
+ #define RTSYSTEMS_USB_59_PID  0x9e50  /* USB-59 USB to 8 pin plug */
diff --git a/queue-4.9/usb-serial-ftdi_sio-add-support-for-harman-firmwarehubemulator.patch b/queue-4.9/usb-serial-ftdi_sio-add-support-for-harman-firmwarehubemulator.patch
new file mode 100644 (file)
index 0000000..b259f93
--- /dev/null
@@ -0,0 +1,47 @@
+From 6555ad13a01952c16485c82a52ad1f3e07e34b3a Mon Sep 17 00:00:00 2001
+From: Clemens Werther <clemens.werther@gmail.com>
+Date: Fri, 16 Mar 2018 10:20:46 +0100
+Subject: USB: serial: ftdi_sio: add support for Harman FirmwareHubEmulator
+
+From: Clemens Werther <clemens.werther@gmail.com>
+
+commit 6555ad13a01952c16485c82a52ad1f3e07e34b3a upstream.
+
+Add device id for Harman FirmwareHubEmulator to make the device
+auto-detectable by the driver.
+
+Signed-off-by: Clemens Werther <clemens.werther@gmail.com>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/ftdi_sio.c     |    1 +
+ drivers/usb/serial/ftdi_sio_ids.h |    6 ++++++
+ 2 files changed, 7 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -936,6 +936,7 @@ static const struct usb_device_id id_tab
+       { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LS_LOGBOOK_PID) },
+       { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_HS_LOGBOOK_PID) },
+       { USB_DEVICE(FTDI_VID, FTDI_CINTERION_MC55I_PID) },
++      { USB_DEVICE(FTDI_VID, FTDI_FHE_PID) },
+       { USB_DEVICE(FTDI_VID, FTDI_DOTEC_PID) },
+       { USB_DEVICE(QIHARDWARE_VID, MILKYMISTONE_JTAGSERIAL_PID),
+               .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -1444,6 +1444,12 @@
+ #define FTDI_CINTERION_MC55I_PID      0xA951
+ /*
++ * Product: FirmwareHubEmulator
++ * Manufacturer: Harman Becker Automotive Systems
++ */
++#define FTDI_FHE_PID          0xA9A0
++
++/*
+  * Product: Comet Caller ID decoder
+  * Manufacturer: Crucible Technologies
+  */