On Fri, May 13, 2016 at 2:03 AM, David Miller <da...@davemloft.net> wrote: > From: Soheil Hassas Yeganeh <soheil.k...@gmail.com> > Date: Fri, 13 May 2016 00:47:10 -0400 > >> From: Soheil Hassas Yeganeh <soh...@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. > > This patch is missing a proper Signed-Off-By: tag.
Oops, sorry. :( > But I think this change is wrong. Just because we silently accepted > garbage in the past doesn't mean more strict checking is invalid. > > Applications blindly echoing control messages from recvmsg to sendmsg > must be fixed. Agreed, by this patch, I just wanted to note such potential issues and make sure I haven't broken any user-space application. Thanks David!