On Fri Sep 11, 2026 at 2:50 PM UTC, Sebastian Andrzej Siewior wrote: > Networking used to print the socket pointer with %p as output in the > /proc interface. This was later changed to %pK in order not to reveal > the actual pointer value. The output format has then been copied to bpf > tests which produce the same format including the %pK format modifier. > > Networking recently replaced the socket output with a plain 0 because > the socket pointer added no value to the output and the %pK should be > removed fom library handling. The format remained otherwise unchanged in > order not to break any tools which are parsing this information. > > This change removes the %pK modifier from bpf, following the change in > networking. > > Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Reviewed-by: Emil Tsalapatis <[email protected]> The bots are being overly picky bere, the tests pass fine and these are selftests anyway. > --- > > The networking change is in net-next as commit 7c0ec6288b497 ("net: > Replace %pK output with 0") > > tools/testing/selftests/bpf/README.rst | 2 +- > tools/testing/selftests/bpf/prog_tests/snprintf.c | 2 +- > tools/testing/selftests/bpf/progs/bpf_iter_netlink.c | 4 ++-- > tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c | 11 +++++------ > tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c | 11 +++++------ > tools/testing/selftests/bpf/progs/bpf_iter_udp4.c | 4 ++-- > tools/testing/selftests/bpf/progs/bpf_iter_udp6.c | 4 ++-- > tools/testing/selftests/bpf/progs/bpf_iter_unix.c | 3 +-- > tools/testing/selftests/bpf/progs/test_snprintf.c | 4 ++-- > 9 files changed, 21 insertions(+), 24 deletions(-) > > diff --git a/tools/testing/selftests/bpf/README.rst > b/tools/testing/selftests/bpf/README.rst > index 07c834433b388..75ff1142c1857 100644 > --- a/tools/testing/selftests/bpf/README.rst > +++ b/tools/testing/selftests/bpf/README.rst > @@ -187,7 +187,7 @@ The symptom for ``bpf_iter/netlink`` looks like > ... > 15: (bf) r2 = r7 > 16: (0f) r2 += r1 > - ; BPF_SEQ_PRINTF(seq, "%pK %-3d ", s, s->sk_protocol); > + ; BPF_SEQ_PRINTF(seq, "%p %-3d ", s, s->sk_protocol); > 17: (7b) *(u64 *)(r7 +0) = r2 > only read is supported > > diff --git a/tools/testing/selftests/bpf/prog_tests/snprintf.c > b/tools/testing/selftests/bpf/prog_tests/snprintf.c > index 4e4a82d54f799..f2cd442c4683c 100644 > --- a/tools/testing/selftests/bpf/prog_tests/snprintf.c > +++ b/tools/testing/selftests/bpf/prog_tests/snprintf.c > @@ -16,7 +16,7 @@ > #define MIN_SYM_RET sizeof(EXP_SYM_OUT) > > /* The third specifier, %p, is a hashed pointer which changes on every > reboot */ > -#define EXP_ADDR_OUT "0000000000000000 ffff00000add4e55 " > +#define EXP_ADDR_OUT "ffff00000add4e55 " > #define EXP_ADDR_RET sizeof(EXP_ADDR_OUT "unknownhashedptr") > > #define EXP_STR_OUT "str1 a b c d e longstr" > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c > b/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c > index 00b2ceae81fb0..b9107d3ab6039 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c > @@ -25,12 +25,12 @@ int dump_netlink(struct bpf_iter__netlink *ctx) > return 0; > > if (ctx->meta->seq_num == 0) > - BPF_SEQ_PRINTF(seq, "sk Eth Pid Groups " > + BPF_SEQ_PRINTF(seq, "sk Eth Pid Groups " > "Rmem Wmem Dump Locks Drops " > "Inode\n"); > > s = &nlk->sk; > - BPF_SEQ_PRINTF(seq, "%pK %-3d ", s, s->sk_protocol); > + BPF_SEQ_PRINTF(seq, "0 %-3d ", s->sk_protocol); > > if (!nlk->groups) { > group = 0; > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c > b/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c > index b1e509b231cd9..d149cf0d07be6 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c > @@ -131,8 +131,7 @@ static int dump_tcp_sock(struct seq_file *seq, struct > tcp_sock *tp, > icsk->icsk_probes_out, > sock_i_ino(sp), > sp->sk_refcnt.refs.counter); > - BPF_SEQ_PRINTF(seq, "%pK %lu %lu %u %u %d\n", > - tp, > + BPF_SEQ_PRINTF(seq, "0 %lu %lu %u %u %d\n", > 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(icsk), > @@ -161,10 +160,10 @@ static int dump_tw_sock(struct seq_file *seq, struct > tcp_timewait_sock *ttw, > BPF_SEQ_PRINTF(seq, "%4d: %08X:%04X %08X:%04X ", > seq_num, src, srcp, dest, destp); > > - BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d > %pK\n", > + BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n", > tw->tw_substate, 0, 0, > 3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0, > - tw->tw_refcnt.refs.counter, tw); > + tw->tw_refcnt.refs.counter); > > return 0; > } > @@ -185,9 +184,9 @@ static int dump_req_sock(struct seq_file *seq, struct > tcp_request_sock *treq, > seq_num, irsk->ir_loc_addr, > irsk->ir_num, irsk->ir_rmt_addr, > bpf_ntohs(irsk->ir_rmt_port)); > - BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d > %pK\n", > + BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n", > TCP_SYN_RECV, 0, 0, 1, jiffies_to_clock_t(ttd), > - req->num_timeout, uid, 0, 0, 0, req); > + req->num_timeout, uid, 0, 0, 0); > > return 0; > } > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c > b/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c > index dbc7166aee91f..cd65fa81f1219 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c > @@ -135,8 +135,7 @@ static int dump_tcp6_sock(struct seq_file *seq, struct > tcp6_sock *tp, > icsk->icsk_probes_out, > sock_i_ino(sp), > sp->sk_refcnt.refs.counter); > - BPF_SEQ_PRINTF(seq, "%pK %lu %lu %u %u %d\n", > - tp, > + BPF_SEQ_PRINTF(seq, "0 %lu %lu %u %u %d\n", > 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(icsk), > @@ -170,10 +169,10 @@ static int dump_tw_sock(struct seq_file *seq, struct > tcp_timewait_sock *ttw, > dest->s6_addr32[0], dest->s6_addr32[1], > dest->s6_addr32[2], dest->s6_addr32[3], destp); > > - BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d > %pK\n", > + BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n", > tw->tw_substate, 0, 0, > 3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0, > - tw->tw_refcnt.refs.counter, tw); > + tw->tw_refcnt.refs.counter); > > return 0; > } > @@ -201,9 +200,9 @@ static int dump_req_sock(struct seq_file *seq, struct > tcp_request_sock *treq, > dest->s6_addr32[0], dest->s6_addr32[1], > dest->s6_addr32[2], dest->s6_addr32[3], > bpf_ntohs(irsk->ir_rmt_port)); > - BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d > %pK\n", > + BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n", > TCP_SYN_RECV, 0, 0, 1, jiffies_to_clock_t(ttd), > - req->num_timeout, uid, 0, 0, 0, req); > + req->num_timeout, uid, 0, 0, 0); > > return 0; > } > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c > b/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c > index 23b2aa2604de2..9b789f09f1462 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c > @@ -57,13 +57,13 @@ int dump_udp4(struct bpf_iter__udp *ctx) > BPF_SEQ_PRINTF(seq, "%5d: %08X:%04X %08X:%04X ", > ctx->bucket, src, srcp, dest, destp); > > - BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK > %u\n", > + BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %8d > %u\n", > inet->sk.sk_state, > inet->sk.sk_wmem_alloc.refs.counter - 1, > rqueue, > 0, 0L, 0, ctx->uid, 0, > sock_i_ino(&inet->sk), > - inet->sk.sk_refcnt.refs.counter, udp_sk, > + inet->sk.sk_refcnt.refs.counter, 0, > udp_sk->drop_counters.drops0.counter + > udp_sk->drop_counters.drops1.counter); > > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c > b/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c > index c48b05aa2a4b2..9766eff7069ff 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c > @@ -65,13 +65,13 @@ int dump_udp6(struct bpf_iter__udp *ctx) > dest->s6_addr32[0], dest->s6_addr32[1], > dest->s6_addr32[2], dest->s6_addr32[3], destp); > > - BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK > %u\n", > + BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %8d > %u\n", > inet->sk.sk_state, > inet->sk.sk_wmem_alloc.refs.counter - 1, > rqueue, > 0, 0L, 0, ctx->uid, 0, > sock_i_ino(&inet->sk), > - inet->sk.sk_refcnt.refs.counter, udp_sk, > + inet->sk.sk_refcnt.refs.counter, 0, > udp_sk->drop_counters.drops0.counter + > udp_sk->drop_counters.drops1.counter); > return 0; > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_unix.c > b/tools/testing/selftests/bpf/progs/bpf_iter_unix.c > index a2652c8c3616f..36690478992f8 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_unix.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_unix.c > @@ -44,8 +44,7 @@ int dump_unix(struct bpf_iter__unix *ctx) > if (seq_num == 0) > BPF_SEQ_PRINTF(seq, "Num RefCount Protocol Flags > Type St Inode Path\n"); > > - BPF_SEQ_PRINTF(seq, "%pK: %08X %08X %08X %04X %02X %8lu", > - unix_sk, > + BPF_SEQ_PRINTF(seq, "%08u: %08X %08X %08X %04X %02X %8lu", 0, > sk->sk_refcnt.refs.counter, > 0, > sk->sk_state == TCP_LISTEN ? __SO_ACCEPTCON : 0, > diff --git a/tools/testing/selftests/bpf/progs/test_snprintf.c > b/tools/testing/selftests/bpf/progs/test_snprintf.c > index 8fda075440235..48a0025cf2ca8 100644 > --- a/tools/testing/selftests/bpf/progs/test_snprintf.c > +++ b/tools/testing/selftests/bpf/progs/test_snprintf.c > @@ -57,8 +57,8 @@ int handler(const void *ctx) > sym_ret = BPF_SNPRINTF(sym_out, sizeof(sym_out), "%ps %pS %pB", > &schedule, &schedule, &schedule); > /* Kernel pointers */ > - addr_ret = BPF_SNPRINTF(addr_out, sizeof(addr_out), "%pK %px %p", > - 0, 0xFFFF00000ADD4E55, 0xFFFF00000ADD4E55); > + addr_ret = BPF_SNPRINTF(addr_out, sizeof(addr_out), "%px %p", > + 0xFFFF00000ADD4E55, 0xFFFF00000ADD4E55); > /* Strings and single-byte character embedding */ > str_ret = BPF_SNPRINTF(str_out, sizeof(str_out), "%s % 9c %+2c %-3c > %04c %0c %+05s", > str1, 'a', 'b', 'c', 'd', 'e', longstr);
