Message ID | a0915a9d-ba41-5a90-0e16-40c2315f0445@sberdevices.ru (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | vsock: return errors other than -ENOMEM to socket | expand |
> On Mar 30, 2023, at 1:12 PM, Arseniy Krasnov <AVKrasnov@sberdevices.ru> wrote: > > !! External Email > > This adds conversion of VMCI specific error code to general -ENOMEM. It > is needed, because af_vsock.c passes error value returned from transport > to the user, which does not expect to get VMCI_ERROR_* values. > > Fixes: c43170b7e157 ("vsock: return errors other than -ENOMEM to socket") > Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> Thanks, looks good to me. Reviewed-by: Vishnu Dasa <vdasa@vmware.com> > --- > net/vmw_vsock/vmci_transport.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c > index 36eb16a40745..95cc4d79ba29 100644 > --- a/net/vmw_vsock/vmci_transport.c > +++ b/net/vmw_vsock/vmci_transport.c > @@ -1842,7 +1842,13 @@ static ssize_t vmci_transport_stream_enqueue( > struct msghdr *msg, > size_t len) > { > - return vmci_qpair_enquev(vmci_trans(vsk)->qpair, msg, len, 0); > + ssize_t err; > + > + err = vmci_qpair_enquev(vmci_trans(vsk)->qpair, msg, len, 0); > + if (err < 0) > + err = -ENOMEM; > + > + return err; > } > > static s64 vmci_transport_stream_has_data(struct vsock_sock *vsk) > -- > 2.25.1 > > !! External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.
On Thu, Mar 30, 2023 at 11:12:44PM +0300, Arseniy Krasnov wrote: >This adds conversion of VMCI specific error code to general -ENOMEM. It >is needed, because af_vsock.c passes error value returned from transport >to the user, which does not expect to get VMCI_ERROR_* values. > >Fixes: c43170b7e157 ("vsock: return errors other than -ENOMEM to socket") >Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> >--- > net/vmw_vsock/vmci_transport.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) The patch LGTM, but I suggest to extract this patch from the series and send it directly to the net tree, while other patches can be sent to net-next. Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c index 36eb16a40745..95cc4d79ba29 100644 --- a/net/vmw_vsock/vmci_transport.c +++ b/net/vmw_vsock/vmci_transport.c @@ -1842,7 +1842,13 @@ static ssize_t vmci_transport_stream_enqueue( struct msghdr *msg, size_t len) { - return vmci_qpair_enquev(vmci_trans(vsk)->qpair, msg, len, 0); + ssize_t err; + + err = vmci_qpair_enquev(vmci_trans(vsk)->qpair, msg, len, 0); + if (err < 0) + err = -ENOMEM; + + return err; } static s64 vmci_transport_stream_has_data(struct vsock_sock *vsk)
This adds conversion of VMCI specific error code to general -ENOMEM. It is needed, because af_vsock.c passes error value returned from transport to the user, which does not expect to get VMCI_ERROR_* values. Fixes: c43170b7e157 ("vsock: return errors other than -ENOMEM to socket") Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> --- net/vmw_vsock/vmci_transport.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)