diff mbox series

[net-next,6/7] ice: Don't use %pK through printk or tracepoints

Message ID 20250414-restricted-pointers-net-v1-6-12af0ce46cdd@linutronix.de (mailing list archive)
State New
Delegated to: Johannes Berg
Headers show
Series net: Don't use %pK through printk | expand

Checks

Context Check Description
wifibot/fixes_present success Fixes tag not required for -next series
wifibot/series_format success Posting correctly formatted
wifibot/tree_selection success Guessed tree name to be wireless-next
wifibot/ynl success Generated files up to date; no warnings/errors; no diff in generated;
wifibot/build_32bit success Errors and warnings before: 1 this patch: 1
wifibot/build_allmodconfig_warn success Errors and warnings before: 3 this patch: 3
wifibot/build_clang success Errors and warnings before: 2 this patch: 2
wifibot/build_clang_rust success No Rust files in patch. Skipping build
wifibot/build_tools success No tools touched, skip
wifibot/check_selftest success No net selftest shell script
wifibot/checkpatch warning WARNING: line length of 81 exceeds 80 columns WARNING: line length of 88 exceeds 80 columns
wifibot/deprecated_api success None detected
wifibot/header_inline success No static functions without inline keyword in header files
wifibot/kdoc success Errors and warnings before: 115 this patch: 115
wifibot/source_inline success Was 0 now: 0
wifibot/verify_fixes success No Fixes tag
wifibot/verify_signedoff success Signed-off-by tag matches author and committer

Commit Message

Thomas Weißschuh April 14, 2025, 8:26 a.m. UTC
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 looks 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.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 drivers/net/ethernet/intel/ice/ice_main.c  |  2 +-
 drivers/net/ethernet/intel/ice/ice_trace.h | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

Comments

Loktionov, Aleksandr April 14, 2025, 4:18 p.m. UTC | #1
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Thomas Weißschuh
> Sent: Monday, April 14, 2025 10:26 AM
> To: Jeff Johnson <jjohnson@kernel.org>; Loic Poulain
> <loic.poulain@linaro.org>; Brian Norris <briannorris@chromium.org>;
> Francesco Dolcini <francesco@dolcini.it>; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>; Andrew Lunn <andrew+netdev@lunn.ch>;
> David S. Miller <davem@davemloft.net>; Dumazet, Eric
> <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni
> <pabeni@redhat.com>; Saeed Mahameed <saeedm@nvidia.com>; Leon
> Romanovsky <leon@kernel.org>; Tariq Toukan <tariqt@nvidia.com>
> Cc: ath10k@lists.infradead.org; linux-kernel@vger.kernel.org;
> ath11k@lists.infradead.org; ath12k@lists.infradead.org;
> wcn36xx@lists.infradead.org; linux-wireless@vger.kernel.org; intel-wired-
> lan@lists.osuosl.org; netdev@vger.kernel.org; linux-rdma@vger.kernel.org;
> Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Subject: [Intel-wired-lan] [PATCH net-next 6/7] ice: 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 looks 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.
> 
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_main.c  |  2 +-
> drivers/net/ethernet/intel/ice/ice_trace.h | 10 +++++-----
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c
> b/drivers/net/ethernet/intel/ice/ice_main.c
> index
> d390157b59fe1873ddab78323cdc0bbaea6ad0c5..d27e8816a48fef5014148
> cae27e52c1801eaaada 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -9118,7 +9118,7 @@ static int ice_create_q_channels(struct ice_vsi *vsi)
>  		list_add_tail(&ch->list, &vsi->ch_list);
>  		vsi->tc_map_vsi[i] = ch->ch_vsi;
>  		dev_dbg(ice_pf_to_dev(pf),
> -			"successfully created channel: VSI %pK\n", ch-
> >ch_vsi);
> +			"successfully created channel: VSI %p\n", ch->ch_vsi);
>  	}
>  	return 0;
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_trace.h
> b/drivers/net/ethernet/intel/ice/ice_trace.h
> index
> 07aab6e130cd553fa1fcaa2feac9d14f0433239a..4f35ef8d6b299b4acd6c859
> 92c2c93b164a88372 100644
> --- a/drivers/net/ethernet/intel/ice/ice_trace.h
> +++ b/drivers/net/ethernet/intel/ice/ice_trace.h
> @@ -130,7 +130,7 @@ DECLARE_EVENT_CLASS(ice_tx_template,
>  				   __entry->buf = buf;
>  				   __assign_str(devname);),
> 
> -		    TP_printk("netdev: %s ring: %pK desc: %pK buf %pK",
> __get_str(devname),
> +		    TP_printk("netdev: %s ring: %p desc: %p buf %p",
> +__get_str(devname),
>  			      __entry->ring, __entry->desc, __entry->buf)  );
> 
> @@ -158,7 +158,7 @@ DECLARE_EVENT_CLASS(ice_rx_template,
>  				   __entry->desc = desc;
>  				   __assign_str(devname);),
> 
> -		    TP_printk("netdev: %s ring: %pK desc: %pK",
> __get_str(devname),
> +		    TP_printk("netdev: %s ring: %p desc: %p",
> __get_str(devname),
>  			      __entry->ring, __entry->desc)
>  );
>  DEFINE_EVENT(ice_rx_template, ice_clean_rx_irq, @@ -182,7 +182,7 @@
> DECLARE_EVENT_CLASS(ice_rx_indicate_template,
>  				   __entry->skb = skb;
>  				   __assign_str(devname);),
> 
> -		    TP_printk("netdev: %s ring: %pK desc: %pK skb %pK",
> __get_str(devname),
> +		    TP_printk("netdev: %s ring: %p desc: %p skb %p",
> +__get_str(devname),
>  			      __entry->ring, __entry->desc, __entry->skb)  );
> 
> @@ -205,7 +205,7 @@ DECLARE_EVENT_CLASS(ice_xmit_template,
>  				   __entry->skb = skb;
>  				   __assign_str(devname);),
> 
> -		    TP_printk("netdev: %s skb: %pK ring: %pK",
> __get_str(devname),
> +		    TP_printk("netdev: %s skb: %p ring: %p",
> __get_str(devname),
>  			      __entry->skb, __entry->ring)
>  );
> 
> @@ -228,7 +228,7 @@ DECLARE_EVENT_CLASS(ice_tx_tstamp_template,
>  		    TP_fast_assign(__entry->skb = skb;
>  				   __entry->idx = idx;),
> 
> -		    TP_printk("skb %pK idx %d",
> +		    TP_printk("skb %p idx %d",
>  			      __entry->skb, __entry->idx)
>  );
>  #define DEFINE_TX_TSTAMP_OP_EVENT(name) \
> 
> --
> 2.49.0
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index d390157b59fe1873ddab78323cdc0bbaea6ad0c5..d27e8816a48fef5014148cae27e52c1801eaaada 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -9118,7 +9118,7 @@  static int ice_create_q_channels(struct ice_vsi *vsi)
 		list_add_tail(&ch->list, &vsi->ch_list);
 		vsi->tc_map_vsi[i] = ch->ch_vsi;
 		dev_dbg(ice_pf_to_dev(pf),
-			"successfully created channel: VSI %pK\n", ch->ch_vsi);
+			"successfully created channel: VSI %p\n", ch->ch_vsi);
 	}
 	return 0;
 
diff --git a/drivers/net/ethernet/intel/ice/ice_trace.h b/drivers/net/ethernet/intel/ice/ice_trace.h
index 07aab6e130cd553fa1fcaa2feac9d14f0433239a..4f35ef8d6b299b4acd6c85992c2c93b164a88372 100644
--- a/drivers/net/ethernet/intel/ice/ice_trace.h
+++ b/drivers/net/ethernet/intel/ice/ice_trace.h
@@ -130,7 +130,7 @@  DECLARE_EVENT_CLASS(ice_tx_template,
 				   __entry->buf = buf;
 				   __assign_str(devname);),
 
-		    TP_printk("netdev: %s ring: %pK desc: %pK buf %pK", __get_str(devname),
+		    TP_printk("netdev: %s ring: %p desc: %p buf %p", __get_str(devname),
 			      __entry->ring, __entry->desc, __entry->buf)
 );
 
@@ -158,7 +158,7 @@  DECLARE_EVENT_CLASS(ice_rx_template,
 				   __entry->desc = desc;
 				   __assign_str(devname);),
 
-		    TP_printk("netdev: %s ring: %pK desc: %pK", __get_str(devname),
+		    TP_printk("netdev: %s ring: %p desc: %p", __get_str(devname),
 			      __entry->ring, __entry->desc)
 );
 DEFINE_EVENT(ice_rx_template, ice_clean_rx_irq,
@@ -182,7 +182,7 @@  DECLARE_EVENT_CLASS(ice_rx_indicate_template,
 				   __entry->skb = skb;
 				   __assign_str(devname);),
 
-		    TP_printk("netdev: %s ring: %pK desc: %pK skb %pK", __get_str(devname),
+		    TP_printk("netdev: %s ring: %p desc: %p skb %p", __get_str(devname),
 			      __entry->ring, __entry->desc, __entry->skb)
 );
 
@@ -205,7 +205,7 @@  DECLARE_EVENT_CLASS(ice_xmit_template,
 				   __entry->skb = skb;
 				   __assign_str(devname);),
 
-		    TP_printk("netdev: %s skb: %pK ring: %pK", __get_str(devname),
+		    TP_printk("netdev: %s skb: %p ring: %p", __get_str(devname),
 			      __entry->skb, __entry->ring)
 );
 
@@ -228,7 +228,7 @@  DECLARE_EVENT_CLASS(ice_tx_tstamp_template,
 		    TP_fast_assign(__entry->skb = skb;
 				   __entry->idx = idx;),
 
-		    TP_printk("skb %pK idx %d",
+		    TP_printk("skb %p idx %d",
 			      __entry->skb, __entry->idx)
 );
 #define DEFINE_TX_TSTAMP_OP_EVENT(name) \