vsock/vmci: convert VMCI error code to -ENOMEM on receive
authorArseniy Krasnov <avkrasnov@sberdevices.ru>
Mon, 3 Apr 2023 11:24:17 +0000 (14:24 +0300)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 4 Apr 2023 10:46:24 +0000 (12:46 +0200)
This adds conversion of VMCI specific error code to general -ENOMEM. It
is preparation for the next patch, which changes af_vsock.c behaviour
on receive to pass value returned from transport to the user.

Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru>
Reviewed-by: Vishnu Dasa <vdasa@vmware.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/vmw_vsock/vmci_transport.c

index 36eb16a..a5375c9 100644 (file)
@@ -1831,10 +1831,17 @@ static ssize_t vmci_transport_stream_dequeue(
        size_t len,
        int flags)
 {
+       ssize_t err;
+
        if (flags & MSG_PEEK)
-               return vmci_qpair_peekv(vmci_trans(vsk)->qpair, msg, len, 0);
+               err = vmci_qpair_peekv(vmci_trans(vsk)->qpair, msg, len, 0);
        else
-               return vmci_qpair_dequev(vmci_trans(vsk)->qpair, msg, len, 0);
+               err = vmci_qpair_dequev(vmci_trans(vsk)->qpair, msg, len, 0);
+
+       if (err < 0)
+               err = -ENOMEM;
+
+       return err;
 }
 
 static ssize_t vmci_transport_stream_enqueue(