summaryrefslogtreecommitdiffstats
path: root/block/blk-pm.c
diff options
context:
space:
mode:
authorPaolo Valente2019-08-07 16:17:53 +0200
committerJens Axboe2019-08-08 15:30:50 +0200
commit08d383a74948b43eb6e96c86153e63cbf276f1fa (patch)
tree7b893061ad7cee76de8e1b868b0c23ed45200ffc /block/blk-pm.c
parentblock: aoe: Fix kernel crash due to atomic sleep when exiting (diff)
downloadkernel-qcow2-linux-08d383a74948b43eb6e96c86153e63cbf276f1fa.tar.gz
kernel-qcow2-linux-08d383a74948b43eb6e96c86153e63cbf276f1fa.tar.xz
kernel-qcow2-linux-08d383a74948b43eb6e96c86153e63cbf276f1fa.zip
block, bfq: reset last_completed_rq_bfqq if the pointed queue is freed
Since commit 13a857a4c4e8 ("block, bfq: detect wakers and unconditionally inject their I/O"), BFQ stores, in a per-device pointer last_completed_rq_bfqq, the last bfq_queue that had an I/O request completed. If some bfq_queue receives new I/O right after the last request of last_completed_rq_bfqq has been completed, then last_completed_rq_bfqq may be a waker bfq_queue. But if the bfq_queue last_completed_rq_bfqq points to is freed, then last_completed_rq_bfqq becomes a dangling reference. This commit resets last_completed_rq_bfqq if the pointed bfq_queue is freed. Fixes: 13a857a4c4e8 ("block, bfq: detect wakers and unconditionally inject their I/O") Reported-by: Douglas Anderson <dianders@chromium.org> Tested-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-pm.c')
0 files changed, 0 insertions, 0 deletions