Skip to contentSkip to conversation

dmaengine: dmatest: warn user when dma test times out

PATCH In review Adam Wallis 2 participants 2 messages Nov 16, 2017 – Nov 21, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dmaengine: dmatest: warn user when dma test times out

From: Adam Wallis <[email protected]>

commit a9df21e34b422f79d9a9fa5c3eff8c2a53491be6 upstream.

This patch was backported and only needed a line adjustment.

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

---
 drivers/dma/dmatest.c | 1 +
 1 file changed, 1 insertion(+)
drivers/dma/dmatest.c +1 -0
index cf76fc6..fbb7551 100644
@@ -666,6 +666,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);
Signature · 3 lines
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
maintainer
#1 lore raw
Quoted 5 lines · Adam Wallis

From: Adam Wallis <[email protected]>

commit a9df21e34b422f79d9a9fa5c3eff8c2a53491be6 upstream.

This patch was backported and only needed a line adjustment.

Now queued up, thanks.

greg k-h