aboutsummaryrefslogtreecommitdiffstats
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
authorJens Axboe <[email protected]>2022-06-21 16:03:57 +0000
committerJens Axboe <[email protected]>2022-06-21 16:59:58 +0000
commit2645672ffe21f0a1c139bfbc05ad30fd4e4f2583 (patch)
tree71cff81d1e2aa899d00cf7117f3be44b9f6a944a /net/unix/af_unix.c
parentblock: remove queue from struct blk_independent_access_range (diff)
downloadkernel-2645672ffe21f0a1c139bfbc05ad30fd4e4f2583.tar.gz
kernel-2645672ffe21f0a1c139bfbc05ad30fd4e4f2583.zip
block: pop cached rq before potentially blocking rq_qos_throttle()
If rq_qos_throttle() ends up blocking, then we will have invalidated and flushed our current plug. Since blk_mq_get_cached_request() hasn't popped the cached request off the plug list just yet, we end holding a pointer to a request that is no longer valid. This insta-crashes with rq->mq_hctx being NULL in the validity checks just after. Pop the request off the cached list before doing rq_qos_throttle() to avoid using a potentially stale request. Fixes: 0a5aa8d161d1 ("block: fix blk_mq_attempt_bio_merge and rq_qos_throttle protection") Reported-by: Dylan Yudaken <[email protected]> Tested-by: Dylan Yudaken <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions