All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] dmaengine: dmatest: warn user when dma test times out
@ 2017-11-02 12:53 Adam Wallis
  2017-11-07 18:23 ` Adam Wallis
  2017-11-08  5:53 ` Vinod Koul
  0 siblings, 2 replies; 3+ messages in thread
From: Adam Wallis @ 2017-11-02 12:53 UTC (permalink / raw)
  To: linux-arm-kernel

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(+)

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);
-- 
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.

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2] dmaengine: dmatest: warn user when dma test times out
  2017-11-02 12:53 [PATCH v2] dmaengine: dmatest: warn user when dma test times out Adam Wallis
@ 2017-11-07 18:23 ` Adam Wallis
  2017-11-08  5:53 ` Vinod Koul
  1 sibling, 0 replies; 3+ messages in thread
From: Adam Wallis @ 2017-11-07 18:23 UTC (permalink / raw)
  To: linux-arm-kernel

Vinod

Did you have any other feedback on the patch or the wording of the warning?

Thanks
-- 
Adam Wallis
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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2] dmaengine: dmatest: warn user when dma test times out
  2017-11-02 12:53 [PATCH v2] dmaengine: dmatest: warn user when dma test times out Adam Wallis
  2017-11-07 18:23 ` Adam Wallis
@ 2017-11-08  5:53 ` Vinod Koul
  1 sibling, 0 replies; 3+ messages in thread
From: Vinod Koul @ 2017-11-08  5:53 UTC (permalink / raw)
  To: linux-arm-kernel

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

-- 
~Vinod

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-11-08  5:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-02 12:53 [PATCH v2] dmaengine: dmatest: warn user when dma test times out Adam Wallis
2017-11-07 18:23 ` Adam Wallis
2017-11-08  5:53 ` Vinod Koul

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.