lkml.org 
[lkml]   [2018]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 082/254] dmaengine: dmatest: warn user when dma test times out
    3.16.55-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    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: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/dma/dmatest.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/dma/dmatest.c
    +++ b/drivers/dma/dmatest.c
    @@ -633,6 +633,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);
    \
     
     \ /
      Last update: 2018-02-28 17:23    [W:4.093 / U:1.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site