Skip to content
  • Hannes Reinecke's avatar
    block: fix intermittent dm timeout based oops · 17d5c8ca
    Hannes Reinecke authored
    
    
    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: default avatarHannes Reinecke <hare@suse.de>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    17d5c8ca