]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
dm-rq: don't dereference request payload after ending request
authorJens Axboe <axboe@fb.com>
Fri, 24 Feb 2017 20:19:32 +0000 (13:19 -0700)
committerJens Axboe <axboe@fb.com>
Fri, 24 Feb 2017 20:19:32 +0000 (13:19 -0700)
commit61febef40bfe8ab68259d8545257686e8a0d91d1
tree94d52c7e6d62b1f7381fc615c8964e0751e7ca08
parentd38d35155514ceef5efb79f6d5b4f0f1638da5b4
dm-rq: don't dereference request payload after ending request

Bart reported a case where dm would crash with use-after-free
poison. This is due to dm_softirq_done() accessing memory
associated with a request after calling end_request on it.
This is most visible on !blk-mq, since we free the memory
immediately for that case.

Reported-by: Bart Van Assche <bart.vanassche@sandisk.com>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Fixes: eb8db831be80 ("dm: always defer request allocation to the owner of the request_queue")
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/md/dm-rq.c