null_blk: fix use-after-free error
authorMike Krinkin <krinkin.m.u@gmail.com>
Tue, 15 Dec 2015 09:56:40 +0000 (12:56 +0300)
committerJens Axboe <axboe@fb.com>
Tue, 22 Dec 2015 17:42:48 +0000 (10:42 -0700)
commite8271201462710dbbaa0448b768428606724ca90
tree260d20e53c36bf3ec9eec08b65af06012bd237c0
parent23688bf4f830a89866fd0ed3501e342a7360fe4f
null_blk: fix use-after-free error

blk_end_request_all may free request, so we need to save
request_queue pointer before blk_end_request_all call.

The problem was introduced in commit cf8ecc5a8455266f8d51
("null_blk: guarantee device restart in all irq modes")
and causes general protection fault with slab poisoning
enabled.

Fixes: cf8ecc5a8455266f8d51 ("null_blk: guarantee device
       restart in all irq modes")

Signed-off-by: Mike Krinkin <krinkin.m.u@gmail.com>
Reviewed-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/null_blk.c