Re: [RFC] vhost-blk implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2010-04-05 at 15:23 -0400, Christoph Hellwig wrote:
> On Wed, Mar 24, 2010 at 01:22:37PM -0700, Badari Pulavarty wrote:
> > iovecs and buffers are user-space pointers (from the host kernel point  
> > of view). They are
> > guest address. So, I don't need to do any set_fs tricks.
> 
> From verifying the code and using the sparse annotations it appears
> that the actual buffers are userspace pointers, but the iovecs in
> the virtqueue are kernel level pointers, so you would need some
> annotations.

Yes. Thats correct. I will add appropriate annotations.

> 
> While we're at it here is a patch fixing the remaining sparse 
> warnings in vhost-blk:

Applied.

Thanks,
Badari

> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> 
> Index: linux-2.6/drivers/vhost/blk.c
> ===================================================================
> --- linux-2.6.orig/drivers/vhost/blk.c	2010-04-05 21:15:11.638004250 +0200
> +++ linux-2.6/drivers/vhost/blk.c	2010-04-05 21:16:13.238004599 +0200
> @@ -86,7 +86,7 @@ static void handle_blk(struct vhost_blk
>  		nvecs++;
>  		BUG_ON(vq->iov[nvecs].iov_len != 1);
> 
> -		if (copy_to_user(vq->iov[nvecs].iov_base, &status, sizeof status) < 0) {
> +		if (copy_to_user(vq->iov[nvecs].iov_base, &status, sizeof status)) {
>  			printk("copy to user failed\n");
>  			vhost_discard_vq_desc(vq);
>  			break;
> @@ -199,7 +199,7 @@ static struct miscdevice vhost_blk_misc
>  	&vhost_blk_fops,
>  };
> 
> -int vhost_blk_init(void)
> +static int vhost_blk_init(void)
>  {
>  	int r = vhost_init();
>  	if (r)
> @@ -216,7 +216,7 @@ err_init:
>  }
>  module_init(vhost_blk_init);
> 
> -void vhost_blk_exit(void)
> +static void vhost_blk_exit(void)
>  {
>  	misc_deregister(&vhost_blk_misc);
>  	vhost_cleanup();

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux