block: fix leaking minors of hidden disks for-6.1/block
authorChristoph Hellwig <hch@lst.de>
Mon, 10 Oct 2022 13:18:57 +0000 (15:18 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 10 Oct 2022 14:48:59 +0000 (08:48 -0600)
commita0a6314ae774f8a5e52a599946aa2ad0db867b83
tree9139aab8f603266b98f1c409fcfe9fd4654ee7e0
parentca5eebda3e1c1a58a1c5a337da393ed6734593e3
block: fix leaking minors of hidden disks

The major/minor of a hidden gendisk is not propagated to the block
device because it is never registered using bdev_add.  But the lack of
bd_dev also causes the dynamic major minor number not to be freed.
Assign bd_dev manually to ensure the dynamic major minor gets freed.

Based on a patch by Keith Busch.

Fixes: 8ddcd653257c ("block: introduce GENHD_FL_HIDDEN")
Reported-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Link: https://lore.kernel.org/r/20221010131857.748129-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/genhd.c