From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
linux-atm-general@lists.sourceforge.net,
linux-can@vger.kernel.org, linux-sctp@vger.kernel.org,
netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"Jakub Kicinski" <kuba@kernel.org>,
"Kuniyuki Iwashima" <kuniyu@google.com>,
"Marc Kleine-Budde" <mkl@pengutronix.de>,
"Marcelo Ricardo Leitner" <marcelo.leitner@gmail.com>,
"Neal Cardwell" <ncardwell@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Remi Denis-Courmont" <courmisch@gmail.com>,
"Simon Horman" <horms@kernel.org>,
"Steffen Klassert" <steffen.klassert@secunet.com>,
"Willem de Bruijn" <willemdebruijn.kernel@gmail.com>,
"Xin Long" <lucien.xin@gmail.com>,
"Petr Mladek" <pmladek@suse.com>,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
"Kees Cook" <kees@kernel.org>
Subject: Re: [PATCH net-next v4] net: Replace %pK output with 0
Date: Tue, 1 Sep 2026 17:51:10 +0200 [thread overview]
Message-ID: <9e18a5a0-33c7-482b-9edc-972de9954453@hartkopp.net> (raw)
In-Reply-To: <20260901153706.RKMS7kBY@linutronix.de>
On 01.09.26 17:37, Sebastian Andrzej Siewior wrote:
> Commit 71338aa7d050c ("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 (a few drivers did expect 32bit
> pointers so things got a bit off with 64bit wide pointers).
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---
> v3…v4: https://lore.kernel.org/all/20260812110531.ITPqiY2O@linutronix.de/
> - The CAN changes have been dropped.
No. They are still part of your patch - in the former way.
Would you like to integrate my patch into yours or do you want me to
rebase my code once it shows up in net-next?
https://lore.kernel.org/linux-can/20260815103400.117175-1-socketcan@hartkopp.net/
Best regards,
Oliver
> There will be different change removing
> the %p coming from the CAN department. There is now no %pS user in
> this patch but the issue sashiko complained about is in the works…
> - Field description updated in Documentation/networking/proc_net_tcp.rst
>
> v2…v3: https://lore.kernel.org/all/20260720144031.oU6azheV@linutronix.de/
> - seq_printf() with static strings have been replaced with seq_puts()
> (checkpatch)
> - Added missing fixed length in the CAN_EFF_FLAG case
> (can_print_rcvlist(), sashiko)
> - Added missing 0 in get_timewait6_sock() (Jakub)
> - Added back padding to the unix_seq_show() output. There is a selftest
> which checks the length of the first line. (kernel test robot
> <oliver.sang@intel.com>)
>
> v1…v2: https://lore.kernel.org/all/20260706073824.xixrLxoD@linutronix.de
> - This follows Kees' feedback regarding the general policy and "is it
> really needed?". Since I don't think that this is of general usage I
> replaced them all with 0 and corrected the spacing at the beginning.
>
> - can_print_rcvlist() is now using a %ps to print the name of the
> function. Everything is a sock pointer (or some other data structure)
> and is now 0.
>
> net/atm/proc.c | 7 +++----
> net/can/bcm.c | 4 +---
> net/can/proc.c | 12 ++++--------
> net/ipv4/ping.c | 5 ++---
> net/ipv4/raw.c | 4 ++--
> net/ipv4/tcp_ipv4.c | 13 ++++++-------
> net/ipv4/udp.c | 5 ++---
> net/ipv6/datagram.c | 5 ++---
> net/ipv6/tcp_ipv6.c | 12 ++++++------
> net/key/af_key.c | 5 ++---
> net/netlink/af_netlink.c | 5 ++---
> net/packet/af_packet.c | 7 ++-----
> net/phonet/socket.c | 5 ++---
> net/sctp/proc.c | 6 +++---
> net/unix/af_unix.c | 3 +--
> 15 files changed, 40 insertions(+), 58 deletions(-)
>
> diff --git a/net/atm/proc.c b/net/atm/proc.c
> index 8f20b49b9c02a..ca0fc6b90998c 100644
> --- a/net/atm/proc.c
> +++ b/net/atm/proc.c
> @@ -159,7 +159,7 @@ static void vcc_info(struct seq_file *seq, struct atm_vcc *vcc)
> {
> struct sock *sk = sk_atm(vcc);
>
> - seq_printf(seq, "%pK ", vcc);
> + seq_puts(seq, " 0 ");
> if (!vcc->dev)
> seq_printf(seq, "Unassigned ");
> else
> @@ -228,9 +228,8 @@ static const struct seq_operations pvc_seq_ops = {
> static int vcc_seq_show(struct seq_file *seq, void *v)
> {
> if (v == SEQ_START_TOKEN) {
> - seq_printf(seq, sizeof(void *) == 4 ? "%-8s%s" : "%-16s%s",
> - "Address ", "Itf VPI VCI Fam Flags Reply "
> - "Send buffer Recv buffer [refcnt]\n");
> + seq_puts(seq, "Address Itf VPI VCI Fam Flags Reply "
> + "Send buffer Recv buffer [refcnt]\n");
> } else {
> struct vcc_state *state = seq->private;
> struct atm_vcc *vcc = atm_sk(state->sk);
> diff --git a/net/can/bcm.c b/net/can/bcm.c
> index 3d637a1e0ac1a..794faf83e0e4f 100644
> --- a/net/can/bcm.c
> +++ b/net/can/bcm.c
> @@ -220,9 +220,7 @@ static int bcm_proc_show(struct seq_file *m, void *v)
> struct bcm_sock *bo = bcm_sk(sk);
> struct bcm_op *op;
>
> - seq_printf(m, ">>> socket %pK", sk->sk_socket);
> - seq_printf(m, " / sk %pK", sk);
> - seq_printf(m, " / bo %pK", bo);
> + seq_puts(m, ">>> socket 0 / sk 0 / bo 0");
> seq_printf(m, " / dropped %lu", bo->dropped_usr_msgs);
> seq_printf(m, " / bound %s", bcm_proc_getifname(net, ifname, bo->ifindex));
> seq_printf(m, " <<<\n");
> diff --git a/net/can/proc.c b/net/can/proc.c
> index de4d05ae34597..4314180fd7a14 100644
> --- a/net/can/proc.c
> +++ b/net/can/proc.c
> @@ -192,12 +192,11 @@ static void can_print_rcvlist(struct seq_file *m, struct hlist_head *rx_list,
>
> hlist_for_each_entry_rcu(r, rx_list, list) {
> char *fmt = (r->can_id & CAN_EFF_FLAG)?
> - " %-5s %08x %08x %pK %pK %8ld %s\n" :
> - " %-5s %03x %08x %pK %pK %8ld %s\n";
> + " %-5s %08x %08x %-20ps %8u %8ld %s\n" :
> + " %-5s %03x %08x %-20ps %8u %8ld %s\n";
>
> seq_printf(m, fmt, DNAME(dev), r->can_id, r->mask,
> - r->func, r->data, atomic_long_read(&r->matches),
> - r->ident);
> + r->func, 0, atomic_long_read(&r->matches), r->ident);
> }
> }
>
> @@ -207,10 +206,7 @@ static void can_print_recv_banner(struct seq_file *m)
> * can1. 00000000 00000000 00000000
> * ....... 0 tp20
> */
> - if (IS_ENABLED(CONFIG_64BIT))
> - seq_puts(m, " device can_id can_mask function userdata matches ident\n");
> - else
> - seq_puts(m, " device can_id can_mask function userdata matches ident\n");
> + seq_puts(m, " device can_id can_mask function userdata matches ident\n");
> }
>
> static int can_stats_proc_show(struct seq_file *m, void *v)
> diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
> index d36f1e273fde4..223a0108b74cc 100644
> --- a/net/ipv4/ping.c
> +++ b/net/ipv4/ping.c
> @@ -1095,15 +1095,14 @@ static void ping_v4_format_sock(struct sock *sp, struct seq_file *f,
> __u16 srcp = ntohs(inet->inet_sport);
>
> 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,
> sk_wmem_alloc_get(sp),
> sk_rmem_alloc_get(sp),
> 0, 0L, 0,
> from_kuid_munged(seq_user_ns(f), sk_uid(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 ping_v4_seq_show(struct seq_file *seq, void *v)
> diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
> index d756e5e31b90d..9d01006d8189e 100644
> --- a/net/ipv4/raw.c
> +++ b/net/ipv4/raw.c
> @@ -1054,14 +1054,14 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
> srcp = inet->inet_num;
>
> 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,
> sk_wmem_alloc_get(sp),
> sk_rmem_alloc_get(sp),
> 0, 0L, 0,
> from_kuid_munged(seq_user_ns(seq), sk_uid(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)
> diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
> index b8887cdd66c57..2cd8ae4a0e4b6 100644
> --- a/net/ipv4/tcp_ipv4.c
> +++ b/net/ipv4/tcp_ipv4.c
> @@ -2748,7 +2748,7 @@ static void get_openreq4(const struct request_sock *req,
> long delta = req->rsk_timer.expires - jiffies;
>
> 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,
> ireq->ir_loc_addr,
> ireq->ir_num,
> @@ -2763,8 +2763,7 @@ static void get_openreq4(const struct request_sock *req,
> sk_uid(req->rsk_listener)),
> 0, /* non standard timer */
> 0, /* open_requests have no inode */
> - 0,
> - req);
> + 0);
> }
>
> 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);
>
> 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,
> READ_ONCE(tp->write_seq) - tp->snd_una,
> 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)),
> READ_ONCE(icsk->icsk_probes_out),
> 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_ack.ato),
> (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);
>
> 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,
> 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
> diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
> index af96032174441..a01db598c00bf 100644
> --- a/net/ipv4/udp.c
> +++ b/net/ipv4/udp.c
> @@ -3283,15 +3283,14 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
> __u16 srcp = ntohs(inet->inet_sport);
>
> 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,
> sk_wmem_alloc_get(sp),
> udp_rqueue_get(sp),
> 0, 0L, 0,
> from_kuid_munged(seq_user_ns(f), sk_uid(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 udp4_seq_show(struct seq_file *seq, void *v)
> diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c
> index 38d7b48452817..191c9733ff9fa 100644
> --- a/net/ipv6/datagram.c
> +++ b/net/ipv6/datagram.c
> @@ -1102,7 +1102,7 @@ void __ip6_dgram_sock_seq_show(struct seq_file *seq, struct sock *sp,
> src = &sp->sk_v6_rcv_saddr;
> seq_printf(seq,
> "%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,
> src->s6_addr32[0], src->s6_addr32[1],
> 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)),
> 0,
> sock_i_ino(sp),
> - refcount_read(&sp->sk_refcnt), sp,
> - sk_drops_read(sp));
> + refcount_read(&sp->sk_refcnt), sk_drops_read(sp));
> }
> diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
> index 9e9155b1b3aa7..87dbdc9086045 100644
> --- a/net/ipv6/tcp_ipv6.c
> +++ b/net/ipv6/tcp_ipv6.c
> @@ -2103,7 +2103,7 @@ static void get_openreq6(struct seq_file *seq,
>
> seq_printf(seq,
> "%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,
> src->s6_addr32[0], src->s6_addr32[1],
> 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)),
> 0, /* non standard timer */
> 0, /* open_requests have no inode */
> - 0, req);
> + 0);
> }
>
> 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,
> "%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,
> src->s6_addr32[0], src->s6_addr32[1],
> 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)),
> READ_ONCE(icsk->icsk_probes_out),
> 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_ack.ato),
> (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,
> "%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,
> src->s6_addr32[0], src->s6_addr32[1],
> 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,
> READ_ONCE(tw->tw_substate), 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)
> diff --git a/net/key/af_key.c b/net/key/af_key.c
> index 1d8965d7f4f3c..d215b33b7492c 100644
> --- a/net/key/af_key.c
> +++ b/net/key/af_key.c
> @@ -3803,10 +3803,9 @@ static int pfkey_seq_show(struct seq_file *f, void *v)
> struct sock *s = sk_entry(v);
>
> 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
> - seq_printf(f, "%pK %-6d %-6u %-6u %-6u %-6llu\n",
> - s,
> + seq_printf(f, "0 %-6d %-6u %-6u %-6u %-6llu\n",
> refcount_read(&s->sk_refcnt),
> sk_rmem_alloc_get(s),
> sk_wmem_alloc_get(s),
> diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
> index e6b1d9758c9c9..537562aacb7ef 100644
> --- a/net/netlink/af_netlink.c
> +++ b/net/netlink/af_netlink.c
> @@ -2700,14 +2700,13 @@ static int netlink_native_seq_show(struct seq_file *seq, void *v)
> {
> if (v == SEQ_START_TOKEN) {
> seq_puts(seq,
> - "sk Eth Pid Groups "
> + "sk Eth Pid Groups "
> "Rmem Wmem Dump Locks Drops Inode\n");
> } else {
> struct sock *s = v;
> struct netlink_sock *nlk = nlk_sk(s);
>
> - seq_printf(seq, "%pK %-3d %-10u %08x %-8d %-8d %-5d %-8d %-8u %-8llu\n",
> - s,
> + seq_printf(seq, "0 %-3d %-10u %08x %-8d %-8d %-5d %-8d %-8u %-8llu\n",
> s->sk_protocol,
> nlk->portid,
> nlk->groups ? (u32)nlk->groups[0] : 0,
> diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
> index 435756877abaa..9ebf1605fec1a 100644
> --- a/net/packet/af_packet.c
> +++ b/net/packet/af_packet.c
> @@ -4744,16 +4744,13 @@ static void packet_seq_stop(struct seq_file *seq, void *v)
> static int packet_seq_show(struct seq_file *seq, void *v)
> {
> if (v == SEQ_START_TOKEN)
> - seq_printf(seq,
> - "%*sRefCnt Type Proto Iface R Rmem User Inode\n",
> - IS_ENABLED(CONFIG_64BIT) ? -17 : -9, "sk");
> + seq_puts(seq, "sk RefCnt Type Proto Iface R Rmem User Inode\n");
> else {
> struct sock *s = sk_entry(v);
> const struct packet_sock *po = pkt_sk(s);
>
> seq_printf(seq,
> - "%pK %-6d %-4d %04x %-5d %1d %-6u %-6u %-6llu\n",
> - s,
> + "0 %-6d %-4d %04x %-5d %1d %-6u %-6u %-6llu\n",
> refcount_read(&s->sk_refcnt),
> s->sk_type,
> ntohs(READ_ONCE(po->num)),
> diff --git a/net/phonet/socket.c b/net/phonet/socket.c
> index 631a99cdbd006..ad12b746d4fca 100644
> --- a/net/phonet/socket.c
> +++ b/net/phonet/socket.c
> @@ -586,14 +586,13 @@ static int pn_sock_seq_show(struct seq_file *seq, void *v)
> struct pn_sock *pn = pn_sk(sk);
>
> 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,
> pn->resource, sk->sk_state,
> sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk),
> from_kuid_munged(seq_user_ns(seq), sk_uid(sk)),
> sock_i_ino(sk),
> - refcount_read(&sk->sk_refcnt), sk,
> - sk_drops_read(sk));
> + refcount_read(&sk->sk_refcnt), sk_drops_read(sk));
> }
> seq_pad(seq, '\n');
> return 0;
> diff --git a/net/sctp/proc.c b/net/sctp/proc.c
> index 43433d7e2acd7..7ea123b90aa59 100644
> --- a/net/sctp/proc.c
> +++ b/net/sctp/proc.c
> @@ -174,7 +174,7 @@ static int sctp_eps_seq_show(struct seq_file *seq, void *v)
> sk = ep->base.sk;
> if (!net_eq(sock_net(sk), seq_file_net(seq)))
> 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,
> ep->base.bind_addr.port,
> 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;
>
> seq_printf(seq,
> - "%8pK %8pK %-3d %-3d %-2d %-4d "
> + "%8d %8d %-3d %-3d %-2d %-4d "
> "%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->assoc_id,
> assoc->sndbuf_used,
> diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
> index 10ed9421e43aa..8f32bafd36c86 100644
> --- a/net/unix/af_unix.c
> +++ b/net/unix/af_unix.c
> @@ -3555,8 +3555,7 @@ static int unix_seq_show(struct seq_file *seq, void *v)
> struct unix_sock *u = unix_sk(s);
> unix_state_lock(s);
>
> - seq_printf(seq, "%pK: %08X %08X %08X %04X %02X %5llu",
> - s,
> + seq_printf(seq, "%08u: %08X %08X %08X %04X %02X %5llu", 0,
> refcount_read(&s->sk_refcnt),
> 0,
> s->sk_state == TCP_LISTEN ? __SO_ACCEPTCON : 0,
next prev parent reply other threads:[~2026-09-01 15:52 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-01 15:37 [PATCH net-next v4] net: Replace %pK output with 0 Sebastian Andrzej Siewior
2026-09-01 15:51 ` Oliver Hartkopp [this message]
2026-09-01 16:01 ` Sebastian Andrzej Siewior
2026-09-01 16:03 ` [PATCH net-next real " Sebastian Andrzej Siewior
2026-09-02 22:10 ` [net-next,real,v4] " netdev-bot+sashiko
2026-09-03 2:00 ` [PATCH net-next real v4] " patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e18a5a0-33c7-482b-9edc-972de9954453@hartkopp.net \
--to=socketcan@hartkopp.net \
--cc=bigeasy@linutronix.de \
--cc=courmisch@gmail.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=horms@kernel.org \
--cc=kees@kernel.org \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=linux-atm-general@lists.sourceforge.net \
--cc=linux-can@vger.kernel.org \
--cc=linux-sctp@vger.kernel.org \
--cc=lucien.xin@gmail.com \
--cc=marcelo.leitner@gmail.com \
--cc=mkl@pengutronix.de \
--cc=ncardwell@google.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pmladek@suse.com \
--cc=steffen.klassert@secunet.com \
--cc=thomas.weissschuh@linutronix.de \
--cc=willemdebruijn.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox