From: Laszlo Ersek Date: Thu, 26 May 2011 07:09:04 +0000 (+0100) Subject: blkback: don't call vbd_size() if bd_disk is NULL X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=c8efeb775811e952e17b837d4bc655377221ea01;p=legacy%2Flinux-2.6.18-xen.git blkback: don't call vbd_size() if bd_disk is NULL ...because vbd_size() dereferences bd_disk if bd_part is NULL. Signed-off-by: Laszlo Ersek Acked-by: Jan Beulich --- diff --git a/drivers/xen/blkback/vbd.c b/drivers/xen/blkback/vbd.c index 5677e86c..8d5d9a14 100644 --- a/drivers/xen/blkback/vbd.c +++ b/drivers/xen/blkback/vbd.c @@ -73,7 +73,6 @@ int vbd_create(blkif_t *blkif, blkif_vdev_t handle, unsigned major, } vbd->bdev = bdev; - vbd->size = vbd_size(vbd); if (vbd->bdev->bd_disk == NULL) { DPRINTK("vbd_creat: device %08x doesn't exist.\n", @@ -82,6 +81,8 @@ int vbd_create(blkif_t *blkif, blkif_vdev_t handle, unsigned major, return -ENOENT; } + vbd->size = vbd_size(vbd); + if (vbd->bdev->bd_disk->flags & GENHD_FL_CD || cdrom) vbd->type |= VDISK_CDROM; if (vbd->bdev->bd_disk->flags & GENHD_FL_REMOVABLE)