Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7dbf0755 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo Committed by David S. Miller
Browse files

[INET_DIAG]: Use inet_twsk() with TIME_WAIT sockets



The fields being accessed in inet_diag_dump are outside sock_common, the
common part of struct sock and struct inet_timewait_sock.

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a2c2064f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -697,14 +697,14 @@ static int inet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb)
		if (r->idiag_states & TCPF_TIME_WAIT) {
			sk_for_each(sk, node,
				    &hashinfo->ehash[i + hashinfo->ehash_size].chain) {
				struct inet_sock *inet = inet_sk(sk);
				const struct inet_timewait_sock *tw = inet_twsk(sk);

				if (num < s_num)
					goto next_dying;
				if (r->id.idiag_sport != inet->sport &&
				if (r->id.idiag_sport != tw->tw_sport &&
				    r->id.idiag_sport)
					goto next_dying;
				if (r->id.idiag_dport != inet->dport &&
				if (r->id.idiag_dport != tw->tw_dport &&
				    r->id.idiag_dport)
					goto next_dying;
				if (inet_diag_dump_sock(skb, sk, cb) < 0) {