block: avoid null pointer dereference on null disk

It is possible that the pointer disk can be null and hence
we can get a null pointer deference when accessing disk->flags.
Add a null pointer check to avoid the dereference.

Detected by CoverityScan, CID#1461133 ("Explicit null dereferenced")

Fixes: 8ddcd65325 ("block: introduce GENHD_FL_HIDDEN")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Colin Ian King 2017-11-06 17:53:53 +00:00 committed by Jens Axboe
parent 67f2519fe2
commit f0fba398fe

View File

@ -798,7 +798,7 @@ struct gendisk *get_gendisk(dev_t devt, int *partno)
spin_unlock_bh(&ext_devt_lock); spin_unlock_bh(&ext_devt_lock);
} }
if (unlikely(disk->flags & GENHD_FL_HIDDEN)) { if (disk && unlikely(disk->flags & GENHD_FL_HIDDEN)) {
put_disk(disk); put_disk(disk);
disk = NULL; disk = NULL;
} }