mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 08:31:13 +00:00
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
3 changed files with 7 additions and 8 deletions
|
@ -718,7 +718,6 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,
|
||||||
const struct nlmsghdr *unlh)
|
const struct nlmsghdr *unlh)
|
||||||
{
|
{
|
||||||
const struct inet_request_sock *ireq = inet_rsk(req);
|
const struct inet_request_sock *ireq = inet_rsk(req);
|
||||||
struct inet_sock *inet = inet_sk(sk);
|
|
||||||
struct inet_diag_msg *r;
|
struct inet_diag_msg *r;
|
||||||
struct nlmsghdr *nlh;
|
struct nlmsghdr *nlh;
|
||||||
long tmo;
|
long tmo;
|
||||||
|
@ -744,7 +743,7 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,
|
||||||
if (tmo < 0)
|
if (tmo < 0)
|
||||||
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;
|
r->id.idiag_dport = ireq->ir_rmt_port;
|
||||||
|
|
||||||
memset(&r->id.idiag_src, 0, sizeof(r->id.idiag_src));
|
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);
|
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)
|
struct seq_file *f, int i, kuid_t uid)
|
||||||
{
|
{
|
||||||
const struct inet_request_sock *ireq = inet_rsk(req);
|
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",
|
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK",
|
||||||
i,
|
i,
|
||||||
ireq->ir_loc_addr,
|
ireq->ir_loc_addr,
|
||||||
ntohs(inet_sk(sk)->inet_sport),
|
ireq->ir_num,
|
||||||
ireq->ir_rmt_addr,
|
ireq->ir_rmt_addr,
|
||||||
ntohs(ireq->ir_rmt_port),
|
ntohs(ireq->ir_rmt_port),
|
||||||
TCP_SYN_RECV,
|
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),
|
from_kuid_munged(seq_user_ns(f), uid),
|
||||||
0, /* non standard timer */
|
0, /* non standard timer */
|
||||||
0, /* open_requests have no inode */
|
0, /* open_requests have no inode */
|
||||||
atomic_read(&sk->sk_refcnt),
|
0,
|
||||||
req);
|
req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2332,7 +2332,7 @@ static int tcp4_seq_show(struct seq_file *seq, void *v)
|
||||||
get_tcp4_sock(v, seq, st->num);
|
get_tcp4_sock(v, seq, st->num);
|
||||||
break;
|
break;
|
||||||
case TCP_SEQ_STATE_OPENREQ:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
|
|
|
@ -1689,7 +1689,7 @@ static void tcp_v6_destroy_sock(struct sock *sk)
|
||||||
#ifdef CONFIG_PROC_FS
|
#ifdef CONFIG_PROC_FS
|
||||||
/* Proc filesystem TCPv6 sock list dumping. */
|
/* Proc filesystem TCPv6 sock list dumping. */
|
||||||
static void get_openreq6(struct seq_file *seq,
|
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;
|
int ttd = req->expires - jiffies;
|
||||||
const struct in6_addr *src = &inet_rsk(req)->ir_v6_loc_addr;
|
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);
|
get_tcp6_sock(seq, v, st->num);
|
||||||
break;
|
break;
|
||||||
case TCP_SEQ_STATE_OPENREQ:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue