On Sun, Dec 04, 2022 at 07:19:20PM +0000, Arseniy Krasnov wrote:
From: Bobby Eshleman <redacted>
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.
quoted hunk ↗ jump to hunk
Signed-off-by: Bobby Eshleman <redacted>
Signed-off-by: Arseniy Krasnov <redacted>
---
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