]> xenbits.xensource.com Git - people/royger/linux-2.6.18-xen.git/commitdiff
blkback: don't call vbd_size() if bd_disk is NULL
authorLaszlo Ersek <lersek@redhat.com>
Thu, 26 May 2011 07:09:04 +0000 (08:09 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Thu, 26 May 2011 07:09:04 +0000 (08:09 +0100)
...because vbd_size() dereferences bd_disk if bd_part is NULL.

Signed-off-by: Laszlo Ersek<lersek@redhat.com>
Acked-by: Jan Beulich <jbeulich@novell.com>
drivers/xen/blkback/vbd.c

index 5677e86c5bfaf219af7940bc584c33ba61ce49a7..8d5d9a14142b8567b7157206327082aca9a74e9b 100644 (file)
@@ -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)