block: add an explicit ->disk backpointer to the request_queue
authorChristoph Hellwig <hch@lst.de>
Mon, 16 Aug 2021 13:46:24 +0000 (15:46 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 23 Aug 2021 18:54:31 +0000 (12:54 -0600)
commitd152c682f03ceb65c0d9663d4ba6ee2d46aa784d
tree31cc1a85256072b4d65d881472c2f6ace7c10178
parent61a35cfc26334fe1c8e970ca8fafeae2daae257d
block: add an explicit ->disk backpointer to the request_queue

Replace the magic lookup through the kobject tree with an explicit
backpointer, given that the device model links are set up and torn
down at times when I/O is still possible, leading to potential
NULL or invalid pointer dereferences.

Fixes: edb0872f44ec ("block: move the bdi from the request_queue to the gendisk")
Reported-by: syzbot <syzbot+aa0801b6b32dca9dda82@syzkaller.appspotmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sven Schnelle <svens@linux.ibm.com>
Link: https://lore.kernel.org/r/20210816134624.GA24234@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-iosched.c
block/blk-cgroup.c
block/blk-mq.c
block/blk-settings.c
block/blk-sysfs.c
block/blk-wbt.c
block/genhd.c
include/linux/blkdev.h
include/trace/events/kyber.h