mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
net: Replace %pK output with 0
Commit 71338aa7d0 ("net: convert %p usage to %pK") which is from
2011 and changed the %p annotation for pointer to %pK. Back then the
default behaviour for %p was to print the pointer. The %pK modifier was
introduced to able to control the behaviour of specific pointer values
without changing the behaviour of %p for everyone. It was dedicated to
avoid leaking pointers via /proc.
There was also the idea to remove the check from formatting the string
and move to the open callback with some helpers but this did not happen.
Things changed over time. The default behaviour for %p is now to print a
hash pointer which does not leak the address but allows to correlate if
two pointers are equal.
The policy on %p is to not introduce new ones. This is somehow in
between since it already exists. The pointer are usually socket pointers
and I don't see any value in exposing them. Therefore I am following the
recommendation of removing them. Since their usage in /proc/ can be
considered ABI I replace the pointer with a 0.
Replace the %pK annotation with 0 value. Correct the spacing for the
cases where pointer is at the beginning.
Reviewed-by: Kees Cook <kees@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://patch.msgid.link/20260901160345.eeknHmY2@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
5add7c8d59
commit
7c0ec6288b
|
|
@ -30,16 +30,16 @@ up into 3 parts because of the length of the line)::
|
||||||
| |----------------------> receive-queue
|
| |----------------------> receive-queue
|
||||||
|-------------------------------> transmit-queue
|
|-------------------------------> transmit-queue
|
||||||
|
|
||||||
1000 0 54165785 4 cd1e6040 25 4 27 3 -1
|
1000 0 54165785 4 0 25 4 27 3 -1
|
||||||
| | | | | | | | | |--> slow start size threshold,
|
| | | | | | | | | |-------> slow start size threshold,
|
||||||
| | | | | | | | | or -1 if the threshold
|
| | | | | | | | | or -1 if the threshold
|
||||||
| | | | | | | | | is >= 0xFFFF
|
| | | | | | | | | is >= 0xFFFF
|
||||||
| | | | | | | | |----> sending congestion window
|
| | | | | | | | |---------> sending congestion window
|
||||||
| | | | | | | |-------> (ack.quick<<1)|ack.pingpong
|
| | | | | | | |------------> (ack.quick<<1)|ack.pingpong
|
||||||
| | | | | | |---------> Predicted tick of soft clock
|
| | | | | | |--------------> Predicted tick of soft clock
|
||||||
| | | | | | (delayed ACK control data)
|
| | | | | | (delayed ACK control data)
|
||||||
| | | | | |------------> retransmit timeout
|
| | | | | |-----------------> retransmit timeout
|
||||||
| | | | |------------------> location of socket in memory
|
| | | | |--------------------> always 0 (was memory location).
|
||||||
| | | |-----------------------> socket reference count
|
| | | |-----------------------> socket reference count
|
||||||
| | |-----------------------------> inode
|
| | |-----------------------------> inode
|
||||||
| |----------------------------------> unanswered 0-window probes
|
| |----------------------------------> unanswered 0-window probes
|
||||||
|
|
|
||||||
|
|
@ -159,7 +159,7 @@ static void vcc_info(struct seq_file *seq, struct atm_vcc *vcc)
|
||||||
{
|
{
|
||||||
struct sock *sk = sk_atm(vcc);
|
struct sock *sk = sk_atm(vcc);
|
||||||
|
|
||||||
seq_printf(seq, "%pK ", vcc);
|
seq_puts(seq, " 0 ");
|
||||||
if (!vcc->dev)
|
if (!vcc->dev)
|
||||||
seq_printf(seq, "Unassigned ");
|
seq_printf(seq, "Unassigned ");
|
||||||
else
|
else
|
||||||
|
|
@ -228,9 +228,8 @@ static const struct seq_operations pvc_seq_ops = {
|
||||||
static int vcc_seq_show(struct seq_file *seq, void *v)
|
static int vcc_seq_show(struct seq_file *seq, void *v)
|
||||||
{
|
{
|
||||||
if (v == SEQ_START_TOKEN) {
|
if (v == SEQ_START_TOKEN) {
|
||||||
seq_printf(seq, sizeof(void *) == 4 ? "%-8s%s" : "%-16s%s",
|
seq_puts(seq, "Address Itf VPI VCI Fam Flags Reply "
|
||||||
"Address ", "Itf VPI VCI Fam Flags Reply "
|
"Send buffer Recv buffer [refcnt]\n");
|
||||||
"Send buffer Recv buffer [refcnt]\n");
|
|
||||||
} else {
|
} else {
|
||||||
struct vcc_state *state = seq->private;
|
struct vcc_state *state = seq->private;
|
||||||
struct atm_vcc *vcc = atm_sk(state->sk);
|
struct atm_vcc *vcc = atm_sk(state->sk);
|
||||||
|
|
|
||||||
|
|
@ -1095,15 +1095,14 @@ static void ping_v4_format_sock(struct sock *sp, struct seq_file *f,
|
||||||
__u16 srcp = ntohs(inet->inet_sport);
|
__u16 srcp = ntohs(inet->inet_sport);
|
||||||
|
|
||||||
seq_printf(f, "%5d: %08X:%04X %08X:%04X"
|
seq_printf(f, "%5d: %08X:%04X %08X:%04X"
|
||||||
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d %pK %u",
|
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d 0 %u",
|
||||||
bucket, src, srcp, dest, destp, sp->sk_state,
|
bucket, src, srcp, dest, destp, sp->sk_state,
|
||||||
sk_wmem_alloc_get(sp),
|
sk_wmem_alloc_get(sp),
|
||||||
sk_rmem_alloc_get(sp),
|
sk_rmem_alloc_get(sp),
|
||||||
0, 0L, 0,
|
0, 0L, 0,
|
||||||
from_kuid_munged(seq_user_ns(f), sk_uid(sp)),
|
from_kuid_munged(seq_user_ns(f), sk_uid(sp)),
|
||||||
0, sock_i_ino(sp),
|
0, sock_i_ino(sp),
|
||||||
refcount_read(&sp->sk_refcnt), sp,
|
refcount_read(&sp->sk_refcnt), sk_drops_read(sp));
|
||||||
sk_drops_read(sp));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ping_v4_seq_show(struct seq_file *seq, void *v)
|
static int ping_v4_seq_show(struct seq_file *seq, void *v)
|
||||||
|
|
|
||||||
|
|
@ -1054,14 +1054,14 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
|
||||||
srcp = inet->inet_num;
|
srcp = inet->inet_num;
|
||||||
|
|
||||||
seq_printf(seq, "%4d: %08X:%04X %08X:%04X"
|
seq_printf(seq, "%4d: %08X:%04X %08X:%04X"
|
||||||
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d %pK %u\n",
|
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d 0 %u\n",
|
||||||
i, src, srcp, dest, destp, sp->sk_state,
|
i, src, srcp, dest, destp, sp->sk_state,
|
||||||
sk_wmem_alloc_get(sp),
|
sk_wmem_alloc_get(sp),
|
||||||
sk_rmem_alloc_get(sp),
|
sk_rmem_alloc_get(sp),
|
||||||
0, 0L, 0,
|
0, 0L, 0,
|
||||||
from_kuid_munged(seq_user_ns(seq), sk_uid(sp)),
|
from_kuid_munged(seq_user_ns(seq), sk_uid(sp)),
|
||||||
0, sock_i_ino(sp),
|
0, sock_i_ino(sp),
|
||||||
refcount_read(&sp->sk_refcnt), sp, sk_drops_read(sp));
|
refcount_read(&sp->sk_refcnt), sk_drops_read(sp));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int raw_seq_show(struct seq_file *seq, void *v)
|
static int raw_seq_show(struct seq_file *seq, void *v)
|
||||||
|
|
|
||||||
|
|
@ -2748,7 +2748,7 @@ static void get_openreq4(const struct request_sock *req,
|
||||||
long delta = req->rsk_timer.expires - jiffies;
|
long delta = req->rsk_timer.expires - jiffies;
|
||||||
|
|
||||||
seq_printf(f, "%4d: %08X:%04X %08X:%04X"
|
seq_printf(f, "%4d: %08X:%04X %08X:%04X"
|
||||||
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK",
|
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d 0",
|
||||||
i,
|
i,
|
||||||
ireq->ir_loc_addr,
|
ireq->ir_loc_addr,
|
||||||
ireq->ir_num,
|
ireq->ir_num,
|
||||||
|
|
@ -2763,8 +2763,7 @@ static void get_openreq4(const struct request_sock *req,
|
||||||
sk_uid(req->rsk_listener)),
|
sk_uid(req->rsk_listener)),
|
||||||
0, /* non standard timer */
|
0, /* non standard timer */
|
||||||
0, /* open_requests have no inode */
|
0, /* open_requests have no inode */
|
||||||
0,
|
0);
|
||||||
req);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i)
|
static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i)
|
||||||
|
|
@ -2811,7 +2810,7 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i)
|
||||||
READ_ONCE(tp->copied_seq), 0);
|
READ_ONCE(tp->copied_seq), 0);
|
||||||
|
|
||||||
seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX "
|
seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX "
|
||||||
"%08X %5u %8d %llu %d %pK %lu %lu %u %u %d",
|
"%08X %5u %8d %llu %d 0 %lu %lu %u %u %d",
|
||||||
i, src, srcp, dest, destp, state,
|
i, src, srcp, dest, destp, state,
|
||||||
READ_ONCE(tp->write_seq) - tp->snd_una,
|
READ_ONCE(tp->write_seq) - tp->snd_una,
|
||||||
rx_queue,
|
rx_queue,
|
||||||
|
|
@ -2821,7 +2820,7 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i)
|
||||||
from_kuid_munged(seq_user_ns(f), sk_uid(sk)),
|
from_kuid_munged(seq_user_ns(f), sk_uid(sk)),
|
||||||
READ_ONCE(icsk->icsk_probes_out),
|
READ_ONCE(icsk->icsk_probes_out),
|
||||||
sock_i_ino(sk),
|
sock_i_ino(sk),
|
||||||
refcount_read(&sk->sk_refcnt), sk,
|
refcount_read(&sk->sk_refcnt),
|
||||||
jiffies_to_clock_t(icsk->icsk_rto),
|
jiffies_to_clock_t(icsk->icsk_rto),
|
||||||
jiffies_to_clock_t(icsk->icsk_ack.ato),
|
jiffies_to_clock_t(icsk->icsk_ack.ato),
|
||||||
(icsk->icsk_ack.quick << 1) | inet_csk_in_pingpong_mode(sk),
|
(icsk->icsk_ack.quick << 1) | inet_csk_in_pingpong_mode(sk),
|
||||||
|
|
@ -2844,10 +2843,10 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw,
|
||||||
srcp = ntohs(tw->tw_sport);
|
srcp = ntohs(tw->tw_sport);
|
||||||
|
|
||||||
seq_printf(f, "%4d: %08X:%04X %08X:%04X"
|
seq_printf(f, "%4d: %08X:%04X %08X:%04X"
|
||||||
" %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK",
|
" %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0",
|
||||||
i, src, srcp, dest, destp, READ_ONCE(tw->tw_substate), 0, 0,
|
i, src, srcp, dest, destp, READ_ONCE(tw->tw_substate), 0, 0,
|
||||||
3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,
|
3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,
|
||||||
refcount_read(&tw->tw_refcnt), tw);
|
refcount_read(&tw->tw_refcnt));
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TMPSZ 150
|
#define TMPSZ 150
|
||||||
|
|
|
||||||
|
|
@ -3283,15 +3283,14 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
|
||||||
__u16 srcp = ntohs(inet->inet_sport);
|
__u16 srcp = ntohs(inet->inet_sport);
|
||||||
|
|
||||||
seq_printf(f, "%5d: %08X:%04X %08X:%04X"
|
seq_printf(f, "%5d: %08X:%04X %08X:%04X"
|
||||||
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d %pK %u",
|
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d 0 %u",
|
||||||
bucket, src, srcp, dest, destp, sp->sk_state,
|
bucket, src, srcp, dest, destp, sp->sk_state,
|
||||||
sk_wmem_alloc_get(sp),
|
sk_wmem_alloc_get(sp),
|
||||||
udp_rqueue_get(sp),
|
udp_rqueue_get(sp),
|
||||||
0, 0L, 0,
|
0, 0L, 0,
|
||||||
from_kuid_munged(seq_user_ns(f), sk_uid(sp)),
|
from_kuid_munged(seq_user_ns(f), sk_uid(sp)),
|
||||||
0, sock_i_ino(sp),
|
0, sock_i_ino(sp),
|
||||||
refcount_read(&sp->sk_refcnt), sp,
|
refcount_read(&sp->sk_refcnt), sk_drops_read(sp));
|
||||||
sk_drops_read(sp));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int udp4_seq_show(struct seq_file *seq, void *v)
|
static int udp4_seq_show(struct seq_file *seq, void *v)
|
||||||
|
|
|
||||||
|
|
@ -1102,7 +1102,7 @@ void __ip6_dgram_sock_seq_show(struct seq_file *seq, struct sock *sp,
|
||||||
src = &sp->sk_v6_rcv_saddr;
|
src = &sp->sk_v6_rcv_saddr;
|
||||||
seq_printf(seq,
|
seq_printf(seq,
|
||||||
"%5d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
|
"%5d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
|
||||||
"%02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d %pK %u\n",
|
"%02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d 0 %u\n",
|
||||||
bucket,
|
bucket,
|
||||||
src->s6_addr32[0], src->s6_addr32[1],
|
src->s6_addr32[0], src->s6_addr32[1],
|
||||||
src->s6_addr32[2], src->s6_addr32[3], srcp,
|
src->s6_addr32[2], src->s6_addr32[3], srcp,
|
||||||
|
|
@ -1115,6 +1115,5 @@ void __ip6_dgram_sock_seq_show(struct seq_file *seq, struct sock *sp,
|
||||||
from_kuid_munged(seq_user_ns(seq), sk_uid(sp)),
|
from_kuid_munged(seq_user_ns(seq), sk_uid(sp)),
|
||||||
0,
|
0,
|
||||||
sock_i_ino(sp),
|
sock_i_ino(sp),
|
||||||
refcount_read(&sp->sk_refcnt), sp,
|
refcount_read(&sp->sk_refcnt), sk_drops_read(sp));
|
||||||
sk_drops_read(sp));
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2103,7 +2103,7 @@ static void get_openreq6(struct seq_file *seq,
|
||||||
|
|
||||||
seq_printf(seq,
|
seq_printf(seq,
|
||||||
"%4d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
|
"%4d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
|
||||||
"%02X %08X:%08X %02X:%08lX %08X %5u %8d %d %d %pK\n",
|
"%02X %08X:%08X %02X:%08lX %08X %5u %8d %d %d 0\n",
|
||||||
i,
|
i,
|
||||||
src->s6_addr32[0], src->s6_addr32[1],
|
src->s6_addr32[0], src->s6_addr32[1],
|
||||||
src->s6_addr32[2], src->s6_addr32[3],
|
src->s6_addr32[2], src->s6_addr32[3],
|
||||||
|
|
@ -2120,7 +2120,7 @@ static void get_openreq6(struct seq_file *seq,
|
||||||
sk_uid(req->rsk_listener)),
|
sk_uid(req->rsk_listener)),
|
||||||
0, /* non standard timer */
|
0, /* non standard timer */
|
||||||
0, /* open_requests have no inode */
|
0, /* open_requests have no inode */
|
||||||
0, req);
|
0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void get_tcp6_sock(struct seq_file *seq, struct sock *sp, int i)
|
static void get_tcp6_sock(struct seq_file *seq, struct sock *sp, int i)
|
||||||
|
|
@ -2171,7 +2171,7 @@ static void get_tcp6_sock(struct seq_file *seq, struct sock *sp, int i)
|
||||||
|
|
||||||
seq_printf(seq,
|
seq_printf(seq,
|
||||||
"%4d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
|
"%4d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
|
||||||
"%02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d %pK %lu %lu %u %u %d\n",
|
"%02X %08X:%08X %02X:%08lX %08X %5u %8d %llu %d 0 %lu %lu %u %u %d\n",
|
||||||
i,
|
i,
|
||||||
src->s6_addr32[0], src->s6_addr32[1],
|
src->s6_addr32[0], src->s6_addr32[1],
|
||||||
src->s6_addr32[2], src->s6_addr32[3], srcp,
|
src->s6_addr32[2], src->s6_addr32[3], srcp,
|
||||||
|
|
@ -2186,7 +2186,7 @@ static void get_tcp6_sock(struct seq_file *seq, struct sock *sp, int i)
|
||||||
from_kuid_munged(seq_user_ns(seq), sk_uid(sp)),
|
from_kuid_munged(seq_user_ns(seq), sk_uid(sp)),
|
||||||
READ_ONCE(icsk->icsk_probes_out),
|
READ_ONCE(icsk->icsk_probes_out),
|
||||||
sock_i_ino(sp),
|
sock_i_ino(sp),
|
||||||
refcount_read(&sp->sk_refcnt), sp,
|
refcount_read(&sp->sk_refcnt),
|
||||||
jiffies_to_clock_t(icsk->icsk_rto),
|
jiffies_to_clock_t(icsk->icsk_rto),
|
||||||
jiffies_to_clock_t(icsk->icsk_ack.ato),
|
jiffies_to_clock_t(icsk->icsk_ack.ato),
|
||||||
(icsk->icsk_ack.quick << 1) | inet_csk_in_pingpong_mode(sp),
|
(icsk->icsk_ack.quick << 1) | inet_csk_in_pingpong_mode(sp),
|
||||||
|
|
@ -2211,7 +2211,7 @@ static void get_timewait6_sock(struct seq_file *seq,
|
||||||
|
|
||||||
seq_printf(seq,
|
seq_printf(seq,
|
||||||
"%4d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
|
"%4d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
|
||||||
"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\n",
|
"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n",
|
||||||
i,
|
i,
|
||||||
src->s6_addr32[0], src->s6_addr32[1],
|
src->s6_addr32[0], src->s6_addr32[1],
|
||||||
src->s6_addr32[2], src->s6_addr32[3], srcp,
|
src->s6_addr32[2], src->s6_addr32[3], srcp,
|
||||||
|
|
@ -2219,7 +2219,7 @@ static void get_timewait6_sock(struct seq_file *seq,
|
||||||
dest->s6_addr32[2], dest->s6_addr32[3], destp,
|
dest->s6_addr32[2], dest->s6_addr32[3], destp,
|
||||||
READ_ONCE(tw->tw_substate), 0, 0,
|
READ_ONCE(tw->tw_substate), 0, 0,
|
||||||
3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,
|
3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,
|
||||||
refcount_read(&tw->tw_refcnt), tw);
|
refcount_read(&tw->tw_refcnt));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int tcp6_seq_show(struct seq_file *seq, void *v)
|
static int tcp6_seq_show(struct seq_file *seq, void *v)
|
||||||
|
|
|
||||||
|
|
@ -3803,10 +3803,9 @@ static int pfkey_seq_show(struct seq_file *f, void *v)
|
||||||
struct sock *s = sk_entry(v);
|
struct sock *s = sk_entry(v);
|
||||||
|
|
||||||
if (v == SEQ_START_TOKEN)
|
if (v == SEQ_START_TOKEN)
|
||||||
seq_printf(f ,"sk RefCnt Rmem Wmem User Inode\n");
|
seq_puts(f, "sk RefCnt Rmem Wmem User Inode\n");
|
||||||
else
|
else
|
||||||
seq_printf(f, "%pK %-6d %-6u %-6u %-6u %-6llu\n",
|
seq_printf(f, "0 %-6d %-6u %-6u %-6u %-6llu\n",
|
||||||
s,
|
|
||||||
refcount_read(&s->sk_refcnt),
|
refcount_read(&s->sk_refcnt),
|
||||||
sk_rmem_alloc_get(s),
|
sk_rmem_alloc_get(s),
|
||||||
sk_wmem_alloc_get(s),
|
sk_wmem_alloc_get(s),
|
||||||
|
|
|
||||||
|
|
@ -2700,14 +2700,13 @@ static int netlink_native_seq_show(struct seq_file *seq, void *v)
|
||||||
{
|
{
|
||||||
if (v == SEQ_START_TOKEN) {
|
if (v == SEQ_START_TOKEN) {
|
||||||
seq_puts(seq,
|
seq_puts(seq,
|
||||||
"sk Eth Pid Groups "
|
"sk Eth Pid Groups "
|
||||||
"Rmem Wmem Dump Locks Drops Inode\n");
|
"Rmem Wmem Dump Locks Drops Inode\n");
|
||||||
} else {
|
} else {
|
||||||
struct sock *s = v;
|
struct sock *s = v;
|
||||||
struct netlink_sock *nlk = nlk_sk(s);
|
struct netlink_sock *nlk = nlk_sk(s);
|
||||||
|
|
||||||
seq_printf(seq, "%pK %-3d %-10u %08x %-8d %-8d %-5d %-8d %-8u %-8llu\n",
|
seq_printf(seq, "0 %-3d %-10u %08x %-8d %-8d %-5d %-8d %-8u %-8llu\n",
|
||||||
s,
|
|
||||||
s->sk_protocol,
|
s->sk_protocol,
|
||||||
nlk->portid,
|
nlk->portid,
|
||||||
nlk->groups ? (u32)nlk->groups[0] : 0,
|
nlk->groups ? (u32)nlk->groups[0] : 0,
|
||||||
|
|
|
||||||
|
|
@ -4825,16 +4825,13 @@ static void packet_seq_stop(struct seq_file *seq, void *v)
|
||||||
static int packet_seq_show(struct seq_file *seq, void *v)
|
static int packet_seq_show(struct seq_file *seq, void *v)
|
||||||
{
|
{
|
||||||
if (v == SEQ_START_TOKEN)
|
if (v == SEQ_START_TOKEN)
|
||||||
seq_printf(seq,
|
seq_puts(seq, "sk RefCnt Type Proto Iface R Rmem User Inode\n");
|
||||||
"%*sRefCnt Type Proto Iface R Rmem User Inode\n",
|
|
||||||
IS_ENABLED(CONFIG_64BIT) ? -17 : -9, "sk");
|
|
||||||
else {
|
else {
|
||||||
struct sock *s = sk_entry(v);
|
struct sock *s = sk_entry(v);
|
||||||
const struct packet_sock *po = pkt_sk(s);
|
const struct packet_sock *po = pkt_sk(s);
|
||||||
|
|
||||||
seq_printf(seq,
|
seq_printf(seq,
|
||||||
"%pK %-6d %-4d %04x %-5d %1d %-6u %-6u %-6llu\n",
|
"0 %-6d %-4d %04x %-5d %1d %-6u %-6u %-6llu\n",
|
||||||
s,
|
|
||||||
refcount_read(&s->sk_refcnt),
|
refcount_read(&s->sk_refcnt),
|
||||||
s->sk_type,
|
s->sk_type,
|
||||||
ntohs(READ_ONCE(po->num)),
|
ntohs(READ_ONCE(po->num)),
|
||||||
|
|
|
||||||
|
|
@ -586,14 +586,13 @@ static int pn_sock_seq_show(struct seq_file *seq, void *v)
|
||||||
struct pn_sock *pn = pn_sk(sk);
|
struct pn_sock *pn = pn_sk(sk);
|
||||||
|
|
||||||
seq_printf(seq, "%2d %04X:%04X:%02X %02X %08X:%08X %5d %llu "
|
seq_printf(seq, "%2d %04X:%04X:%02X %02X %08X:%08X %5d %llu "
|
||||||
"%d %pK %u",
|
"%d 0 %u",
|
||||||
sk->sk_protocol, pn->sobject, pn->dobject,
|
sk->sk_protocol, pn->sobject, pn->dobject,
|
||||||
pn->resource, sk->sk_state,
|
pn->resource, sk->sk_state,
|
||||||
sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk),
|
sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk),
|
||||||
from_kuid_munged(seq_user_ns(seq), sk_uid(sk)),
|
from_kuid_munged(seq_user_ns(seq), sk_uid(sk)),
|
||||||
sock_i_ino(sk),
|
sock_i_ino(sk),
|
||||||
refcount_read(&sk->sk_refcnt), sk,
|
refcount_read(&sk->sk_refcnt), sk_drops_read(sk));
|
||||||
sk_drops_read(sk));
|
|
||||||
}
|
}
|
||||||
seq_pad(seq, '\n');
|
seq_pad(seq, '\n');
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -174,7 +174,7 @@ static int sctp_eps_seq_show(struct seq_file *seq, void *v)
|
||||||
sk = ep->base.sk;
|
sk = ep->base.sk;
|
||||||
if (!net_eq(sock_net(sk), seq_file_net(seq)))
|
if (!net_eq(sock_net(sk), seq_file_net(seq)))
|
||||||
continue;
|
continue;
|
||||||
seq_printf(seq, "%8pK %8pK %-3d %-3d %-4d %-5d %5u %5llu ", ep, sk,
|
seq_printf(seq, "%8d %8d %-3d %-3d %-4d %-5d %5u %5llu ", 0, 0,
|
||||||
sctp_sk(sk)->type, sk->sk_state, hash,
|
sctp_sk(sk)->type, sk->sk_state, hash,
|
||||||
ep->base.bind_addr.port,
|
ep->base.bind_addr.port,
|
||||||
from_kuid_munged(seq_user_ns(seq), sk_uid(sk)),
|
from_kuid_munged(seq_user_ns(seq), sk_uid(sk)),
|
||||||
|
|
@ -260,9 +260,9 @@ static int sctp_assocs_seq_show(struct seq_file *seq, void *v)
|
||||||
sk = epb->sk;
|
sk = epb->sk;
|
||||||
|
|
||||||
seq_printf(seq,
|
seq_printf(seq,
|
||||||
"%8pK %8pK %-3d %-3d %-2d %-4d "
|
"%8d %8d %-3d %-3d %-2d %-4d "
|
||||||
"%4d %8d %8d %7u %5llu %-5d %5d ",
|
"%4d %8d %8d %7u %5llu %-5d %5d ",
|
||||||
assoc, sk, sctp_sk(sk)->type, sk->sk_state,
|
0, 0, sctp_sk(sk)->type, sk->sk_state,
|
||||||
assoc->state, 0,
|
assoc->state, 0,
|
||||||
assoc->assoc_id,
|
assoc->assoc_id,
|
||||||
assoc->sndbuf_used,
|
assoc->sndbuf_used,
|
||||||
|
|
|
||||||
|
|
@ -3562,8 +3562,7 @@ static int unix_seq_show(struct seq_file *seq, void *v)
|
||||||
struct unix_sock *u = unix_sk(s);
|
struct unix_sock *u = unix_sk(s);
|
||||||
unix_state_lock(s);
|
unix_state_lock(s);
|
||||||
|
|
||||||
seq_printf(seq, "%pK: %08X %08X %08X %04X %02X %5llu",
|
seq_printf(seq, "%08u: %08X %08X %08X %04X %02X %5llu", 0,
|
||||||
s,
|
|
||||||
refcount_read(&s->sk_refcnt),
|
refcount_read(&s->sk_refcnt),
|
||||||
0,
|
0,
|
||||||
s->sk_state == TCP_LISTEN ? __SO_ACCEPTCON : 0,
|
s->sk_state == TCP_LISTEN ? __SO_ACCEPTCON : 0,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user