Hi David,

 Please consider pulling from:

master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6.git

Best Regards,

- Arnaldo
tree e28be60d944faa8bc8c97f554d39fcb38d64b365
parent 53927b62ae8c8eb2958046ad7660601605ae991d
author Arnaldo Carvalho de Melo <[EMAIL PROTECTED]> 1136826022 -0200
committer Arnaldo Carvalho de Melo <[EMAIL PROTECTED]> 1136826022 -0200

[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: Arnaldo Carvalho de Melo <[EMAIL PROTECTED]>

------------------------------------------------------------------------------

 inet_diag.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

------------------------------------------------------------------------------

diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
index c499081..c3b3348 100644
--- a/net/ipv4/inet_diag.c
+++ b/net/ipv4/inet_diag.c
@@ -697,14 +697,14 @@ next_normal:
 		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) {

Reply via email to