vsock: return errors other than -ENOMEM to socket
This removes behaviour, where error code returned from any transport was always switched to ENOMEM. For example when user tries to send too big message via SEQPACKET socket, transport layers return EMSGSIZE, but this error code was always replaced with ENOMEM and returned to user. Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com> Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
d4f12a8271
commit
c43170b7e1
|
@ -1861,8 +1861,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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue