• H
    block: fix intermittent dm timeout based oops · 17d5c8ca
    Hannes Reinecke 提交于
    Very rarely under stress testing of dm, oopses are occuring as
    something tampers with an old stack frame.  This has been traced back
    to blk_abort_queue() leaving a timeout_list pointing to the stack.
    The reason is that sometimes blk_abort_request() won't delete the
    timer (if the request is marked as complete but before the timer has
    been removed, a small race window).  Fix this by splicing back from
    the ususally empty list to the q->timeout_list.
    Signed-off-by: NHannes Reinecke <hare@suse.de>
    Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
    17d5c8ca
blk-timeout.c 5.8 KB