Skip to content

Commit 8d9142f

Browse files
Adam Wallisgregkh
authored andcommitted
dmaengine: dmatest: warn user when dma test times out
commit a9df21e34b422f79d9a9fa5c3eff8c2a53491be6 upstream. Commit adfa543 ("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>
1 parent ec4f8a7 commit 8d9142f

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

drivers/dma/dmatest.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,7 @@ static int dmatest_func(void *data)
634634
* free it this time?" dancing. For now, just
635635
* leave it dangling.
636636
*/
637+
WARN(1, "dmatest: Kernel stack may be corrupted!!\n");
637638
dmaengine_unmap_put(um);
638639
result("test timed out", total_tests, src_off, dst_off,
639640
len, 0);

0 commit comments

Comments
 (0)