diff options
Diffstat (limited to 'net/ipv4/inet_diag.c')
| -rw-r--r-- | net/ipv4/inet_diag.c | 28 | 
1 files changed, 14 insertions, 14 deletions
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index a706a47f4db..bdb78dd180c 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -116,10 +116,10 @@ static int inet_csk_diag_fill(struct sock *sk,  	r->id.idiag_cookie[0] = (u32)(unsigned long)sk;  	r->id.idiag_cookie[1] = (u32)(((unsigned long)sk >> 31) >> 1); -	r->id.idiag_sport = inet->sport; -	r->id.idiag_dport = inet->dport; -	r->id.idiag_src[0] = inet->rcv_saddr; -	r->id.idiag_dst[0] = inet->daddr; +	r->id.idiag_sport = inet->inet_sport; +	r->id.idiag_dport = inet->inet_dport; +	r->id.idiag_src[0] = inet->inet_rcv_saddr; +	r->id.idiag_dst[0] = inet->inet_daddr;  #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)  	if (r->idiag_family == AF_INET6) { @@ -504,11 +504,11 @@ static int inet_csk_diag_dump(struct sock *sk,  		} else  #endif  		{ -			entry.saddr = &inet->rcv_saddr; -			entry.daddr = &inet->daddr; +			entry.saddr = &inet->inet_rcv_saddr; +			entry.daddr = &inet->inet_daddr;  		} -		entry.sport = inet->num; -		entry.dport = ntohs(inet->dport); +		entry.sport = inet->inet_num; +		entry.dport = ntohs(inet->inet_dport);  		entry.userlocks = sk->sk_userlocks;  		if (!inet_diag_bc_run(RTA_DATA(bc), RTA_PAYLOAD(bc), &entry)) @@ -584,7 +584,7 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,  	if (tmo < 0)  		tmo = 0; -	r->id.idiag_sport = inet->sport; +	r->id.idiag_sport = inet->inet_sport;  	r->id.idiag_dport = ireq->rmt_port;  	r->id.idiag_src[0] = ireq->loc_addr;  	r->id.idiag_dst[0] = ireq->rmt_addr; @@ -639,7 +639,7 @@ static int inet_diag_dump_reqs(struct sk_buff *skb, struct sock *sk,  	if (cb->nlh->nlmsg_len > 4 + NLMSG_SPACE(sizeof(*r))) {  		bc = (struct rtattr *)(r + 1); -		entry.sport = inet->num; +		entry.sport = inet->inet_num;  		entry.userlocks = sk->sk_userlocks;  	} @@ -732,7 +732,7 @@ static int inet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb)  					continue;  				} -				if (r->id.idiag_sport != inet->sport && +				if (r->id.idiag_sport != inet->inet_sport &&  				    r->id.idiag_sport)  					goto next_listen; @@ -774,7 +774,7 @@ skip_listen_ht:  	if (!(r->idiag_states & ~(TCPF_LISTEN | TCPF_SYN_RECV)))  		goto unlock; -	for (i = s_i; i < hashinfo->ehash_size; i++) { +	for (i = s_i; i <= hashinfo->ehash_mask; i++) {  		struct inet_ehash_bucket *head = &hashinfo->ehash[i];  		spinlock_t *lock = inet_ehash_lockp(hashinfo, i);  		struct sock *sk; @@ -797,10 +797,10 @@ skip_listen_ht:  				goto next_normal;  			if (!(r->idiag_states & (1 << sk->sk_state)))  				goto next_normal; -			if (r->id.idiag_sport != inet->sport && +			if (r->id.idiag_sport != inet->inet_sport &&  			    r->id.idiag_sport)  				goto next_normal; -			if (r->id.idiag_dport != inet->dport && +			if (r->id.idiag_dport != inet->inet_dport &&  			    r->id.idiag_dport)  				goto next_normal;  			if (inet_csk_diag_dump(sk, skb, cb) < 0) {  |