This adds handling of SEQPACKET bit: if guest sets features with
this bit cleared, then SOCK_SEQPACKET support will be disabled.

Signed-off-by: Arseny Krasnov <arseny.kras...@kaspersky.com>
---
 drivers/vhost/vsock.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c
index 5e78fb719602..3b0a50e6de12 100644
--- a/drivers/vhost/vsock.c
+++ b/drivers/vhost/vsock.c
@@ -31,7 +31,8 @@
 
 enum {
        VHOST_VSOCK_FEATURES = VHOST_FEATURES |
-                              (1ULL << VIRTIO_F_ACCESS_PLATFORM)
+                              (1ULL << VIRTIO_F_ACCESS_PLATFORM) |
+                              (1ULL << VIRTIO_VSOCK_F_SEQPACKET)
 };
 
 enum {
@@ -785,6 +786,9 @@ static int vhost_vsock_set_features(struct vhost_vsock 
*vsock, u64 features)
                        goto err;
        }
 
+       if (features & (1ULL << VIRTIO_VSOCK_F_SEQPACKET))
+               vhost_transport.seqpacket_allow = true;
+
        for (i = 0; i < ARRAY_SIZE(vsock->vqs); i++) {
                vq = &vsock->vqs[i];
                mutex_lock(&vq->mutex);
-- 
2.25.1

Reply via email to