On Thu, 2015-07-09 at 10:42 +0200, Phil Sutter wrote: > Reconsidering my commit 20462155 "net: inet_diag: export IPV6_V6ONLY > sockopt", I am not happy with the limitations it causes for socket > analysing code in userspace. Exporting the value only if it is set makes > it hard for userspace to decide whether the option is not set or the > kernel does not support exporting the option at all. > > From an auditor's perspective, the interesting question for AF_INET6 > sockets is: "Does it NOT have IPV6_V6ONLY set?" Because it is the > unexpected case. This patch allows to answer this question reliably. > > Signed-off-by: Phil Sutter <p...@nwl.cc> > Cc: Eric Dumazet <eduma...@google.com> > --- > net/ipv4/inet_diag.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c > index 9bc2667..e622d2e 100644 > --- a/net/ipv4/inet_diag.c > +++ b/net/ipv4/inet_diag.c > @@ -152,8 +152,7 @@ int inet_sk_diag_fill(struct sock *sk, struct > inet_connection_sock *icsk, > inet6_sk(sk)->tclass) < 0) > goto errout; > > - if (ipv6_only_sock(sk) && > - nla_put_u8(skb, INET_DIAG_SKV6ONLY, 1)) > + if (nla_put_u8(skb, INET_DIAG_SKV6ONLY, ipv6_only_sock(sk))) > goto errout; > } > #endif
Okay, I guess you don't dump millions of sockets. Can you remind me why this attribute is useful for non listening sockets ? It looks you are interested to know if a _listener_ is v6 only or not. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html