netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] sock: ignore TIMESTAMP, RXQ_OVFL, WIFI_STATUS in sock_cmsg_send
@ 2016-05-13  4:47 Soheil Hassas Yeganeh
  2016-05-13  6:03 ` David Miller
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Soheil Hassas Yeganeh @ 2016-05-13  4:47 UTC (permalink / raw)
  To: davem, netdev; +Cc: edumazet, maze, willemb, Soheil Hassas Yeganeh

From: Soheil Hassas Yeganeh <soheil@google.com>

SO_TIMESTAMP(NS), RXQ_OVFL, and WIFI_STATUS can be returned as
receive-side control messages from recvmsg(). Although invalid,
some applications may reflect those receive-side control messages
back to sendmsg(). Since socket-level control messages were being
ignored in ipv4 and ipv6, such applications would not get an error.

24025c4 (ipv4: process socket-level control messages in IPv4) and
ad1e46 (ipv6: process socket-level control messages in IPv6) add
support for socket-level control messages in ipv4 and ipv6 on
sendmsg(). This results in getting -EINVAL, if the application
passes in a message with SO_WIFI_STATUS, SO_RXQ_OVFL, SO_TIMESTAMP
and/or SO_TIMESTAMPNS that might have been received in recvmsg().

Ignore SO_WIFI_STATUS, SO_TIMESTAMP(NS), and SO_RXQ_OVFL when
processing socket-level control messages in send-side to remain
backward compatible.
---
 net/core/sock.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/net/core/sock.c b/net/core/sock.c
index 08bf97e..1e0bcd0 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1938,6 +1938,12 @@ int __sock_cmsg_send(struct sock *sk, struct msghdr *msg, struct cmsghdr *cmsg,
 		sockc->tsflags &= ~SOF_TIMESTAMPING_TX_RECORD_MASK;
 		sockc->tsflags |= tsflags;
 		break;
+	/* Ignore the following types on send to remain backward compatible. */
+	case SO_RXQ_OVFL:	/* Fall through */
+	case SO_TIMESTAMP:	/* Fall through */
+	case SO_TIMESTAMPNS:	/* Fall through */
+	case SO_WIFI_STATUS:
+		break;
 	default:
 		return -EINVAL;
 	}
-- 
2.8.0.rc3.226.g39d4020

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-05-16 17:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-13  4:47 [PATCH net-next] sock: ignore TIMESTAMP, RXQ_OVFL, WIFI_STATUS in sock_cmsg_send Soheil Hassas Yeganeh
2016-05-13  6:03 ` David Miller
2016-05-13 12:14   ` Soheil Hassas Yeganeh
2016-05-13 12:46 ` Sergei Shtylyov
2016-05-13 13:14 ` [PATCH net-next] sock: propagate __sock_cmsg_send() error Eric Dumazet
2016-05-13 13:29   ` Soheil Hassas Yeganeh
2016-05-16 17:46   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).