genhd: Fix leaked module reference for NVME devices
Commit8ddcd65325
"block: introduce GENHD_FL_HIDDEN" added handling of hidden devices to get_gendisk() but forgot to drop module reference which is also acquired by get_disk(). Drop the reference as necessary. Arguably the function naming here is misleading as put_disk() is *not* the counterpart of get_disk() but let's fix that in the follow up commit since that will be more intrusive. Fixes:8ddcd65325
CC: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
d9c10e5b88
commit
d52987b524
|
@ -817,7 +817,10 @@ struct gendisk *get_gendisk(dev_t devt, int *partno)
|
|||
}
|
||||
|
||||
if (disk && unlikely(disk->flags & GENHD_FL_HIDDEN)) {
|
||||
struct module *owner = disk->fops->owner;
|
||||
|
||||
put_disk(disk);
|
||||
module_put(owner);
|
||||
disk = NULL;
|
||||
}
|
||||
return disk;
|
||||
|
|
Loading…
Reference in New Issue