From: Eric Dumazet Date: Fri, 13 Mar 2015 22:51:11 +0000 (-0700) Subject: inet_diag: adjust inet_sk_diag_fill() bug condition X-Git-Tag: v4.1-rc1~128^2~242^2~1 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a07c92078d5cf32dcc7c3d673066f031d02dc454;p=karo-tx-linux.git inet_diag: adjust inet_sk_diag_fill() bug condition inet_sk_diag_fill() only copes with non timewait and non request socks Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index e1e4d8c0384a..d827fe2e3ce0 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -93,7 +93,7 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk, return -EMSGSIZE; r = nlmsg_data(nlh); - BUG_ON(sk->sk_state == TCP_TIME_WAIT); + BUG_ON((1 << sk->sk_state) & (TCPF_TIME_WAIT | TCPF_NEW_SYN_RECV)); r->idiag_family = sk->sk_family; r->idiag_state = sk->sk_state;