diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2021-07-21 12:16:26 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2021-07-21 17:20:43 +0200 |
commit | 0077a50082729c3f9ea2836f59e35d9b7dacfb12 (patch) | |
tree | d0c9c4c0f0b610c67cb0fa42c92375a32e888cdb /drivers/block | |
parent | cdb330f4b41ab55feb35487729e883c9e08b8a54 (diff) |
rbd: resurrect setting of disk->private_data in rbd_init_disk()
rbd_open() and rbd_release() expect that disk->private_data is set to
rbd_dev. Otherwise we hit a NULL pointer dereference when mapping the
image.
URL: https://tracker.ceph.com/issues/51759
Fixes: 195b1956b85b ("rbd: use blk_mq_alloc_disk and blk_cleanup_disk")
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/rbd.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 784797fa9a53..90b947c96402 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -4943,6 +4943,7 @@ static int rbd_init_disk(struct rbd_device *rbd_dev) disk->minors = RBD_MINORS_PER_MAJOR; } disk->fops = &rbd_bd_ops; + disk->private_data = rbd_dev; blk_queue_flag_set(QUEUE_FLAG_NONROT, q); /* QUEUE_FLAG_ADD_RANDOM is off by default for blk-mq */ |