forked from luck/tmp_suning_uos_patched
inet: get_openreq4() & get_openreq6() do not need listener
ireq->ir_num contains local port, use it. Also, get_openreq4() dumping listen_sk->refcnt makes litle sense. inet_diag_fill_req() can also use ireq->ir_num Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
41b822c59e
commit
d4f06873b6
@ -718,7 +718,6 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,
|
||||
const struct nlmsghdr *unlh)
|
||||
{
|
||||
const struct inet_request_sock *ireq = inet_rsk(req);
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
struct inet_diag_msg *r;
|
||||
struct nlmsghdr *nlh;
|
||||
long tmo;
|
||||
@ -744,7 +743,7 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,
|
||||
if (tmo < 0)
|
||||
tmo = 0;
|
||||
|
||||
r->id.idiag_sport = inet->inet_sport;
|
||||
r->id.idiag_sport = htons(ireq->ir_num);
|
||||
r->id.idiag_dport = ireq->ir_rmt_port;
|
||||
|
||||
memset(&r->id.idiag_src, 0, sizeof(r->id.idiag_src));
|
||||
|
@ -2204,7 +2204,7 @@ void tcp_proc_unregister(struct net *net, struct tcp_seq_afinfo *afinfo)
|
||||
}
|
||||
EXPORT_SYMBOL(tcp_proc_unregister);
|
||||
|
||||
static void get_openreq4(const struct sock *sk, const struct request_sock *req,
|
||||
static void get_openreq4(const struct request_sock *req,
|
||||
struct seq_file *f, int i, kuid_t uid)
|
||||
{
|
||||
const struct inet_request_sock *ireq = inet_rsk(req);
|
||||
@ -2214,7 +2214,7 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req,
|
||||
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK",
|
||||
i,
|
||||
ireq->ir_loc_addr,
|
||||
ntohs(inet_sk(sk)->inet_sport),
|
||||
ireq->ir_num,
|
||||
ireq->ir_rmt_addr,
|
||||
ntohs(ireq->ir_rmt_port),
|
||||
TCP_SYN_RECV,
|
||||
@ -2225,7 +2225,7 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req,
|
||||
from_kuid_munged(seq_user_ns(f), uid),
|
||||
0, /* non standard timer */
|
||||
0, /* open_requests have no inode */
|
||||
atomic_read(&sk->sk_refcnt),
|
||||
0,
|
||||
req);
|
||||
}
|
||||
|
||||
@ -2332,7 +2332,7 @@ static int tcp4_seq_show(struct seq_file *seq, void *v)
|
||||
get_tcp4_sock(v, seq, st->num);
|
||||
break;
|
||||
case TCP_SEQ_STATE_OPENREQ:
|
||||
get_openreq4(st->syn_wait_sk, v, seq, st->num, st->uid);
|
||||
get_openreq4(v, seq, st->num, st->uid);
|
||||
break;
|
||||
}
|
||||
out:
|
||||
|
@ -1689,7 +1689,7 @@ static void tcp_v6_destroy_sock(struct sock *sk)
|
||||
#ifdef CONFIG_PROC_FS
|
||||
/* Proc filesystem TCPv6 sock list dumping. */
|
||||
static void get_openreq6(struct seq_file *seq,
|
||||
const struct sock *sk, struct request_sock *req, int i, kuid_t uid)
|
||||
struct request_sock *req, int i, kuid_t uid)
|
||||
{
|
||||
int ttd = req->expires - jiffies;
|
||||
const struct in6_addr *src = &inet_rsk(req)->ir_v6_loc_addr;
|
||||
@ -1827,7 +1827,7 @@ static int tcp6_seq_show(struct seq_file *seq, void *v)
|
||||
get_tcp6_sock(seq, v, st->num);
|
||||
break;
|
||||
case TCP_SEQ_STATE_OPENREQ:
|
||||
get_openreq6(seq, st->syn_wait_sk, v, st->num, st->uid);
|
||||
get_openreq6(seq, v, st->num, st->uid);
|
||||
break;
|
||||
}
|
||||
out:
|
||||
|
Loading…
Reference in New Issue
Block a user