]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2019 15:10:14 +0000 (16:10 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2019 15:10:14 +0000 (16:10 +0100)
added patches:
media-venus-remove-invalid-compat_ioctl32-handler.patch
scsi-qla2xxx-fix-driver-unload-hang.patch

queue-4.14/media-venus-remove-invalid-compat_ioctl32-handler.patch [new file with mode: 0644]
queue-4.14/scsi-qla2xxx-fix-driver-unload-hang.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/media-venus-remove-invalid-compat_ioctl32-handler.patch b/queue-4.14/media-venus-remove-invalid-compat_ioctl32-handler.patch
new file mode 100644 (file)
index 0000000..b7e5cc2
--- /dev/null
@@ -0,0 +1,54 @@
+From 4adc0423de92cf850d1ef5c0e7cb28fd7a38219e Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Wed, 6 Nov 2019 10:06:54 +0100
+Subject: media: venus: remove invalid compat_ioctl32 handler
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit 4adc0423de92cf850d1ef5c0e7cb28fd7a38219e upstream.
+
+v4l2_compat_ioctl32() is the function that calls into
+v4l2_file_operations->compat_ioctl32(), so setting that back to the same
+function leads to a trivial endless loop, followed by a kernel
+stack overrun.
+
+Remove the incorrect assignment.
+
+Cc: stable@vger.kernel.org
+Fixes: 7472c1c69138 ("[media] media: venus: vdec: add video decoder files")
+Fixes: aaaa93eda64b ("[media] media: venus: venc: add video encoder files")
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Acked-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/platform/qcom/venus/vdec.c |    3 ---
+ drivers/media/platform/qcom/venus/venc.c |    3 ---
+ 2 files changed, 6 deletions(-)
+
+--- a/drivers/media/platform/qcom/venus/vdec.c
++++ b/drivers/media/platform/qcom/venus/vdec.c
+@@ -1060,9 +1060,6 @@ static const struct v4l2_file_operations
+       .unlocked_ioctl = video_ioctl2,
+       .poll = v4l2_m2m_fop_poll,
+       .mmap = v4l2_m2m_fop_mmap,
+-#ifdef CONFIG_COMPAT
+-      .compat_ioctl32 = v4l2_compat_ioctl32,
+-#endif
+ };
+ static int vdec_probe(struct platform_device *pdev)
+--- a/drivers/media/platform/qcom/venus/venc.c
++++ b/drivers/media/platform/qcom/venus/venc.c
+@@ -1166,9 +1166,6 @@ static const struct v4l2_file_operations
+       .unlocked_ioctl = video_ioctl2,
+       .poll = v4l2_m2m_fop_poll,
+       .mmap = v4l2_m2m_fop_mmap,
+-#ifdef CONFIG_COMPAT
+-      .compat_ioctl32 = v4l2_compat_ioctl32,
+-#endif
+ };
+ static int venc_probe(struct platform_device *pdev)
diff --git a/queue-4.14/scsi-qla2xxx-fix-driver-unload-hang.patch b/queue-4.14/scsi-qla2xxx-fix-driver-unload-hang.patch
new file mode 100644 (file)
index 0000000..ce19427
--- /dev/null
@@ -0,0 +1,35 @@
+From dd322b7f3efc8cda085bb60eadc4aee6324eadd8 Mon Sep 17 00:00:00 2001
+From: Quinn Tran <qutran@marvell.com>
+Date: Tue, 5 Nov 2019 07:06:53 -0800
+Subject: scsi: qla2xxx: Fix driver unload hang
+
+From: Quinn Tran <qutran@marvell.com>
+
+commit dd322b7f3efc8cda085bb60eadc4aee6324eadd8 upstream.
+
+This patch fixes driver unload hang by removing msleep()
+
+Fixes: d74595278f4ab ("scsi: qla2xxx: Add multiple queue pair functionality.")
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20191105150657.8092-5-hmadhani@marvell.com
+Reviewed-by: Ewan D. Milne <emilne@redhat.com>
+Signed-off-by: Quinn Tran <qutran@marvell.com>
+Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/scsi/qla2xxx/qla_init.c |    2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/drivers/scsi/qla2xxx/qla_init.c
++++ b/drivers/scsi/qla2xxx/qla_init.c
+@@ -8092,8 +8092,6 @@ int qla2xxx_delete_qpair(struct scsi_qla
+       struct qla_hw_data *ha = qpair->hw;
+       qpair->delete_in_progress = 1;
+-      while (atomic_read(&qpair->ref_count))
+-              msleep(500);
+       ret = qla25xx_delete_req_que(vha, qpair->req);
+       if (ret != QLA_SUCCESS)
index 7f4c6730ad07db9fa3c604369ef8924576894098..bae8baca264d5458799ade0ea1f94d16dc77d5d8 100644 (file)
@@ -156,6 +156,8 @@ appletalk-fix-potential-null-pointer-dereference-in-unregister_snap_client.patch
 appletalk-set-error-code-if-register_snap_client-failed.patch
 usb-gadget-configfs-fix-missing-spin_lock_init.patch
 usb-gadget-pch_udc-fix-use-after-free.patch
+scsi-qla2xxx-fix-driver-unload-hang.patch
+media-venus-remove-invalid-compat_ioctl32-handler.patch
 alsa-hda-fix-pending-unsol-events-at-shutdown.patch
 md-raid0-fix-an-error-message-in-raid0_make_request.patch
 watchdog-aspeed-fix-clock-behaviour-for-ast2600.patch