Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'net-don-t-use-pk-through-printk-or-tracepoints'

Thomas Weißschuh says:

====================
net: Don't use %pK through printk or tracepoints

In the past %pK was preferable to %p as it would not leak raw pointer
values into the kernel log.
Since commit ad67b74d2469 ("printk: hash addresses printed with %p")
the regular %p has been improved to avoid this issue.
Furthermore, restricted pointers ("%pK") were never meant to be used
through printk(). They can still unintentionally leak raw pointers or
acquire sleeping locks in atomic contexts.

Switch to the regular pointer formatting which is safer and
easier to reason about.
There are still a few users of %pK left, but these use it through seq_file,
for which its usage is safe.
====================

Link: https://patch.msgid.link/20250811-restricted-pointers-net-v5-0-2e2fdc7d3f2c@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+7 -7
+1 -1
drivers/net/ethernet/intel/ice/ice_main.c
··· 9117 9117 list_add_tail(&ch->list, &vsi->ch_list); 9118 9118 vsi->tc_map_vsi[i] = ch->ch_vsi; 9119 9119 dev_dbg(ice_pf_to_dev(pf), 9120 - "successfully created channel: VSI %pK\n", ch->ch_vsi); 9120 + "successfully created channel: VSI %p\n", ch->ch_vsi); 9121 9121 } 9122 9122 return 0; 9123 9123
+5 -5
drivers/net/ethernet/intel/ice/ice_trace.h
··· 130 130 __entry->buf = buf; 131 131 __assign_str(devname);), 132 132 133 - TP_printk("netdev: %s ring: %pK desc: %pK buf %pK", __get_str(devname), 133 + TP_printk("netdev: %s ring: %p desc: %p buf %p", __get_str(devname), 134 134 __entry->ring, __entry->desc, __entry->buf) 135 135 ); 136 136 ··· 158 158 __entry->desc = desc; 159 159 __assign_str(devname);), 160 160 161 - TP_printk("netdev: %s ring: %pK desc: %pK", __get_str(devname), 161 + TP_printk("netdev: %s ring: %p desc: %p", __get_str(devname), 162 162 __entry->ring, __entry->desc) 163 163 ); 164 164 DEFINE_EVENT(ice_rx_template, ice_clean_rx_irq, ··· 182 182 __entry->skb = skb; 183 183 __assign_str(devname);), 184 184 185 - TP_printk("netdev: %s ring: %pK desc: %pK skb %pK", __get_str(devname), 185 + TP_printk("netdev: %s ring: %p desc: %p skb %p", __get_str(devname), 186 186 __entry->ring, __entry->desc, __entry->skb) 187 187 ); 188 188 ··· 205 205 __entry->skb = skb; 206 206 __assign_str(devname);), 207 207 208 - TP_printk("netdev: %s skb: %pK ring: %pK", __get_str(devname), 208 + TP_printk("netdev: %s skb: %p ring: %p", __get_str(devname), 209 209 __entry->skb, __entry->ring) 210 210 ); 211 211 ··· 228 228 TP_fast_assign(__entry->skb = skb; 229 229 __entry->idx = idx;), 230 230 231 - TP_printk("skb %pK idx %d", 231 + TP_printk("skb %p idx %d", 232 232 __entry->skb, __entry->idx) 233 233 ); 234 234 #define DEFINE_TX_TSTAMP_OP_EVENT(name) \
+1 -1
drivers/net/ethernet/mellanox/mlx5/core/sf/dev/diag/dev_tracepoint.h
··· 28 28 __entry->hw_fn_id = sfdev->fn_id; 29 29 __entry->sfnum = sfdev->sfnum; 30 30 ), 31 - TP_printk("(%s) sfdev=%pK aux_id=%d hw_id=0x%x sfnum=%u\n", 31 + TP_printk("(%s) sfdev=%p aux_id=%d hw_id=0x%x sfnum=%u\n", 32 32 __get_str(devname), __entry->sfdev, 33 33 __entry->aux_id, __entry->hw_fn_id, 34 34 __entry->sfnum)