From: Felipe Pena Date: Sat, 9 Nov 2013 15:36:09 +0000 (-0200) Subject: block: xen-blkfront: Fix possible NULL ptr dereference X-Git-Tag: upstream/snapshot3+hdmi~3827^2~2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2f089cb89d2f47702c31bd584c12badc88bbe17c;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git block: xen-blkfront: Fix possible NULL ptr dereference In the blkif_release function the bdget_disk() call might returns a NULL ptr which might be dereferenced on bdev->bd_openers checking Signed-off-by: Felipe Pena Signed-off-by: Konrad Rzeszutek Wilk [v2: Added WARN per Roger's suggestion] --- diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 5f926de..c4a4c90 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -2011,6 +2011,10 @@ static void blkif_release(struct gendisk *disk, fmode_t mode) bdev = bdget_disk(disk, 0); + if (!bdev) { + WARN(1, "Block device %s yanked out from us!\n", disk->disk_name); + goto out_mutex; + } if (bdev->bd_openers) goto out; @@ -2041,6 +2045,7 @@ static void blkif_release(struct gendisk *disk, fmode_t mode) out: bdput(bdev); +out_mutex: mutex_unlock(&blkfront_mutex); }