diff --git a/block/genhd.c b/block/genhd.c
index 7a766cc613c76795a3123551ef8aa859edfacc52..b49858550fa6e2fabf50d54bf03630f38e2be304 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);