Re: [RFC PATCH v3 1/4] vsock: return errors other than -ENOMEM to socket

From: Stefano Garzarella
Date: Mon Dec 05 2022 - 08:17:53 EST


On Sun, Dec 04, 2022 at 07:19:20PM +0000, Arseniy Krasnov wrote:
From: Bobby Eshleman <bobby.eshleman@xxxxxxxxxxxxx>

This removes behaviour, where error code returned from any
transport was always switched to ENOMEM.

I would add here the example you described in the cover letter with EMSGSIZE, so the problem is better explained.


Signed-off-by: Bobby Eshleman <bobby.eshleman@xxxxxxxxxxxxx>
Signed-off-by: Arseniy Krasnov <AVKrasnov@xxxxxxxxxxxxxx>
---
net/vmw_vsock/af_vsock.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
index 884eca7f6743..61ddab664c33 100644
--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -1862,8 +1862,9 @@ static int vsock_connectible_sendmsg(struct socket *sock, struct msghdr *msg,
written = transport->stream_enqueue(vsk,
msg, len - total_written);
}
+
if (written < 0) {
- err = -ENOMEM;
+ err = written;
goto out_err;
}

--
2.25.1