[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-dev] [PATCH v3 1/7] Vhost-vsock device: Fixed endiannes issue.
On 14/03/16 11:18, Cornelia Huck wrote:
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);Hm... I'm not 100% sure that ->set_features() is the right place to init this.
Probably the legacy init can be done somewhere else, maybe earlier, but the other init (vhost_init_is_le) cannot be done earlier. if the guest is big endian and the device doesn't negotiate virtio version 1 then it is big endian. therefore we can only initialize that once we see the features.
I'll try to find a more appropriate place for the legacy init now.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]