Re: [virtio-dev] [PATCH v3 1/7] Vhost-vsock device: Fixed endiannes issue.

From
Greg Kurz <>
Date
2016-03-14T17:36:39+00:00
ID
Thread
Re: [virtio-dev] [PATCH v3 1/7] Vhost-vsock device: Fixed endiannes issue.
On Fri, 11 Mar 2016 16:45:48 +0100
Claudio Imbrenda <> wrote:

> From: Claudio Imbrenda <>
> 
> Added missing endianness initializations in the vhost-vsock device.
> 
> Signed-off-by: Claudio Imbrenda <>
> ---
>  drivers/vhost/vsock.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c
> index 2c5963c..9378f23 100644
> --- a/drivers/vhost/vsock.c
> +++ b/drivers/vhost/vsock.c
> @@ -481,6 +481,8 @@ static int vhost_vsock_set_features(struct vhost_vsock *vsock, u64 features)
>  		vq = &vsock->vqs[i];
>  		mutex_lock(&vq->mutex);
>  		vq->acked_features = features;
> +		vq->is_le = virtio_legacy_is_little_endian();
> +		vhost_init_is_le(vq);

How can you call vhost_init_is_le() from here ?

drivers/vhost/vhost.c:static void vhost_init_is_le(struct vhost_virtqueue *vq)

And even if you make vhost_init_is_le() extern, setting vq->is_le twice looks wrong.

>  		mutex_unlock(&vq->mutex);
>  	}
>  	mutex_unlock(&vsock->dev.mutex);