Message ID | 1509627210-16904-1-git-send-email-awallis@codeaurora.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Vinod Did you have any other feedback on the patch or the wording of the warning? Thanks
On Thu, Nov 02, 2017 at 08:53:30AM -0400, Adam Wallis wrote: > 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. > > This bug has also been captured at > https://bugzilla.kernel.org/show_bug.cgi?id=197605 I have made it Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197605 > Signed-off-by: Adam Wallis <awallis@codeaurora.org> and applied. Thanks
diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c index 34ff532..47edc7f 100644 --- 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);
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. This bug has also been captured at https://bugzilla.kernel.org/show_bug.cgi?id=197605 Signed-off-by: Adam Wallis <awallis@codeaurora.org> --- changes from v1: No longer using BUG at request of Vinod drivers/dma/dmatest.c | 1 + 1 file changed, 1 insertion(+)