summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSoheil Hassas Yeganeh <soheil@google.com>2016-07-21 00:01:18 +0200
committerDavid S. Miller <davem@davemloft.net>2016-07-22 07:41:48 +0200
commitf8e7718cc0445587fe8530fc2d240d9aac2c9072 (patch)
tree26133ea508e6001b91adef1482973c8b528927a5
parentnet/mlx5e: Fix del vxlan port command buffer memset (diff)
downloadlinux-f8e7718cc0445587fe8530fc2d240d9aac2c9072.tar.xz
linux-f8e7718cc0445587fe8530fc2d240d9aac2c9072.zip
packet: propagate sock_cmsg_send() error
sock_cmsg_send() can return different error codes and not only -EINVAL, and we should properly propagate them. Fixes: c14ac9451c34 ("sock: enable timestamping using control messages") Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com> Cc: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/packet/af_packet.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index 53e87ceb26e7..b43c4015b2f7 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1930,10 +1930,8 @@ retry:
sockc.tsflags = sk->sk_tsflags;
if (msg->msg_controllen) {
err = sock_cmsg_send(sk, msg, &sockc);
- if (unlikely(err)) {
- err = -EINVAL;
+ if (unlikely(err))
goto out_unlock;
- }
}
skb->protocol = proto;