]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Nov 2017 16:50:56 +0000 (17:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Nov 2017 16:50:56 +0000 (17:50 +0100)
added patches:
dmaengine-dmatest-warn-user-when-dma-test-times-out.patch

queue-4.14/dmaengine-dmatest-warn-user-when-dma-test-times-out.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/dmaengine-dmatest-warn-user-when-dma-test-times-out.patch b/queue-4.14/dmaengine-dmatest-warn-user-when-dma-test-times-out.patch
new file mode 100644 (file)
index 0000000..fcb42c5
--- /dev/null
@@ -0,0 +1,37 @@
+From a9df21e34b422f79d9a9fa5c3eff8c2a53491be6 Mon Sep 17 00:00:00 2001
+From: Adam Wallis <awallis@codeaurora.org>
+Date: Thu, 2 Nov 2017 08:53:30 -0400
+Subject: dmaengine: dmatest: warn user when dma test times out
+
+From: Adam Wallis <awallis@codeaurora.org>
+
+commit a9df21e34b422f79d9a9fa5c3eff8c2a53491be6 upstream.
+
+Commit adfa543e7314 ("dmatest: don't use set_freezable_with_signal()")
+introduced a bug (that is in fact documented by the patch commit text)
+that leaves behind a dangling pointer. Since the done_wait structure is
+allocated on the stack, future invocations to the DMATEST can produce
+undesirable results (e.g., corrupted spinlocks). Ideally, this would be
+cleaned up in the thread handler, but at the very least, the kernel
+is left in a very precarious scenario that can lead to some long debug
+sessions when the crash comes later.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197605
+Signed-off-by: Adam Wallis <awallis@codeaurora.org>
+Signed-off-by: Vinod Koul <vinod.koul@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/dma/dmatest.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/dma/dmatest.c
++++ b/drivers/dma/dmatest.c
+@@ -702,6 +702,7 @@ static int dmatest_func(void *data)
+                        * free it this time?" dancing.  For now, just
+                        * leave it dangling.
+                        */
++                      WARN(1, "dmatest: Kernel stack may be corrupted!!\n");
+                       dmaengine_unmap_put(um);
+                       result("test timed out", total_tests, src_off, dst_off,
+                              len, 0);
index 7b7e7c25907cdac1ac38d2ea7831c1cec0f56b54..dcf1c3d093309fa25aa68bcc32c0244b4ef1ef5a 100644 (file)
@@ -1 +1,2 @@
 edac-sb_edac-don-t-create-a-second-memory-controller-if-ha1-is-not-present.patch
+dmaengine-dmatest-warn-user-when-dma-test-times-out.patch