|
@@ -2541,13 +2541,13 @@ 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,
|
|
|
- struct seq_file *f, int i, kuid_t uid, int *len)
|
|
|
+ struct seq_file *f, int i, kuid_t uid)
|
|
|
{
|
|
|
const struct inet_request_sock *ireq = inet_rsk(req);
|
|
|
long delta = req->expires - jiffies;
|
|
|
|
|
|
seq_printf(f, "%4d: %08X:%04X %08X:%04X"
|
|
|
- " %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK%n",
|
|
|
+ " %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK",
|
|
|
i,
|
|
|
ireq->ir_loc_addr,
|
|
|
ntohs(inet_sk(sk)->inet_sport),
|
|
@@ -2562,11 +2562,10 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req,
|
|
|
0, /* non standard timer */
|
|
|
0, /* open_requests have no inode */
|
|
|
atomic_read(&sk->sk_refcnt),
|
|
|
- req,
|
|
|
- len);
|
|
|
+ req);
|
|
|
}
|
|
|
|
|
|
-static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
|
|
|
+static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i)
|
|
|
{
|
|
|
int timer_active;
|
|
|
unsigned long timer_expires;
|
|
@@ -2605,7 +2604,7 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
|
|
|
rx_queue = max_t(int, tp->rcv_nxt - tp->copied_seq, 0);
|
|
|
|
|
|
seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX "
|
|
|
- "%08X %5u %8d %lu %d %pK %lu %lu %u %u %d%n",
|
|
|
+ "%08X %5u %8d %lu %d %pK %lu %lu %u %u %d",
|
|
|
i, src, srcp, dest, destp, sk->sk_state,
|
|
|
tp->write_seq - tp->snd_una,
|
|
|
rx_queue,
|
|
@@ -2622,12 +2621,11 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
|
|
|
tp->snd_cwnd,
|
|
|
sk->sk_state == TCP_LISTEN ?
|
|
|
(fastopenq ? fastopenq->max_qlen : 0) :
|
|
|
- (tcp_in_initial_slowstart(tp) ? -1 : tp->snd_ssthresh),
|
|
|
- len);
|
|
|
+ (tcp_in_initial_slowstart(tp) ? -1 : tp->snd_ssthresh));
|
|
|
}
|
|
|
|
|
|
static void get_timewait4_sock(const struct inet_timewait_sock *tw,
|
|
|
- struct seq_file *f, int i, int *len)
|
|
|
+ struct seq_file *f, int i)
|
|
|
{
|
|
|
__be32 dest, src;
|
|
|
__u16 destp, srcp;
|
|
@@ -2639,10 +2637,10 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw,
|
|
|
srcp = ntohs(tw->tw_sport);
|
|
|
|
|
|
seq_printf(f, "%4d: %08X:%04X %08X:%04X"
|
|
|
- " %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK%n",
|
|
|
+ " %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK",
|
|
|
i, src, srcp, dest, destp, tw->tw_substate, 0, 0,
|
|
|
3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,
|
|
|
- atomic_read(&tw->tw_refcnt), tw, len);
|
|
|
+ atomic_read(&tw->tw_refcnt), tw);
|
|
|
}
|
|
|
|
|
|
#define TMPSZ 150
|
|
@@ -2651,11 +2649,10 @@ static int tcp4_seq_show(struct seq_file *seq, void *v)
|
|
|
{
|
|
|
struct tcp_iter_state *st;
|
|
|
struct sock *sk = v;
|
|
|
- int len;
|
|
|
|
|
|
+ seq_setwidth(seq, TMPSZ - 1);
|
|
|
if (v == SEQ_START_TOKEN) {
|
|
|
- seq_printf(seq, "%-*s\n", TMPSZ - 1,
|
|
|
- " sl local_address rem_address st tx_queue "
|
|
|
+ seq_puts(seq, " sl local_address rem_address st tx_queue "
|
|
|
"rx_queue tr tm->when retrnsmt uid timeout "
|
|
|
"inode");
|
|
|
goto out;
|
|
@@ -2666,16 +2663,16 @@ static int tcp4_seq_show(struct seq_file *seq, void *v)
|
|
|
case TCP_SEQ_STATE_LISTENING:
|
|
|
case TCP_SEQ_STATE_ESTABLISHED:
|
|
|
if (sk->sk_state == TCP_TIME_WAIT)
|
|
|
- get_timewait4_sock(v, seq, st->num, &len);
|
|
|
+ get_timewait4_sock(v, seq, st->num);
|
|
|
else
|
|
|
- get_tcp4_sock(v, seq, st->num, &len);
|
|
|
+ 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, &len);
|
|
|
+ get_openreq4(st->syn_wait_sk, v, seq, st->num, st->uid);
|
|
|
break;
|
|
|
}
|
|
|
- seq_printf(seq, "%*s\n", TMPSZ - 1 - len, "");
|
|
|
out:
|
|
|
+ seq_pad(seq, '\n');
|
|
|
return 0;
|
|
|
}
|
|
|
|