Blob Blame History Raw
From: Christoph Hellwig <hch@lst.de>
Date: Thu, 14 Oct 2021 15:02:31 +0200
Subject: [PATCH] block: warn when putting the final reference on a registered
Git-commit: a20417611b98e12a724e5c828c472ea16990b71f
Patch-mainline: v5.15-rc6
References: jsc#PED-1183
 disk

Warn when the last reference on a live disk is put without calling
del_gendisk first.  There are some BDI related bug reports that look
like a case of this, so make sure we have the proper instrumentation
to catch it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20211014130231.1468538-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Acked-by: Hannes Reinecke <hare@suse.com>
---
 block/genhd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/block/genhd.c b/block/genhd.c
index 7a766cc613c7..b49858550fa6 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -1078,6 +1078,7 @@ static void disk_release(struct device *dev)
 	struct gendisk *disk = dev_to_disk(dev);
 
 	might_sleep();
+	WARN_ON_ONCE(disk_live(disk));
 
 	disk_release_events(disk);
 	kfree(disk->random);
-- 
2.35.3