From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH linux-2.6.18-xen] blkback: don't call vbd_size() if bd_disk is NULL Date: Wed, 25 May 2011 09:01:50 -0400 Message-ID: <20110525130150.GD3467@dumpdata.com> References: <4DDCD8D9.2060404@redhat.com> <4DDCF7B40200007800043721@vpn.id2.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <4DDCF7B40200007800043721@vpn.id2.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jan Beulich Cc: "xen-devel@lists.xensource.com" , Laszlo Ersek List-Id: xen-devel@lists.xenproject.org On Wed, May 25, 2011 at 11:36:04AM +0100, Jan Beulich wrote: > >>> On 25.05.11 at 12:24, Laszlo Ersek wrote: > > ...because vbd_size() dereferences bd_disk if bd_part is NULL. Which would imply that doing this on disk without any partitions would crash. Weird, I don't seem to get that problem on a disk without any partitions (just a raw disk). Or does the kernel actually set the bd_part to something even if it does not have any partitions? > > > > Signed-off-by: Laszlo Ersek > > Acked-by: Jan Beulich > > > --- > > drivers/xen/blkback/vbd.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff -r 415a9b435fef drivers/xen/blkback/vbd.c > > --- a/drivers/xen/blkback/vbd.c Mon May 23 18:36:33 2011 +0100 > > +++ b/drivers/xen/blkback/vbd.c Wed May 25 12:15:26 2011 +0200 > > @@ -73,7 +73,6 @@ int vbd_create(blkif_t *blkif, blkif_vde > > } > > > > 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_vde > > 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) > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@lists.xensource.com > > http://lists.xensource.com/xen-devel > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel