All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/22] mm/memblock.c: %pF is only for function pointers
@ 2015-03-12  3:13 ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-mm

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-mm@kvack.org
---
 mm/memblock.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/mm/memblock.c b/mm/memblock.c
index 252b77b..a7d4ff3 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -685,7 +685,7 @@ int __init_memblock memblock_remove(phys_addr_t base, phys_addr_t size)
 
 int __init_memblock memblock_free(phys_addr_t base, phys_addr_t size)
 {
-	memblock_dbg("   memblock_free: [%#016llx-%#016llx] %pF\n",
+	memblock_dbg("   memblock_free: [%#016llx-%#016llx] %pS\n",
 		     (unsigned long long)base,
 		     (unsigned long long)base + size - 1,
 		     (void *)_RET_IP_);
@@ -701,7 +701,7 @@ static int __init_memblock memblock_reserve_region(phys_addr_t base,
 {
 	struct memblock_type *_rgn = &memblock.reserved;
 
-	memblock_dbg("memblock_reserve: [%#016llx-%#016llx] flags %#02lx %pF\n",
+	memblock_dbg("memblock_reserve: [%#016llx-%#016llx] flags %#02lx %pS\n",
 		     (unsigned long long)base,
 		     (unsigned long long)base + size - 1,
 		     flags, (void *)_RET_IP_);
@@ -1218,7 +1218,7 @@ void * __init memblock_virt_alloc_try_nid_nopanic(
 				phys_addr_t min_addr, phys_addr_t max_addr,
 				int nid)
 {
-	memblock_dbg("%s: %llu bytes align=0x%llx nid=%d from=0x%llx max_addr=0x%llx %pF\n",
+	memblock_dbg("%s: %llu bytes align=0x%llx nid=%d from=0x%llx max_addr=0x%llx %pS\n",
 		     __func__, (u64)size, (u64)align, nid, (u64)min_addr,
 		     (u64)max_addr, (void *)_RET_IP_);
 	return memblock_virt_alloc_internal(size, align, min_addr,
@@ -1250,7 +1250,7 @@ void * __init memblock_virt_alloc_try_nid(
 {
 	void *ptr;
 
-	memblock_dbg("%s: %llu bytes align=0x%llx nid=%d from=0x%llx max_addr=0x%llx %pF\n",
+	memblock_dbg("%s: %llu bytes align=0x%llx nid=%d from=0x%llx max_addr=0x%llx %pS\n",
 		     __func__, (u64)size, (u64)align, nid, (u64)min_addr,
 		     (u64)max_addr, (void *)_RET_IP_);
 	ptr = memblock_virt_alloc_internal(size, align,
@@ -1274,7 +1274,7 @@ void * __init memblock_virt_alloc_try_nid(
  */
 void __init __memblock_free_early(phys_addr_t base, phys_addr_t size)
 {
-	memblock_dbg("%s: [%#016llx-%#016llx] %pF\n",
+	memblock_dbg("%s: [%#016llx-%#016llx] %pS\n",
 		     __func__, (u64)base, (u64)base + size - 1,
 		     (void *)_RET_IP_);
 	kmemleak_free_part(__va(base), size);
@@ -1294,7 +1294,7 @@ void __init __memblock_free_late(phys_addr_t base, phys_addr_t size)
 {
 	u64 cursor, end;
 
-	memblock_dbg("%s: [%#016llx-%#016llx] %pF\n",
+	memblock_dbg("%s: [%#016llx-%#016llx] %pS\n",
 		     __func__, (u64)base, (u64)base + size - 1,
 		     (void *)_RET_IP_);
 	kmemleak_free_part(__va(base), size);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 01/22] mm/memblock.c: %pF is only for function pointers
@ 2015-03-12  3:13 ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-mm

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-mm@kvack.org
---
 mm/memblock.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/mm/memblock.c b/mm/memblock.c
index 252b77b..a7d4ff3 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -685,7 +685,7 @@ int __init_memblock memblock_remove(phys_addr_t base, phys_addr_t size)
 
 int __init_memblock memblock_free(phys_addr_t base, phys_addr_t size)
 {
-	memblock_dbg("   memblock_free: [%#016llx-%#016llx] %pF\n",
+	memblock_dbg("   memblock_free: [%#016llx-%#016llx] %pS\n",
 		     (unsigned long long)base,
 		     (unsigned long long)base + size - 1,
 		     (void *)_RET_IP_);
@@ -701,7 +701,7 @@ static int __init_memblock memblock_reserve_region(phys_addr_t base,
 {
 	struct memblock_type *_rgn = &memblock.reserved;
 
-	memblock_dbg("memblock_reserve: [%#016llx-%#016llx] flags %#02lx %pF\n",
+	memblock_dbg("memblock_reserve: [%#016llx-%#016llx] flags %#02lx %pS\n",
 		     (unsigned long long)base,
 		     (unsigned long long)base + size - 1,
 		     flags, (void *)_RET_IP_);
@@ -1218,7 +1218,7 @@ void * __init memblock_virt_alloc_try_nid_nopanic(
 				phys_addr_t min_addr, phys_addr_t max_addr,
 				int nid)
 {
-	memblock_dbg("%s: %llu bytes align=0x%llx nid=%d from=0x%llx max_addr=0x%llx %pF\n",
+	memblock_dbg("%s: %llu bytes align=0x%llx nid=%d from=0x%llx max_addr=0x%llx %pS\n",
 		     __func__, (u64)size, (u64)align, nid, (u64)min_addr,
 		     (u64)max_addr, (void *)_RET_IP_);
 	return memblock_virt_alloc_internal(size, align, min_addr,
@@ -1250,7 +1250,7 @@ void * __init memblock_virt_alloc_try_nid(
 {
 	void *ptr;
 
-	memblock_dbg("%s: %llu bytes align=0x%llx nid=%d from=0x%llx max_addr=0x%llx %pF\n",
+	memblock_dbg("%s: %llu bytes align=0x%llx nid=%d from=0x%llx max_addr=0x%llx %pS\n",
 		     __func__, (u64)size, (u64)align, nid, (u64)min_addr,
 		     (u64)max_addr, (void *)_RET_IP_);
 	ptr = memblock_virt_alloc_internal(size, align,
@@ -1274,7 +1274,7 @@ void * __init memblock_virt_alloc_try_nid(
  */
 void __init __memblock_free_early(phys_addr_t base, phys_addr_t size)
 {
-	memblock_dbg("%s: [%#016llx-%#016llx] %pF\n",
+	memblock_dbg("%s: [%#016llx-%#016llx] %pS\n",
 		     __func__, (u64)base, (u64)base + size - 1,
 		     (void *)_RET_IP_);
 	kmemleak_free_part(__va(base), size);
@@ -1294,7 +1294,7 @@ void __init __memblock_free_late(phys_addr_t base, phys_addr_t size)
 {
 	u64 cursor, end;
 
-	memblock_dbg("%s: [%#016llx-%#016llx] %pF\n",
+	memblock_dbg("%s: [%#016llx-%#016llx] %pS\n",
 		     __func__, (u64)base, (u64)base + size - 1,
 		     (void *)_RET_IP_);
 	kmemleak_free_part(__va(base), size);
-- 
2.1.0

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 02/22] netfilter: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, netdev, netfilter-devel, lvs-devel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: netdev@vger.kernel.org
Cc: netfilter-devel@vger.kernel.org
Cc: lvs-devel@vger.kernel.org
---
 net/netfilter/ipvs/ip_vs_conn.c | 2 +-
 net/netfilter/ipvs/ip_vs_ctl.c  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
index b0f7b62..f9f3c3d 100644
--- a/net/netfilter/ipvs/ip_vs_conn.c
+++ b/net/netfilter/ipvs/ip_vs_conn.c
@@ -184,7 +184,7 @@ static inline int ip_vs_conn_hash(struct ip_vs_conn *cp)
 		hlist_add_head_rcu(&cp->c_list, &ip_vs_conn_tab[hash]);
 		ret = 1;
 	} else {
-		pr_err("%s(): request for already hashed, called from %pF\n",
+		pr_err("%s(): request for already hashed, called from %pS\n",
 		       __func__, __builtin_return_address(0));
 		ret = 0;
 	}
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index ed99448..bd1ef52 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/netfilter/ipvs/ip_vs_ctl.c
@@ -300,7 +300,7 @@ static int ip_vs_svc_hash(struct ip_vs_service *svc)
 	unsigned int hash;
 
 	if (svc->flags & IP_VS_SVC_F_HASHED) {
-		pr_err("%s(): request for already hashed, called from %pF\n",
+		pr_err("%s(): request for already hashed, called from %pS\n",
 		       __func__, __builtin_return_address(0));
 		return 0;
 	}
@@ -334,7 +334,7 @@ static int ip_vs_svc_hash(struct ip_vs_service *svc)
 static int ip_vs_svc_unhash(struct ip_vs_service *svc)
 {
 	if (!(svc->flags & IP_VS_SVC_F_HASHED)) {
-		pr_err("%s(): request for unhash flagged, called from %pF\n",
+		pr_err("%s(): request for unhash flagged, called from %pS\n",
 		       __func__, __builtin_return_address(0));
 		return 0;
 	}
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 02/22] netfilter: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, netdev, netfilter-devel, lvs-devel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: netdev@vger.kernel.org
Cc: netfilter-devel@vger.kernel.org
Cc: lvs-devel@vger.kernel.org
---
 net/netfilter/ipvs/ip_vs_conn.c | 2 +-
 net/netfilter/ipvs/ip_vs_ctl.c  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
index b0f7b62..f9f3c3d 100644
--- a/net/netfilter/ipvs/ip_vs_conn.c
+++ b/net/netfilter/ipvs/ip_vs_conn.c
@@ -184,7 +184,7 @@ static inline int ip_vs_conn_hash(struct ip_vs_conn *cp)
 		hlist_add_head_rcu(&cp->c_list, &ip_vs_conn_tab[hash]);
 		ret = 1;
 	} else {
-		pr_err("%s(): request for already hashed, called from %pF\n",
+		pr_err("%s(): request for already hashed, called from %pS\n",
 		       __func__, __builtin_return_address(0));
 		ret = 0;
 	}
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
index ed99448..bd1ef52 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/netfilter/ipvs/ip_vs_ctl.c
@@ -300,7 +300,7 @@ static int ip_vs_svc_hash(struct ip_vs_service *svc)
 	unsigned int hash;
 
 	if (svc->flags & IP_VS_SVC_F_HASHED) {
-		pr_err("%s(): request for already hashed, called from %pF\n",
+		pr_err("%s(): request for already hashed, called from %pS\n",
 		       __func__, __builtin_return_address(0));
 		return 0;
 	}
@@ -334,7 +334,7 @@ static int ip_vs_svc_hash(struct ip_vs_service *svc)
 static int ip_vs_svc_unhash(struct ip_vs_service *svc)
 {
 	if (!(svc->flags & IP_VS_SVC_F_HASHED)) {
-		pr_err("%s(): request for unhash flagged, called from %pF\n",
+		pr_err("%s(): request for unhash flagged, called from %pS\n",
 		       __func__, __builtin_return_address(0));
 		return 0;
 	}
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 03/22] sound: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, alsa-devel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: alsa-devel@alsa-project.org
---
 sound/core/device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/core/device.c b/sound/core/device.c
index 41bec30..4879711 100644
--- a/sound/core/device.c
+++ b/sound/core/device.c
@@ -127,7 +127,7 @@ void snd_device_free(struct snd_card *card, void *device_data)
 	if (dev)
 		__snd_device_free(dev);
 	else
-		dev_dbg(card->dev, "device free %p (from %pF), not found\n",
+		dev_dbg(card->dev, "device free %p (from %pS), not found\n",
 			device_data, __builtin_return_address(0));
 }
 EXPORT_SYMBOL(snd_device_free);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 03/22] sound: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, alsa-devel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: alsa-devel@alsa-project.org
---
 sound/core/device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/core/device.c b/sound/core/device.c
index 41bec30..4879711 100644
--- a/sound/core/device.c
+++ b/sound/core/device.c
@@ -127,7 +127,7 @@ void snd_device_free(struct snd_card *card, void *device_data)
 	if (dev)
 		__snd_device_free(dev);
 	else
-		dev_dbg(card->dev, "device free %p (from %pF), not found\n",
+		dev_dbg(card->dev, "device free %p (from %pS), not found\n",
 			device_data, __builtin_return_address(0));
 }
 EXPORT_SYMBOL(snd_device_free);
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 04/22] md/bcache: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-bcache, Kent Overstreet

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-bcache@vger.kernel.org
Cc: Kent Overstreet <kmo@daterainc.com>
---
 drivers/md/bcache/closure.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
index 7a228de..87abf53 100644
--- a/drivers/md/bcache/closure.c
+++ b/drivers/md/bcache/closure.c
@@ -177,7 +177,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
 	list_for_each_entry(cl, &closure_list, all) {
 		int r = atomic_read(&cl->remaining);
 
-		seq_printf(f, "%p: %pF -> %pf p %p r %i ",
+		seq_printf(f, "%p: %pS -> %pf p %p r %i ",
 			   cl, (void *) cl->ip, cl->fn, cl->parent,
 			   r & CLOSURE_REMAINING_MASK);
 
@@ -189,7 +189,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
 			   r & CLOSURE_SLEEPING	? "Sl" : "");
 
 		if (r & CLOSURE_WAITING)
-			seq_printf(f, " W %pF\n",
+			seq_printf(f, " W %pS\n",
 				   (void *) cl->waiting_on);
 
 		seq_printf(f, "\n");
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 04/22] md/bcache: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-bcache, Kent Overstreet

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-bcache@vger.kernel.org
Cc: Kent Overstreet <kmo@daterainc.com>
---
 drivers/md/bcache/closure.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
index 7a228de..87abf53 100644
--- a/drivers/md/bcache/closure.c
+++ b/drivers/md/bcache/closure.c
@@ -177,7 +177,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
 	list_for_each_entry(cl, &closure_list, all) {
 		int r = atomic_read(&cl->remaining);
 
-		seq_printf(f, "%p: %pF -> %pf p %p r %i ",
+		seq_printf(f, "%p: %pS -> %pf p %p r %i ",
 			   cl, (void *) cl->ip, cl->fn, cl->parent,
 			   r & CLOSURE_REMAINING_MASK);
 
@@ -189,7 +189,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
 			   r & CLOSURE_SLEEPING	? "Sl" : "");
 
 		if (r & CLOSURE_WAITING)
-			seq_printf(f, " W %pF\n",
+			seq_printf(f, " W %pS\n",
 				   (void *) cl->waiting_on);
 
 		seq_printf(f, "\n");
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 05/22] PM / AVS: SmartReflex: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-pm, Kevin Hilman, Nishanth Menon

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-pm@vger.kernel.org
Cc: Kevin Hilman <khilman@kernel.org>
Cc: Nishanth Menon <nm@ti.com>
---
 drivers/power/avs/smartreflex.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c
index db9973b..76d6a12 100644
--- a/drivers/power/avs/smartreflex.c
+++ b/drivers/power/avs/smartreflex.c
@@ -356,7 +356,7 @@ int sr_configure_errgen(struct omap_sr *sr)
 	u8 senp_shift, senn_shift;
 
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return -EINVAL;
 	}
@@ -423,7 +423,7 @@ int sr_disable_errgen(struct omap_sr *sr)
 	u32 vpboundint_en, vpboundint_st;
 
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return -EINVAL;
 	}
@@ -478,7 +478,7 @@ int sr_configure_minmax(struct omap_sr *sr)
 	u8 senp_shift, senn_shift;
 
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return -EINVAL;
 	}
@@ -563,7 +563,7 @@ int sr_enable(struct omap_sr *sr, unsigned long volt)
 	int ret;
 
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return -EINVAL;
 	}
@@ -615,7 +615,7 @@ int sr_enable(struct omap_sr *sr, unsigned long volt)
 void sr_disable(struct omap_sr *sr)
 {
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return;
 	}
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 05/22] PM / AVS: SmartReflex: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-pm, Kevin Hilman, Nishanth Menon

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-pm@vger.kernel.org
Cc: Kevin Hilman <khilman@kernel.org>
Cc: Nishanth Menon <nm@ti.com>
---
 drivers/power/avs/smartreflex.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c
index db9973b..76d6a12 100644
--- a/drivers/power/avs/smartreflex.c
+++ b/drivers/power/avs/smartreflex.c
@@ -356,7 +356,7 @@ int sr_configure_errgen(struct omap_sr *sr)
 	u8 senp_shift, senn_shift;
 
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return -EINVAL;
 	}
@@ -423,7 +423,7 @@ int sr_disable_errgen(struct omap_sr *sr)
 	u32 vpboundint_en, vpboundint_st;
 
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return -EINVAL;
 	}
@@ -478,7 +478,7 @@ int sr_configure_minmax(struct omap_sr *sr)
 	u8 senp_shift, senn_shift;
 
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return -EINVAL;
 	}
@@ -563,7 +563,7 @@ int sr_enable(struct omap_sr *sr, unsigned long volt)
 	int ret;
 
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return -EINVAL;
 	}
@@ -615,7 +615,7 @@ int sr_enable(struct omap_sr *sr, unsigned long volt)
 void sr_disable(struct omap_sr *sr)
 {
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n", __func__,
+		pr_warn("%s: NULL omap_sr from %pS\n", __func__,
 			(void *)_RET_IP_);
 		return;
 	}
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 06/22] random: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (4 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, Theodore Ts'o

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>
---
 drivers/char/random.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/random.c b/drivers/char/random.c
index 9cd6968..9072db1 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -1234,7 +1234,7 @@ void get_random_bytes(void *buf, int nbytes)
 {
 #if DEBUG_RANDOM_BOOT > 0
 	if (unlikely(nonblocking_pool.initialized == 0))
-		printk(KERN_NOTICE "random: %pF get_random_bytes called "
+		printk(KERN_NOTICE "random: %pS get_random_bytes called "
 		       "with %d bits of entropy available\n",
 		       (void *) _RET_IP_,
 		       nonblocking_pool.entropy_total);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 07/22] alpha: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-alpha

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-alpha@vger.kernel.org
---
 arch/alpha/kernel/pci_iommu.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index eddee77..2cd2804 100644
--- a/arch/alpha/kernel/pci_iommu.c
+++ b/arch/alpha/kernel/pci_iommu.c
@@ -236,7 +236,7 @@ static int pci_dac_dma_supported(struct pci_dev *dev, u64 mask)
 		ok = 0;
 
 	/* If both conditions above are met, we are fine. */
-	DBGA("pci_dac_dma_supported %s from %pf\n",
+	DBGA("pci_dac_dma_supported %s from %ps\n",
 	     ok ? "yes" : "no", __builtin_return_address(0));
 
 	return ok;
@@ -268,7 +268,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
 	    && paddr + size <= __direct_map_size) {
 		ret = paddr + __direct_map_base;
 
-		DBGA2("pci_map_single: [%p,%zx] -> direct %llx from %pf\n",
+		DBGA2("pci_map_single: [%p,%zx] -> direct %llx from %ps\n",
 		      cpu_addr, size, ret, __builtin_return_address(0));
 
 		return ret;
@@ -279,7 +279,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
 	if (dac_allowed) {
 		ret = paddr + alpha_mv.pci_dac_offset;
 
-		DBGA2("pci_map_single: [%p,%zx] -> DAC %llx from %pf\n",
+		DBGA2("pci_map_single: [%p,%zx] -> DAC %llx from %ps\n",
 		      cpu_addr, size, ret, __builtin_return_address(0));
 
 		return ret;
@@ -316,7 +316,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
 	ret = arena->dma_base + dma_ofs * PAGE_SIZE;
 	ret += (unsigned long)cpu_addr & ~PAGE_MASK;
 
-	DBGA2("pci_map_single: [%p,%zx] np %ld -> sg %llx from %pf\n",
+	DBGA2("pci_map_single: [%p,%zx] np %ld -> sg %llx from %ps\n",
 	      cpu_addr, size, npages, ret, __builtin_return_address(0));
 
 	return ret;
@@ -383,14 +383,14 @@ static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr,
 	    && dma_addr < __direct_map_base + __direct_map_size) {
 		/* Nothing to do.  */
 
-		DBGA2("pci_unmap_single: direct [%llx,%zx] from %pf\n",
+		DBGA2("pci_unmap_single: direct [%llx,%zx] from %ps\n",
 		      dma_addr, size, __builtin_return_address(0));
 
 		return;
 	}
 
 	if (dma_addr > 0xffffffff) {
-		DBGA2("pci64_unmap_single: DAC [%llx,%zx] from %pf\n",
+		DBGA2("pci64_unmap_single: DAC [%llx,%zx] from %ps\n",
 		      dma_addr, size, __builtin_return_address(0));
 		return;
 	}
@@ -422,7 +422,7 @@ static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr,
 
 	spin_unlock_irqrestore(&arena->lock, flags);
 
-	DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %pf\n",
+	DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %ps\n",
 	      dma_addr, size, npages, __builtin_return_address(0));
 }
 
@@ -445,7 +445,7 @@ try_again:
 	cpu_addr = (void *)__get_free_pages(gfp, order);
 	if (! cpu_addr) {
 		printk(KERN_INFO "pci_alloc_consistent: "
-		       "get_free_pages failed from %pf\n",
+		       "get_free_pages failed from %ps\n",
 			__builtin_return_address(0));
 		/* ??? Really atomic allocation?  Otherwise we could play
 		   with vmalloc and sg if we can't find contiguous memory.  */
@@ -464,7 +464,7 @@ try_again:
 		goto try_again;
 	}
 
-	DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %pf\n",
+	DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %ps\n",
 	      size, cpu_addr, *dma_addrp, __builtin_return_address(0));
 
 	return cpu_addr;
@@ -484,7 +484,7 @@ static void alpha_pci_free_coherent(struct device *dev, size_t size,
 	pci_unmap_single(pdev, dma_addr, size, PCI_DMA_BIDIRECTIONAL);
 	free_pages((unsigned long)cpu_addr, get_order(size));
 
-	DBGA2("pci_free_consistent: [%llx,%zx] from %pf\n",
+	DBGA2("pci_free_consistent: [%llx,%zx] from %ps\n",
 	      dma_addr, size, __builtin_return_address(0));
 }
 
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 07/22] alpha: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-alpha

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-alpha@vger.kernel.org
---
 arch/alpha/kernel/pci_iommu.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index eddee77..2cd2804 100644
--- a/arch/alpha/kernel/pci_iommu.c
+++ b/arch/alpha/kernel/pci_iommu.c
@@ -236,7 +236,7 @@ static int pci_dac_dma_supported(struct pci_dev *dev, u64 mask)
 		ok = 0;
 
 	/* If both conditions above are met, we are fine. */
-	DBGA("pci_dac_dma_supported %s from %pf\n",
+	DBGA("pci_dac_dma_supported %s from %ps\n",
 	     ok ? "yes" : "no", __builtin_return_address(0));
 
 	return ok;
@@ -268,7 +268,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
 	    && paddr + size <= __direct_map_size) {
 		ret = paddr + __direct_map_base;
 
-		DBGA2("pci_map_single: [%p,%zx] -> direct %llx from %pf\n",
+		DBGA2("pci_map_single: [%p,%zx] -> direct %llx from %ps\n",
 		      cpu_addr, size, ret, __builtin_return_address(0));
 
 		return ret;
@@ -279,7 +279,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
 	if (dac_allowed) {
 		ret = paddr + alpha_mv.pci_dac_offset;
 
-		DBGA2("pci_map_single: [%p,%zx] -> DAC %llx from %pf\n",
+		DBGA2("pci_map_single: [%p,%zx] -> DAC %llx from %ps\n",
 		      cpu_addr, size, ret, __builtin_return_address(0));
 
 		return ret;
@@ -316,7 +316,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
 	ret = arena->dma_base + dma_ofs * PAGE_SIZE;
 	ret += (unsigned long)cpu_addr & ~PAGE_MASK;
 
-	DBGA2("pci_map_single: [%p,%zx] np %ld -> sg %llx from %pf\n",
+	DBGA2("pci_map_single: [%p,%zx] np %ld -> sg %llx from %ps\n",
 	      cpu_addr, size, npages, ret, __builtin_return_address(0));
 
 	return ret;
@@ -383,14 +383,14 @@ static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr,
 	    && dma_addr < __direct_map_base + __direct_map_size) {
 		/* Nothing to do.  */
 
-		DBGA2("pci_unmap_single: direct [%llx,%zx] from %pf\n",
+		DBGA2("pci_unmap_single: direct [%llx,%zx] from %ps\n",
 		      dma_addr, size, __builtin_return_address(0));
 
 		return;
 	}
 
 	if (dma_addr > 0xffffffff) {
-		DBGA2("pci64_unmap_single: DAC [%llx,%zx] from %pf\n",
+		DBGA2("pci64_unmap_single: DAC [%llx,%zx] from %ps\n",
 		      dma_addr, size, __builtin_return_address(0));
 		return;
 	}
@@ -422,7 +422,7 @@ static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr,
 
 	spin_unlock_irqrestore(&arena->lock, flags);
 
-	DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %pf\n",
+	DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %ps\n",
 	      dma_addr, size, npages, __builtin_return_address(0));
 }
 
@@ -445,7 +445,7 @@ try_again:
 	cpu_addr = (void *)__get_free_pages(gfp, order);
 	if (! cpu_addr) {
 		printk(KERN_INFO "pci_alloc_consistent: "
-		       "get_free_pages failed from %pf\n",
+		       "get_free_pages failed from %ps\n",
 			__builtin_return_address(0));
 		/* ??? Really atomic allocation?  Otherwise we could play
 		   with vmalloc and sg if we can't find contiguous memory.  */
@@ -464,7 +464,7 @@ try_again:
 		goto try_again;
 	}
 
-	DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %pf\n",
+	DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %ps\n",
 	      size, cpu_addr, *dma_addrp, __builtin_return_address(0));
 
 	return cpu_addr;
@@ -484,7 +484,7 @@ static void alpha_pci_free_coherent(struct device *dev, size_t size,
 	pci_unmap_single(pdev, dma_addr, size, PCI_DMA_BIDIRECTIONAL);
 	free_pages((unsigned long)cpu_addr, get_order(size));
 
-	DBGA2("pci_free_consistent: [%llx,%zx] from %pf\n",
+	DBGA2("pci_free_consistent: [%llx,%zx] from %ps\n",
 	      dma_addr, size, __builtin_return_address(0));
 }
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 08/22] ARM: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-arm-kernel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-arm-kernel@lists.infradead.org
---
 arch/arm/mm/alignment.c   | 2 +-
 arch/arm/nwfpe/fpmodule.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
index 2c0c541..3419550 100644
--- a/arch/arm/mm/alignment.c
+++ b/arch/arm/mm/alignment.c
@@ -132,7 +132,7 @@ static const char *usermode_action[] = {
 static int alignment_proc_show(struct seq_file *m, void *v)
 {
 	seq_printf(m, "User:\t\t%lu\n", ai_user);
-	seq_printf(m, "System:\t\t%lu (%pF)\n", ai_sys, ai_sys_last_pc);
+	seq_printf(m, "System:\t\t%lu (%pS)\n", ai_sys, ai_sys_last_pc);
 	seq_printf(m, "Skipped:\t%lu\n", ai_skipped);
 	seq_printf(m, "Half:\t\t%lu\n", ai_half);
 	seq_printf(m, "Word:\t\t%lu\n", ai_word);
diff --git a/arch/arm/nwfpe/fpmodule.c b/arch/arm/nwfpe/fpmodule.c
index ec717c1..2d2bfe2 100644
--- a/arch/arm/nwfpe/fpmodule.c
+++ b/arch/arm/nwfpe/fpmodule.c
@@ -147,7 +147,7 @@ void float_raise(signed char flags)
 #ifdef CONFIG_DEBUG_USER
 	if (flags & debug)
  		printk(KERN_DEBUG
-		       "NWFPE: %s[%d] takes exception %08x at %pf from %08lx\n",
+		       "NWFPE: %s[%d] takes exception %08x at %ps from %08lx\n",
 		       current->comm, current->pid, flags,
 		       __builtin_return_address(0), GET_USERREG()->ARM_pc);
 #endif
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 08/22] ARM: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: linux-arm-kernel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-arm-kernel at lists.infradead.org
---
 arch/arm/mm/alignment.c   | 2 +-
 arch/arm/nwfpe/fpmodule.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
index 2c0c541..3419550 100644
--- a/arch/arm/mm/alignment.c
+++ b/arch/arm/mm/alignment.c
@@ -132,7 +132,7 @@ static const char *usermode_action[] = {
 static int alignment_proc_show(struct seq_file *m, void *v)
 {
 	seq_printf(m, "User:\t\t%lu\n", ai_user);
-	seq_printf(m, "System:\t\t%lu (%pF)\n", ai_sys, ai_sys_last_pc);
+	seq_printf(m, "System:\t\t%lu (%pS)\n", ai_sys, ai_sys_last_pc);
 	seq_printf(m, "Skipped:\t%lu\n", ai_skipped);
 	seq_printf(m, "Half:\t\t%lu\n", ai_half);
 	seq_printf(m, "Word:\t\t%lu\n", ai_word);
diff --git a/arch/arm/nwfpe/fpmodule.c b/arch/arm/nwfpe/fpmodule.c
index ec717c1..2d2bfe2 100644
--- a/arch/arm/nwfpe/fpmodule.c
+++ b/arch/arm/nwfpe/fpmodule.c
@@ -147,7 +147,7 @@ void float_raise(signed char flags)
 #ifdef CONFIG_DEBUG_USER
 	if (flags & debug)
  		printk(KERN_DEBUG
-		       "NWFPE: %s[%d] takes exception %08x at %pf from %08lx\n",
+		       "NWFPE: %s[%d] takes exception %08x at %ps from %08lx\n",
 		       current->comm, current->pid, flags,
 		       __builtin_return_address(0), GET_USERREG()->ARM_pc);
 #endif
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 09/22] blackfin: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (7 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, adi-buildroot-devel, Steven Miao

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: adi-buildroot-devel@lists.sourceforge.net
Cc: Steven Miao <realmz6@gmail.com>
---
 arch/blackfin/kernel/setup.c    | 8 ++++----
 arch/blackfin/mach-common/smp.c | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index 4f424ae..bfb3d85 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -1022,15 +1022,15 @@ void __init setup_arch(char **cmdline_p)
 		printk(KERN_EMERG "Recovering from DOUBLE FAULT event\n");
 #ifdef CONFIG_DEBUG_DOUBLEFAULT
 		/* We assume the crashing kernel, and the current symbol table match */
-		printk(KERN_EMERG " While handling exception (EXCAUSE = %#x) at %pF\n",
+		printk(KERN_EMERG " While handling exception (EXCAUSE = %#x) at %pS\n",
 			initial_pda.seqstat_doublefault & SEQSTAT_EXCAUSE,
 			initial_pda.retx_doublefault);
-		printk(KERN_NOTICE "   DCPLB_FAULT_ADDR: %pF\n",
+		printk(KERN_NOTICE "   DCPLB_FAULT_ADDR: %pS\n",
 			initial_pda.dcplb_doublefault_addr);
-		printk(KERN_NOTICE "   ICPLB_FAULT_ADDR: %pF\n",
+		printk(KERN_NOTICE "   ICPLB_FAULT_ADDR: %pS\n",
 			initial_pda.icplb_doublefault_addr);
 #endif
-		printk(KERN_NOTICE " The instruction at %pF caused a double exception\n",
+		printk(KERN_NOTICE " The instruction at %pS caused a double exception\n",
 			initial_pda.retx);
 	} else if (_bfin_swrst & RESET_WDOG)
 		printk(KERN_INFO "Recovering from Watchdog event\n");
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c
index 8ad3e90..375262d 100644
--- a/arch/blackfin/mach-common/smp.c
+++ b/arch/blackfin/mach-common/smp.c
@@ -285,15 +285,15 @@ void secondary_start_kernel(void)
 	if (_bfin_swrst & SWRST_DBL_FAULT_B) {
 		printk(KERN_EMERG "CoreB Recovering from DOUBLE FAULT event\n");
 #ifdef CONFIG_DEBUG_DOUBLEFAULT
-		printk(KERN_EMERG " While handling exception (EXCAUSE = %#x) at %pF\n",
+		printk(KERN_EMERG " While handling exception (EXCAUSE = %#x) at %pS\n",
 			initial_pda_coreb.seqstat_doublefault & SEQSTAT_EXCAUSE,
 			initial_pda_coreb.retx_doublefault);
-		printk(KERN_NOTICE "   DCPLB_FAULT_ADDR: %pF\n",
+		printk(KERN_NOTICE "   DCPLB_FAULT_ADDR: %pS\n",
 			initial_pda_coreb.dcplb_doublefault_addr);
-		printk(KERN_NOTICE "   ICPLB_FAULT_ADDR: %pF\n",
+		printk(KERN_NOTICE "   ICPLB_FAULT_ADDR: %pS\n",
 			initial_pda_coreb.icplb_doublefault_addr);
 #endif
-		printk(KERN_NOTICE " The instruction at %pF caused a double exception\n",
+		printk(KERN_NOTICE " The instruction at %pS caused a double exception\n",
 			initial_pda_coreb.retx);
 	}
 
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 10/22] microblaze: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (8 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, Michal Simek

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: Michal Simek <monstr@monstr.eu>
---
 arch/microblaze/mm/pgtable.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c
index 4f4520e..8a8f1cd 100644
--- a/arch/microblaze/mm/pgtable.c
+++ b/arch/microblaze/mm/pgtable.c
@@ -74,7 +74,7 @@ static void __iomem *__ioremap(phys_addr_t addr, unsigned long size,
 		p >= memory_start && p < virt_to_phys(high_memory) &&
 		!(p >= __virt_to_phys((phys_addr_t)__bss_stop) &&
 		p < __virt_to_phys((phys_addr_t)__bss_stop))) {
-		pr_warn("__ioremap(): phys addr "PTE_FMT" is RAM lr %pf\n",
+		pr_warn("__ioremap(): phys addr "PTE_FMT" is RAM lr %ps\n",
 			(unsigned long)p, __builtin_return_address(0));
 		return NULL;
 	}
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 11/22] powerpc/32: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linuxppc-dev

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linuxppc-dev@lists.ozlabs.org
---
 arch/powerpc/mm/pgtable_32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
index 03b1a3b..24f304a 100644
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
@@ -221,7 +221,7 @@ __ioremap_caller(phys_addr_t addr, unsigned long size, unsigned long flags,
 	 */
 	if (mem_init_done && (p < virt_to_phys(high_memory)) &&
 	    !(__allow_ioremap_reserved && memblock_is_region_reserved(p, size))) {
-		printk("__ioremap(): phys addr 0x%llx is RAM lr %pf\n",
+		printk("__ioremap(): phys addr 0x%llx is RAM lr %ps\n",
 		       (unsigned long long)p, __builtin_return_address(0));
 		return NULL;
 	}
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 11/22] powerpc/32: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linuxppc-dev

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linuxppc-dev@lists.ozlabs.org
---
 arch/powerpc/mm/pgtable_32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
index 03b1a3b..24f304a 100644
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
@@ -221,7 +221,7 @@ __ioremap_caller(phys_addr_t addr, unsigned long size, unsigned long flags,
 	 */
 	if (mem_init_done && (p < virt_to_phys(high_memory)) &&
 	    !(__allow_ioremap_reserved && memblock_is_region_reserved(p, size))) {
-		printk("__ioremap(): phys addr 0x%llx is RAM lr %pf\n",
+		printk("__ioremap(): phys addr 0x%llx is RAM lr %ps\n",
 		       (unsigned long long)p, __builtin_return_address(0));
 		return NULL;
 	}
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 12/22] sparc: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, sparclinux

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: sparclinux@vger.kernel.org
---
 arch/sparc/kernel/ds.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c
index f87a55d..4ff835f 100644
--- a/arch/sparc/kernel/ds.c
+++ b/arch/sparc/kernel/ds.c
@@ -875,7 +875,7 @@ void ldom_power_off(void)
 
 static void ds_conn_reset(struct ds_info *dp)
 {
-	printk(KERN_ERR "ds-%llu: ds_conn_reset() from %pf\n",
+	printk(KERN_ERR "ds-%llu: ds_conn_reset() from %ps\n",
 	       dp->id, __builtin_return_address(0));
 }
 
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 12/22] sparc: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, sparclinux

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: sparclinux@vger.kernel.org
---
 arch/sparc/kernel/ds.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c
index f87a55d..4ff835f 100644
--- a/arch/sparc/kernel/ds.c
+++ b/arch/sparc/kernel/ds.c
@@ -875,7 +875,7 @@ void ldom_power_off(void)
 
 static void ds_conn_reset(struct ds_info *dp)
 {
-	printk(KERN_ERR "ds-%llu: ds_conn_reset() from %pf\n",
+	printk(KERN_ERR "ds-%llu: ds_conn_reset() from %ps\n",
 	       dp->id, __builtin_return_address(0));
 }
 
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 13/22] x86: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, x86, xen-devel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: x86@kernel.org
Cc: xen-devel@lists.xenproject.org
---
 arch/x86/include/asm/trace/exceptions.h | 2 +-
 arch/x86/xen/multicalls.c               | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/trace/exceptions.h b/arch/x86/include/asm/trace/exceptions.h
index 2fbc66c..e04d75b 100644
--- a/arch/x86/include/asm/trace/exceptions.h
+++ b/arch/x86/include/asm/trace/exceptions.h
@@ -28,7 +28,7 @@ DECLARE_EVENT_CLASS(x86_exceptions,
 		__entry->error_code = error_code;
 	),
 
-	TP_printk("address=%pf ip=%pf error_code=0x%lx",
+	TP_printk("address=%ps ip=%ps error_code=0x%lx",
 		  (void *)__entry->address, (void *)__entry->ip,
 		  __entry->error_code) );
 
diff --git a/arch/x86/xen/multicalls.c b/arch/x86/xen/multicalls.c
index ea54a08..13598f9 100644
--- a/arch/x86/xen/multicalls.c
+++ b/arch/x86/xen/multicalls.c
@@ -103,7 +103,7 @@ void xen_mc_flush(void)
 			       ret, smp_processor_id());
 			dump_stack();
 			for (i = 0; i < b->mcidx; i++) {
-				printk(KERN_DEBUG "  call %2d/%d: op=%lu arg=[%lx] result=%ld\t%pF\n",
+				printk(KERN_DEBUG "  call %2d/%d: op=%lu arg=[%lx] result=%ld\t%pS\n",
 				       i+1, b->mcidx,
 				       b->debug[i].op,
 				       b->debug[i].args[0],
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 13/22] x86: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, xen-devel, x86

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: x86@kernel.org
Cc: xen-devel@lists.xenproject.org
---
 arch/x86/include/asm/trace/exceptions.h | 2 +-
 arch/x86/xen/multicalls.c               | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/trace/exceptions.h b/arch/x86/include/asm/trace/exceptions.h
index 2fbc66c..e04d75b 100644
--- a/arch/x86/include/asm/trace/exceptions.h
+++ b/arch/x86/include/asm/trace/exceptions.h
@@ -28,7 +28,7 @@ DECLARE_EVENT_CLASS(x86_exceptions,
 		__entry->error_code = error_code;
 	),
 
-	TP_printk("address=%pf ip=%pf error_code=0x%lx",
+	TP_printk("address=%ps ip=%ps error_code=0x%lx",
 		  (void *)__entry->address, (void *)__entry->ip,
 		  __entry->error_code) );
 
diff --git a/arch/x86/xen/multicalls.c b/arch/x86/xen/multicalls.c
index ea54a08..13598f9 100644
--- a/arch/x86/xen/multicalls.c
+++ b/arch/x86/xen/multicalls.c
@@ -103,7 +103,7 @@ void xen_mc_flush(void)
 			       ret, smp_processor_id());
 			dump_stack();
 			for (i = 0; i < b->mcidx; i++) {
-				printk(KERN_DEBUG "  call %2d/%d: op=%lu arg=[%lx] result=%ld\t%pF\n",
+				printk(KERN_DEBUG "  call %2d/%d: op=%lu arg=[%lx] result=%ld\t%pS\n",
 				       i+1, b->mcidx,
 				       b->debug[i].op,
 				       b->debug[i].args[0],
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 14/22] parisc: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (12 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  2015-03-12 12:11   ` James Bottomley
  -1 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-parisc

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.  Even on
other architectures, refrain from setting a bad example that people
copy.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-parisc@vger.kernel.org
---
 drivers/parisc/superio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c
index 8be2096..38c5440 100644
--- a/drivers/parisc/superio.c
+++ b/drivers/parisc/superio.c
@@ -348,7 +348,7 @@ int superio_fixup_irq(struct pci_dev *pcidev)
 		BUG();
 		return -1;
 	}
-	printk("superio_fixup_irq(%s) ven 0x%x dev 0x%x from %pf\n",
+	printk("superio_fixup_irq(%s) ven 0x%x dev 0x%x from %ps\n",
 		pci_name(pcidev),
 		pcidev->vendor, pcidev->device,
 		__builtin_return_address(0));
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 15/22] drm: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, dri-devel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: dri-devel@lists.freedesktop.org
---
 drivers/gpu/drm/drm_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index d512134..48f7359 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -70,7 +70,7 @@ void drm_err(const char *format, ...)
 	vaf.fmt = format;
 	vaf.va = &args;
 
-	printk(KERN_ERR "[" DRM_NAME ":%pf] *ERROR* %pV",
+	printk(KERN_ERR "[" DRM_NAME ":%ps] *ERROR* %pV",
 	       __builtin_return_address(0), &vaf);
 
 	va_end(args);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 15/22] drm: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, dri-devel

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: dri-devel@lists.freedesktop.org
---
 drivers/gpu/drm/drm_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index d512134..48f7359 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -70,7 +70,7 @@ void drm_err(const char *format, ...)
 	vaf.fmt = format;
 	vaf.va = &args;
 
-	printk(KERN_ERR "[" DRM_NAME ":%pf] *ERROR* %pV",
+	printk(KERN_ERR "[" DRM_NAME ":%ps] *ERROR* %pV",
 	       __builtin_return_address(0), &vaf);
 
 	va_end(args);
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 16/22] mfd: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (14 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  2015-03-12  9:03   ` Lee Jones
  -1 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, Samuel Ortiz, Lee Jones

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Lee Jones <lee.jones@linaro.org>
---
 drivers/mfd/mc13xxx-core.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/mfd/mc13xxx-core.c b/drivers/mfd/mc13xxx-core.c
index 64dde5d..25fd711 100644
--- a/drivers/mfd/mc13xxx-core.c
+++ b/drivers/mfd/mc13xxx-core.c
@@ -51,19 +51,19 @@
 void mc13xxx_lock(struct mc13xxx *mc13xxx)
 {
 	if (!mutex_trylock(&mc13xxx->lock)) {
-		dev_dbg(mc13xxx->dev, "wait for %s from %pf\n",
+		dev_dbg(mc13xxx->dev, "wait for %s from %ps\n",
 				__func__, __builtin_return_address(0));
 
 		mutex_lock(&mc13xxx->lock);
 	}
-	dev_dbg(mc13xxx->dev, "%s from %pf\n",
+	dev_dbg(mc13xxx->dev, "%s from %ps\n",
 			__func__, __builtin_return_address(0));
 }
 EXPORT_SYMBOL(mc13xxx_lock);
 
 void mc13xxx_unlock(struct mc13xxx *mc13xxx)
 {
-	dev_dbg(mc13xxx->dev, "%s from %pf\n",
+	dev_dbg(mc13xxx->dev, "%s from %ps\n",
 			__func__, __builtin_return_address(0));
 	mutex_unlock(&mc13xxx->lock);
 }
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 17/22] esp_scsi: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-scsi, Hannes Reinecke

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-scsi@vger.kernel.org
Cc: Hannes Reinecke <hare@suse.de>
---
 drivers/scsi/esp_scsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/esp_scsi.c b/drivers/scsi/esp_scsi.c
index 065b25d..dba5f10 100644
--- a/drivers/scsi/esp_scsi.c
+++ b/drivers/scsi/esp_scsi.c
@@ -1034,7 +1034,7 @@ static int esp_check_spur_intr(struct esp *esp)
 
 static void esp_schedule_reset(struct esp *esp)
 {
-	esp_log_reset("esp_schedule_reset() from %pf\n",
+	esp_log_reset("esp_schedule_reset() from %ps\n",
 		      __builtin_return_address(0));
 	esp->flags |= ESP_FLAG_RESETTING;
 	esp_event(esp, ESP_EVENT_RESET);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 17/22] esp_scsi: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-scsi, Hannes Reinecke

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-scsi@vger.kernel.org
Cc: Hannes Reinecke <hare@suse.de>
---
 drivers/scsi/esp_scsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/esp_scsi.c b/drivers/scsi/esp_scsi.c
index 065b25d..dba5f10 100644
--- a/drivers/scsi/esp_scsi.c
+++ b/drivers/scsi/esp_scsi.c
@@ -1034,7 +1034,7 @@ static int esp_check_spur_intr(struct esp *esp)
 
 static void esp_schedule_reset(struct esp *esp)
 {
-	esp_log_reset("esp_schedule_reset() from %pf\n",
+	esp_log_reset("esp_schedule_reset() from %ps\n",
 		      __builtin_return_address(0));
 	esp->flags |= ESP_FLAG_RESETTING;
 	esp_event(esp, ESP_EVENT_RESET);
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (16 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  2015-03-12  4:45   ` Felipe Balbi
                     ` (2 more replies)
  -1 siblings, 3 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, linux-usb, Felipe Balbi

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: linux-usb@vger.kernel.org
Cc: Felipe Balbi <balbi@ti.com>
---
 drivers/usb/gadget/function/u_serial.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c
index 491082a..89179ab 100644
--- a/drivers/usb/gadget/function/u_serial.c
+++ b/drivers/usb/gadget/function/u_serial.c
@@ -912,7 +912,7 @@ static int gs_put_char(struct tty_struct *tty, unsigned char ch)
 	unsigned long	flags;
 	int		status;
 
-	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %pf\n",
+	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %ps\n",
 		port->port_num, tty, ch, __builtin_return_address(0));
 
 	spin_lock_irqsave(&port->port_lock, flags);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 19/22] jfs: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (17 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  2015-03-12 14:16   ` [Jfs-discussion] " Dave Kleikamp
  -1 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, jfs-discussion

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: jfs-discussion@lists.sourceforge.net
---
 fs/jfs/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index 5d30c56..4cd9798 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -102,7 +102,7 @@ void jfs_error(struct super_block *sb, const char *fmt, ...)
 	vaf.fmt = fmt;
 	vaf.va = &args;
 
-	pr_err("ERROR: (device %s): %pf: %pV\n",
+	pr_err("ERROR: (device %s): %ps: %pV\n",
 	       sb->s_id, __builtin_return_address(0), &vaf);
 
 	va_end(args);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 20/22] pstore: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (18 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  2015-06-16 22:02   ` Kees Cook
  -1 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel
  Cc: Scott Wood, Anton Vorontsov, Colin Cross, Kees Cook, Tony Luck

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Tony Luck <tony.luck@intel.com>
---
 fs/pstore/inode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/pstore/inode.c b/fs/pstore/inode.c
index b32ce53..f8a5bfe 100644
--- a/fs/pstore/inode.c
+++ b/fs/pstore/inode.c
@@ -107,7 +107,7 @@ static int pstore_ftrace_seq_show(struct seq_file *s, void *v)
 	struct pstore_ftrace_seq_data *data = v;
 	struct pstore_ftrace_record *rec = (void *)(ps->data + data->off);
 
-	seq_printf(s, "%d %08lx  %08lx  %pf <- %pF\n",
+	seq_printf(s, "%d %08lx  %08lx  %ps <- %pS\n",
 		pstore_ftrace_decode_cpu(rec), rec->ip, rec->parent_ip,
 		(void *)rec->ip, (void *)rec->parent_ip);
 
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 21/22] xfs: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
@ 2015-03-12  3:13   ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, xfs

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: xfs@oss.sgi.com
---
 fs/xfs/xfs_error.c |  2 +-
 fs/xfs/xfs_trace.h | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/fs/xfs/xfs_error.c b/fs/xfs/xfs_error.c
index 3ee186a..338e50b 100644
--- a/fs/xfs/xfs_error.c
+++ b/fs/xfs/xfs_error.c
@@ -131,7 +131,7 @@ xfs_error_report(
 {
 	if (level <= xfs_error_level) {
 		xfs_alert_tag(mp, XFS_PTAG_ERROR_REPORT,
-		"Internal error %s at line %d of file %s.  Caller %pF",
+		"Internal error %s at line %d of file %s.  Caller %pS",
 			    tag, linenum, filename, ra);
 
 		xfs_stack_trace();
diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
index 51372e3..b5ac81e 100644
--- a/fs/xfs/xfs_trace.h
+++ b/fs/xfs/xfs_trace.h
@@ -115,7 +115,7 @@ DECLARE_EVENT_CLASS(xfs_perag_class,
 		__entry->refcount = refcount;
 		__entry->caller_ip = caller_ip;
 	),
-	TP_printk("dev %d:%d agno %u refcount %d caller %pf",
+	TP_printk("dev %d:%d agno %u refcount %d caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->agno,
 		  __entry->refcount,
@@ -239,7 +239,7 @@ TRACE_EVENT(xfs_iext_insert,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d ino 0x%llx state %s idx %ld "
-		  "offset %lld block %lld count %lld flag %d caller %pf",
+		  "offset %lld block %lld count %lld flag %d caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS),
@@ -283,7 +283,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d ino 0x%llx state %s idx %ld "
-		  "offset %lld block %lld count %lld flag %d caller %pf",
+		  "offset %lld block %lld count %lld flag %d caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS),
@@ -329,7 +329,7 @@ DECLARE_EVENT_CLASS(xfs_buf_class,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d bno 0x%llx nblks 0x%x hold %d pincount %d "
-		  "lock %d flags %s caller %pf",
+		  "lock %d flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long long)__entry->bno,
 		  __entry->nblks,
@@ -402,7 +402,7 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d "
-		  "lock %d flags %s caller %pf",
+		  "lock %d flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long long)__entry->bno,
 		  __entry->buffer_length,
@@ -447,7 +447,7 @@ TRACE_EVENT(xfs_buf_ioerror,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d "
-		  "lock %d error %d flags %s caller %pf",
+		  "lock %d error %d flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long long)__entry->bno,
 		  __entry->buffer_length,
@@ -613,7 +613,7 @@ DECLARE_EVENT_CLASS(xfs_lock_class,
 		__entry->lock_flags = lock_flags;
 		__entry->caller_ip = caller_ip;
 	),
-	TP_printk("dev %d:%d ino 0x%llx flags %s caller %pf",
+	TP_printk("dev %d:%d ino 0x%llx flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __print_flags(__entry->lock_flags, "|", XFS_LOCK_FLAGS),
@@ -702,7 +702,7 @@ DECLARE_EVENT_CLASS(xfs_iref_class,
 		__entry->pincount = atomic_read(&ip->i_pincount);
 		__entry->caller_ip = caller_ip;
 	),
-	TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %pf",
+	TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __entry->count,
@@ -1333,7 +1333,7 @@ TRACE_EVENT(xfs_bunmap,
 		__entry->flags = flags;
 	),
 	TP_printk("dev %d:%d ino 0x%llx size 0x%llx bno 0x%llx len 0x%llx"
-		  "flags %s caller %pf",
+		  "flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __entry->size,
@@ -1466,7 +1466,7 @@ TRACE_EVENT(xfs_agf,
 	),
 	TP_printk("dev %d:%d agno %u flags %s length %u roots b %u c %u "
 		  "levels b %u c %u flfirst %u fllast %u flcount %u "
-		  "freeblks %u longest %u caller %pf",
+		  "freeblks %u longest %u caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->agno,
 		  __print_flags(__entry->flags, "|", XFS_AGF_FLAGS),
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 21/22] xfs: %pF is only for function pointers
@ 2015-03-12  3:13   ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, xfs

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: xfs@oss.sgi.com
---
 fs/xfs/xfs_error.c |  2 +-
 fs/xfs/xfs_trace.h | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/fs/xfs/xfs_error.c b/fs/xfs/xfs_error.c
index 3ee186a..338e50b 100644
--- a/fs/xfs/xfs_error.c
+++ b/fs/xfs/xfs_error.c
@@ -131,7 +131,7 @@ xfs_error_report(
 {
 	if (level <= xfs_error_level) {
 		xfs_alert_tag(mp, XFS_PTAG_ERROR_REPORT,
-		"Internal error %s at line %d of file %s.  Caller %pF",
+		"Internal error %s at line %d of file %s.  Caller %pS",
 			    tag, linenum, filename, ra);
 
 		xfs_stack_trace();
diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
index 51372e3..b5ac81e 100644
--- a/fs/xfs/xfs_trace.h
+++ b/fs/xfs/xfs_trace.h
@@ -115,7 +115,7 @@ DECLARE_EVENT_CLASS(xfs_perag_class,
 		__entry->refcount = refcount;
 		__entry->caller_ip = caller_ip;
 	),
-	TP_printk("dev %d:%d agno %u refcount %d caller %pf",
+	TP_printk("dev %d:%d agno %u refcount %d caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->agno,
 		  __entry->refcount,
@@ -239,7 +239,7 @@ TRACE_EVENT(xfs_iext_insert,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d ino 0x%llx state %s idx %ld "
-		  "offset %lld block %lld count %lld flag %d caller %pf",
+		  "offset %lld block %lld count %lld flag %d caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS),
@@ -283,7 +283,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d ino 0x%llx state %s idx %ld "
-		  "offset %lld block %lld count %lld flag %d caller %pf",
+		  "offset %lld block %lld count %lld flag %d caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS),
@@ -329,7 +329,7 @@ DECLARE_EVENT_CLASS(xfs_buf_class,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d bno 0x%llx nblks 0x%x hold %d pincount %d "
-		  "lock %d flags %s caller %pf",
+		  "lock %d flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long long)__entry->bno,
 		  __entry->nblks,
@@ -402,7 +402,7 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d "
-		  "lock %d flags %s caller %pf",
+		  "lock %d flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long long)__entry->bno,
 		  __entry->buffer_length,
@@ -447,7 +447,7 @@ TRACE_EVENT(xfs_buf_ioerror,
 		__entry->caller_ip = caller_ip;
 	),
 	TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d "
-		  "lock %d error %d flags %s caller %pf",
+		  "lock %d error %d flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long long)__entry->bno,
 		  __entry->buffer_length,
@@ -613,7 +613,7 @@ DECLARE_EVENT_CLASS(xfs_lock_class,
 		__entry->lock_flags = lock_flags;
 		__entry->caller_ip = caller_ip;
 	),
-	TP_printk("dev %d:%d ino 0x%llx flags %s caller %pf",
+	TP_printk("dev %d:%d ino 0x%llx flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __print_flags(__entry->lock_flags, "|", XFS_LOCK_FLAGS),
@@ -702,7 +702,7 @@ DECLARE_EVENT_CLASS(xfs_iref_class,
 		__entry->pincount = atomic_read(&ip->i_pincount);
 		__entry->caller_ip = caller_ip;
 	),
-	TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %pf",
+	TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __entry->count,
@@ -1333,7 +1333,7 @@ TRACE_EVENT(xfs_bunmap,
 		__entry->flags = flags;
 	),
 	TP_printk("dev %d:%d ino 0x%llx size 0x%llx bno 0x%llx len 0x%llx"
-		  "flags %s caller %pf",
+		  "flags %s caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->ino,
 		  __entry->size,
@@ -1466,7 +1466,7 @@ TRACE_EVENT(xfs_agf,
 	),
 	TP_printk("dev %d:%d agno %u flags %s length %u roots b %u c %u "
 		  "levels b %u c %u flfirst %u fllast %u flcount %u "
-		  "freeblks %u longest %u caller %pf",
+		  "freeblks %u longest %u caller %ps",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->agno,
 		  __print_flags(__entry->flags, "|", XFS_AGF_FLAGS),
-- 
2.1.0

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply related	[flat|nested] 79+ messages in thread

* [PATCH 22/22] tracing: %pF is only for function pointers
  2015-03-12  3:13 ` Scott Wood
                   ` (20 preceding siblings ...)
  (?)
@ 2015-03-12  3:13 ` Scott Wood
  2015-03-12 20:23   ` Steven Rostedt
  -1 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-03-12  3:13 UTC (permalink / raw)
  To: trivial, linux-kernel; +Cc: Scott Wood, Steven Rostedt, Ingo Molnar

Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>
---
 include/trace/events/btrfs.h       |  4 ++--
 include/trace/events/ext3.h        |  2 +-
 include/trace/events/ext4.h        |  6 +++---
 include/trace/events/module.h      |  4 ++--
 include/trace/events/random.h      | 10 +++++-----
 kernel/trace/trace_entries.h       |  6 +++---
 tools/lib/traceevent/event-parse.c |  2 +-
 7 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h
index 1faecea..572e650 100644
--- a/include/trace/events/btrfs.h
+++ b/include/trace/events/btrfs.h
@@ -962,7 +962,7 @@ TRACE_EVENT(alloc_extent_state,
 		__entry->ip	= IP
 	),
 
-	TP_printk("state=%p; mask = %s; caller = %pF", __entry->state,
+	TP_printk("state=%p; mask = %s; caller = %pS", __entry->state,
 		  show_gfp_flags(__entry->mask), (void *)__entry->ip)
 );
 
@@ -982,7 +982,7 @@ TRACE_EVENT(free_extent_state,
 		__entry->ip = IP
 	),
 
-	TP_printk(" state=%p; caller = %pF", __entry->state,
+	TP_printk(" state=%p; caller = %pS", __entry->state,
 		  (void *)__entry->ip)
 );
 
diff --git a/include/trace/events/ext3.h b/include/trace/events/ext3.h
index 6797b9d..7f20707 100644
--- a/include/trace/events/ext3.h
+++ b/include/trace/events/ext3.h
@@ -144,7 +144,7 @@ TRACE_EVENT(ext3_mark_inode_dirty,
 		__entry->ip	= IP;
 	),
 
-	TP_printk("dev %d,%d ino %lu caller %pF",
+	TP_printk("dev %d,%d ino %lu caller %pS",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long) __entry->ino, (void *)__entry->ip)
 );
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
index 6e5abd6d..47fca36 100644
--- a/include/trace/events/ext4.h
+++ b/include/trace/events/ext4.h
@@ -240,7 +240,7 @@ TRACE_EVENT(ext4_mark_inode_dirty,
 		__entry->ip	= IP;
 	),
 
-	TP_printk("dev %d,%d ino %lu caller %pF",
+	TP_printk("dev %d,%d ino %lu caller %pS",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long) __entry->ino, (void *)__entry->ip)
 );
@@ -1762,7 +1762,7 @@ TRACE_EVENT(ext4_journal_start,
 		__entry->rsv_blocks	 = rsv_blocks;
 	),
 
-	TP_printk("dev %d,%d blocks, %d rsv_blocks, %d caller %pF",
+	TP_printk("dev %d,%d blocks, %d rsv_blocks, %d caller %pS",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->blocks, __entry->rsv_blocks, (void *)__entry->ip)
 );
@@ -1784,7 +1784,7 @@ TRACE_EVENT(ext4_journal_start_reserved,
 		__entry->blocks		 = blocks;
 	),
 
-	TP_printk("dev %d,%d blocks, %d caller %pF",
+	TP_printk("dev %d,%d blocks, %d caller %pS",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  __entry->blocks, (void *)__entry->ip)
 );
diff --git a/include/trace/events/module.h b/include/trace/events/module.h
index 81c4c18..28c4599 100644
--- a/include/trace/events/module.h
+++ b/include/trace/events/module.h
@@ -84,7 +84,7 @@ DECLARE_EVENT_CLASS(module_refcnt,
 		__assign_str(name, mod->name);
 	),
 
-	TP_printk("%s call_site=%pf refcnt=%d",
+	TP_printk("%s call_site=%ps refcnt=%d",
 		  __get_str(name), (void *)__entry->ip, __entry->refcnt)
 );
 
@@ -121,7 +121,7 @@ TRACE_EVENT(module_request,
 		__assign_str(name, name);
 	),
 
-	TP_printk("%s wait=%d call_site=%pf",
+	TP_printk("%s wait=%d call_site=%ps",
 		  __get_str(name), (int)__entry->wait, (void *)__entry->ip)
 );
 
diff --git a/include/trace/events/random.h b/include/trace/events/random.h
index 805af6d..4684de3 100644
--- a/include/trace/events/random.h
+++ b/include/trace/events/random.h
@@ -22,7 +22,7 @@ TRACE_EVENT(add_device_randomness,
 		__entry->IP		= IP;
 	),
 
-	TP_printk("bytes %d caller %pF",
+	TP_printk("bytes %d caller %pS",
 		__entry->bytes, (void *)__entry->IP)
 );
 
@@ -43,7 +43,7 @@ DECLARE_EVENT_CLASS(random__mix_pool_bytes,
 		__entry->IP		= IP;
 	),
 
-	TP_printk("%s pool: bytes %d caller %pF",
+	TP_printk("%s pool: bytes %d caller %pS",
 		  __entry->pool_name, __entry->bytes, (void *)__entry->IP)
 );
 
@@ -82,7 +82,7 @@ TRACE_EVENT(credit_entropy_bits,
 	),
 
 	TP_printk("%s pool: bits %d entropy_count %d entropy_total %d "
-		  "caller %pF", __entry->pool_name, __entry->bits,
+		  "caller %pS", __entry->pool_name, __entry->bits,
 		  __entry->entropy_count, __entry->entropy_total,
 		  (void *)__entry->IP)
 );
@@ -207,7 +207,7 @@ DECLARE_EVENT_CLASS(random__get_random_bytes,
 		__entry->IP		= IP;
 	),
 
-	TP_printk("nbytes %d caller %pF", __entry->nbytes, (void *)__entry->IP)
+	TP_printk("nbytes %d caller %pS", __entry->nbytes, (void *)__entry->IP)
 );
 
 DEFINE_EVENT(random__get_random_bytes, get_random_bytes,
@@ -242,7 +242,7 @@ DECLARE_EVENT_CLASS(random__extract_entropy,
 		__entry->IP		= IP;
 	),
 
-	TP_printk("%s pool: nbytes %d entropy_count %d caller %pF",
+	TP_printk("%s pool: nbytes %d entropy_count %d caller %pS",
 		  __entry->pool_name, __entry->nbytes, __entry->entropy_count,
 		  (void *)__entry->IP)
 );
diff --git a/kernel/trace/trace_entries.h b/kernel/trace/trace_entries.h
index e2d027a..ee7b94a 100644
--- a/kernel/trace/trace_entries.h
+++ b/kernel/trace/trace_entries.h
@@ -223,7 +223,7 @@ FTRACE_ENTRY(bprint, bprint_entry,
 		__dynamic_array(	u32,	buf	)
 	),
 
-	F_printk("%pf: %s",
+	F_printk("%ps: %s",
 		 (void *)__entry->ip, __entry->fmt),
 
 	FILTER_OTHER
@@ -238,7 +238,7 @@ FTRACE_ENTRY(print, print_entry,
 		__dynamic_array(	char,	buf	)
 	),
 
-	F_printk("%pf: %s",
+	F_printk("%ps: %s",
 		 (void *)__entry->ip, __entry->buf),
 
 	FILTER_OTHER
@@ -253,7 +253,7 @@ FTRACE_ENTRY(bputs, bputs_entry,
 		__field(	const char *,	str	)
 	),
 
-	F_printk("%pf: %s",
+	F_printk("%ps: %s",
 		 (void *)__entry->ip, __entry->str),
 
 	FILTER_OTHER
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index afe20ed..2c0bd8f 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -3976,7 +3976,7 @@ static struct print_arg *make_bprint_args(char *fmt, void *data, int size, struc
 	if (asprintf(&arg->atom.atom, "%lld", ip) < 0)
 		goto out_free;
 
-	/* skip the first "%pf: " */
+	/* skip the first "%ps: " */
 	for (ptr = fmt + 5, bptr = data + field->offset;
 	     bptr < data + size && *ptr; ptr++) {
 		int ls = 0;
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 79+ messages in thread

* Re: [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12  3:13 ` [PATCH 18/22] usb: gadget: serial: " Scott Wood
@ 2015-03-12  4:45   ` Felipe Balbi
  2015-03-12  5:27     ` Scott Wood
  2015-03-12 12:36   ` Sergei Shtylyov
  2015-03-12 15:51   ` Fabio Estevam
  2 siblings, 1 reply; 79+ messages in thread
From: Felipe Balbi @ 2015-03-12  4:45 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, linux-usb, Felipe Balbi

[-- Attachment #1: Type: text/plain, Size: 1024 bytes --]

On Wed, Mar 11, 2015 at 10:13:53PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: linux-usb@vger.kernel.org
> Cc: Felipe Balbi <balbi@ti.com>
> ---
>  drivers/usb/gadget/function/u_serial.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c
> index 491082a..89179ab 100644
> --- a/drivers/usb/gadget/function/u_serial.c
> +++ b/drivers/usb/gadget/function/u_serial.c
> @@ -912,7 +912,7 @@ static int gs_put_char(struct tty_struct *tty, unsigned char ch)
>  	unsigned long	flags;
>  	int		status;
>  
> -	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %pf\n",
> +	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %ps\n",
                                                                 ^
								 S ??

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12  4:45   ` Felipe Balbi
@ 2015-03-12  5:27     ` Scott Wood
  2015-03-12 15:38       ` Felipe Balbi
  0 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-03-12  5:27 UTC (permalink / raw)
  To: balbi; +Cc: trivial, linux-kernel, linux-usb

On Wed, 2015-03-11 at 23:45 -0500, Felipe Balbi wrote:
> On Wed, Mar 11, 2015 at 10:13:53PM -0500, Scott Wood wrote:
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.
> > 
> > Signed-off-by: Scott Wood <scottwood@freescale.com>
> > Cc: linux-usb@vger.kernel.org
> > Cc: Felipe Balbi <balbi@ti.com>
> > ---
> >  drivers/usb/gadget/function/u_serial.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c
> > index 491082a..89179ab 100644
> > --- a/drivers/usb/gadget/function/u_serial.c
> > +++ b/drivers/usb/gadget/function/u_serial.c
> > @@ -912,7 +912,7 @@ static int gs_put_char(struct tty_struct *tty, unsigned char ch)
> >  	unsigned long	flags;
> >  	int		status;
> >  
> > -	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %pf\n",
> > +	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %ps\n",
>                                                                  ^
> 								 S ??

%ps is the non-function-pointer version of %pf.  %pS is the
non-function-pointer version of %pF.  I didn't change the capitalization
of any of these -- if that's warranted in some places, it's outside the
scope of this treewide patchset.

-Scott



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 16/22] mfd: %pF is only for function pointers
  2015-03-12  3:13 ` [PATCH 16/22] mfd: " Scott Wood
@ 2015-03-12  9:03   ` Lee Jones
  0 siblings, 0 replies; 79+ messages in thread
From: Lee Jones @ 2015-03-12  9:03 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, Samuel Ortiz

On Wed, 11 Mar 2015, Scott Wood wrote:

> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: Samuel Ortiz <sameo@linux.intel.com>
> Cc: Lee Jones <lee.jones@linaro.org>
> ---
>  drivers/mfd/mc13xxx-core.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Applied, thanks.

> diff --git a/drivers/mfd/mc13xxx-core.c b/drivers/mfd/mc13xxx-core.c
> index 64dde5d..25fd711 100644
> --- a/drivers/mfd/mc13xxx-core.c
> +++ b/drivers/mfd/mc13xxx-core.c
> @@ -51,19 +51,19 @@
>  void mc13xxx_lock(struct mc13xxx *mc13xxx)
>  {
>  	if (!mutex_trylock(&mc13xxx->lock)) {
> -		dev_dbg(mc13xxx->dev, "wait for %s from %pf\n",
> +		dev_dbg(mc13xxx->dev, "wait for %s from %ps\n",
>  				__func__, __builtin_return_address(0));
>  
>  		mutex_lock(&mc13xxx->lock);
>  	}
> -	dev_dbg(mc13xxx->dev, "%s from %pf\n",
> +	dev_dbg(mc13xxx->dev, "%s from %ps\n",
>  			__func__, __builtin_return_address(0));
>  }
>  EXPORT_SYMBOL(mc13xxx_lock);
>  
>  void mc13xxx_unlock(struct mc13xxx *mc13xxx)
>  {
> -	dev_dbg(mc13xxx->dev, "%s from %pf\n",
> +	dev_dbg(mc13xxx->dev, "%s from %ps\n",
>  			__func__, __builtin_return_address(0));
>  	mutex_unlock(&mc13xxx->lock);
>  }

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 17/22] esp_scsi: %pF is only for function pointers
  2015-03-12  3:13   ` Scott Wood
  (?)
@ 2015-03-12 11:23   ` Hannes Reinecke
  -1 siblings, 0 replies; 79+ messages in thread
From: Hannes Reinecke @ 2015-03-12 11:23 UTC (permalink / raw)
  To: Scott Wood, trivial, linux-kernel; +Cc: linux-scsi

On 03/11/2015 11:13 PM, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: linux-scsi@vger.kernel.org
> Cc: Hannes Reinecke <hare@suse.de>
Acked-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 14/22] parisc: %pF is only for function pointers
  2015-03-12  3:13 ` [PATCH 14/22] parisc: " Scott Wood
@ 2015-03-12 12:11   ` James Bottomley
  2015-03-12 14:43     ` John David Anglin
  2015-03-12 16:14     ` Scott Wood
  0 siblings, 2 replies; 79+ messages in thread
From: James Bottomley @ 2015-03-12 12:11 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, linux-parisc

On Wed, 2015-03-11 at 22:13 -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.  Even on
> other architectures, refrain from setting a bad example that people
> copy.

Are you sure about this?  Parisc64 is a function description
architecture.  There may be a misunderstanding about what
__builtin_return_address(0) is supposed to return, but I'm certain the
person who added the code thought it returned a function pointer, which
on parisc64 would be a descriptor.

James



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12  3:13 ` [PATCH 18/22] usb: gadget: serial: " Scott Wood
  2015-03-12  4:45   ` Felipe Balbi
@ 2015-03-12 12:36   ` Sergei Shtylyov
  2015-03-12 16:43     ` Scott Wood
  2015-03-12 15:51   ` Fabio Estevam
  2 siblings, 1 reply; 79+ messages in thread
From: Sergei Shtylyov @ 2015-03-12 12:36 UTC (permalink / raw)
  To: Scott Wood, trivial, linux-kernel; +Cc: linux-usb, Felipe Balbi

Hello.

On 3/12/2015 6:13 AM, Scott Wood wrote:

> Use %pS for actual addresses, otherwise you'll get bad output

    %pS or %ps?

> on arches like ppc64 where %pF expects a function descriptor.

    %pF or %pf? And what is a function descriptor?

> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: linux-usb@vger.kernel.org
> Cc: Felipe Balbi <balbi@ti.com>
[...]

> diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c
> index 491082a..89179ab 100644
> --- a/drivers/usb/gadget/function/u_serial.c
> +++ b/drivers/usb/gadget/function/u_serial.c
> @@ -912,7 +912,7 @@ static int gs_put_char(struct tty_struct *tty, unsigned char ch)
>   	unsigned long	flags;
>   	int		status;
>
> -	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %pf\n",
> +	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %ps\n",
>   		port->port_num, tty, ch, __builtin_return_address(0));
[...]

WBR, Sergei


^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [Jfs-discussion] [PATCH 19/22] jfs: %pF is only for function pointers
  2015-03-12  3:13 ` [PATCH 19/22] jfs: " Scott Wood
@ 2015-03-12 14:16   ` Dave Kleikamp
  2015-03-12 16:09     ` Scott Wood
  0 siblings, 1 reply; 79+ messages in thread
From: Dave Kleikamp @ 2015-03-12 14:16 UTC (permalink / raw)
  To: Scott Wood, trivial, linux-kernel; +Cc: jfs-discussion

On 03/11/2015 10:13 PM, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: jfs-discussion@lists.sourceforge.net
Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com>

Do you intend to submit these as a set, or would you rather I push this
one through the jfs subsystem?

Thanks,
Shaggy

> ---
>  fs/jfs/super.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/jfs/super.c b/fs/jfs/super.c
> index 5d30c56..4cd9798 100644
> --- a/fs/jfs/super.c
> +++ b/fs/jfs/super.c
> @@ -102,7 +102,7 @@ void jfs_error(struct super_block *sb, const char *fmt, ...)
>  	vaf.fmt = fmt;
>  	vaf.va = &args;
>  
> -	pr_err("ERROR: (device %s): %pf: %pV\n",
> +	pr_err("ERROR: (device %s): %ps: %pV\n",
>  	       sb->s_id, __builtin_return_address(0), &vaf);
>  
>  	va_end(args);
> 

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 14/22] parisc: %pF is only for function pointers
  2015-03-12 12:11   ` James Bottomley
@ 2015-03-12 14:43     ` John David Anglin
  2015-03-12 16:14     ` Scott Wood
  1 sibling, 0 replies; 79+ messages in thread
From: John David Anglin @ 2015-03-12 14:43 UTC (permalink / raw)
  To: James Bottomley, Scott Wood; +Cc: trivial, linux-kernel, linux-parisc

On 2015-03-12 8:11 AM, James Bottomley wrote:
> On Wed, 2015-03-11 at 22:13 -0500, Scott Wood wrote:
>> Use %pS for actual addresses, otherwise you'll get bad output
>> on arches like ppc64 where %pF expects a function descriptor.  Even on
>> other architectures, refrain from setting a bad example that people
>> copy.
> Are you sure about this?  Parisc64 is a function description
> architecture.  There may be a misunderstanding about what
> __builtin_return_address(0) is supposed to return, but I'm certain the
> person who added the code thought it returned a function pointer, which
> on parisc64 would be a descriptor.

__builtin_return_address(0) returns the return address in the calling procedure
ignoring import/export stubs.  There are no function descriptors for return addresses.
Thus, it can't return a function pointer.

There are no function descriptors in 32-bit parisc when the -mfast-indirect-calls
compiler option is used.

This option used to be used for 64-bit kernel builds but this broke when the
-mfast-indirect-calls was fixed for user space (gcl uses it).  I worked a bit
on trying to eliminate function descriptors from the 64-bit kernel for performance
but I don't have a working change.

Dave

-- 
John David Anglin  dave.anglin@bell.net


^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12  5:27     ` Scott Wood
@ 2015-03-12 15:38       ` Felipe Balbi
  0 siblings, 0 replies; 79+ messages in thread
From: Felipe Balbi @ 2015-03-12 15:38 UTC (permalink / raw)
  To: Scott Wood; +Cc: balbi, trivial, linux-kernel, linux-usb

[-- Attachment #1: Type: text/plain, Size: 1561 bytes --]

On Thu, Mar 12, 2015 at 12:27:07AM -0500, Scott Wood wrote:
> On Wed, 2015-03-11 at 23:45 -0500, Felipe Balbi wrote:
> > On Wed, Mar 11, 2015 at 10:13:53PM -0500, Scott Wood wrote:
> > > Use %pS for actual addresses, otherwise you'll get bad output
> > > on arches like ppc64 where %pF expects a function descriptor.
> > > 
> > > Signed-off-by: Scott Wood <scottwood@freescale.com>
> > > Cc: linux-usb@vger.kernel.org
> > > Cc: Felipe Balbi <balbi@ti.com>
> > > ---
> > >  drivers/usb/gadget/function/u_serial.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c
> > > index 491082a..89179ab 100644
> > > --- a/drivers/usb/gadget/function/u_serial.c
> > > +++ b/drivers/usb/gadget/function/u_serial.c
> > > @@ -912,7 +912,7 @@ static int gs_put_char(struct tty_struct *tty, unsigned char ch)
> > >  	unsigned long	flags;
> > >  	int		status;
> > >  
> > > -	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %pf\n",
> > > +	pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %ps\n",
> >                                                                  ^
> > 								 S ??
> 
> %ps is the non-function-pointer version of %pf.  %pS is the
> non-function-pointer version of %pF.  I didn't change the capitalization
> of any of these -- if that's warranted in some places, it's outside the
> scope of this treewide patchset.

then let's fix your commit log where you mention %pS but use %ps ;-)

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12  3:13 ` [PATCH 18/22] usb: gadget: serial: " Scott Wood
  2015-03-12  4:45   ` Felipe Balbi
  2015-03-12 12:36   ` Sergei Shtylyov
@ 2015-03-12 15:51   ` Fabio Estevam
  2015-03-12 16:40     ` Scott Wood
  2 siblings, 1 reply; 79+ messages in thread
From: Fabio Estevam @ 2015-03-12 15:51 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, USB list, Felipe Balbi

On Thu, Mar 12, 2015 at 12:13 AM, Scott Wood <scottwood@freescale.com> wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.

>From Documentation/printk-formats.txt:

    "On ia64, ppc64 and parisc64 architectures function pointers are
    actually function descriptors which must first be resolved. The 'F' and
    'f' specifiers perform this resolution and then provide the same
    functionality as the 'S' and 's' specifiers."

,so current code should work fine on ppc64, right?

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [Jfs-discussion] [PATCH 19/22] jfs: %pF is only for function pointers
  2015-03-12 14:16   ` [Jfs-discussion] " Dave Kleikamp
@ 2015-03-12 16:09     ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12 16:09 UTC (permalink / raw)
  To: Dave Kleikamp; +Cc: trivial, linux-kernel, jfs-discussion

On Thu, 2015-03-12 at 09:16 -0500, Dave Kleikamp wrote:
> On 03/11/2015 10:13 PM, Scott Wood wrote:
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.
> > 
> > Signed-off-by: Scott Wood <scottwood@freescale.com>
> > Cc: jfs-discussion@lists.sourceforge.net
> Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com>
> 
> Do you intend to submit these as a set, or would you rather I push this
> one through the jfs subsystem?

Go ahead and take this one.

-Scott



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 14/22] parisc: %pF is only for function pointers
  2015-03-12 12:11   ` James Bottomley
  2015-03-12 14:43     ` John David Anglin
@ 2015-03-12 16:14     ` Scott Wood
  2015-03-12 18:04       ` James Bottomley
  1 sibling, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-03-12 16:14 UTC (permalink / raw)
  To: James Bottomley; +Cc: trivial, linux-kernel, linux-parisc

On Thu, 2015-03-12 at 08:11 -0400, James Bottomley wrote:
> On Wed, 2015-03-11 at 22:13 -0500, Scott Wood wrote:
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.  Even on
> > other architectures, refrain from setting a bad example that people
> > copy.
> 
> Are you sure about this?  Parisc64 is a function description
> architecture.  There may be a misunderstanding about what
> __builtin_return_address(0) is supposed to return, but I'm certain the
> person who added the code thought it returned a function pointer, which
> on parisc64 would be a descriptor.

I wasn't aware that parisc64 used descriptors, but I don't see how you'd
get one out of __builtin_return_address(0) since it's not usually a
function entry point (plus, GCC documents it as returning void *).

-Scott

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12 15:51   ` Fabio Estevam
@ 2015-03-12 16:40     ` Scott Wood
  2015-03-12 16:43       ` Fabio Estevam
  0 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-03-12 16:40 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: trivial, linux-kernel, USB list, Felipe Balbi

On Thu, 2015-03-12 at 12:51 -0300, Fabio Estevam wrote:
> On Thu, Mar 12, 2015 at 12:13 AM, Scott Wood <scottwood@freescale.com> wrote:
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.
> 
> From Documentation/printk-formats.txt:
> 
>     "On ia64, ppc64 and parisc64 architectures function pointers are
>     actually function descriptors which must first be resolved. The 'F' and
>     'f' specifiers perform this resolution and then provide the same
>     functionality as the 'S' and 's' specifiers."
> 
> ,so current code should work fine on ppc64, right?

No.  __builtin_return_address() returns a pointer to an instruction, not
a function pointer descriptor.  If you use %pF on the former, it'll
print instruction opcodes as if they were the address.

-Scott



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12 12:36   ` Sergei Shtylyov
@ 2015-03-12 16:43     ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12 16:43 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: trivial, linux-kernel, linux-usb, Felipe Balbi

On Thu, 2015-03-12 at 15:36 +0300, Sergei Shtylyov wrote:
> Hello.
> 
> On 3/12/2015 6:13 AM, Scott Wood wrote:
> 
> > Use %pS for actual addresses, otherwise you'll get bad output
> 
>     %pS or %ps?
> 
> > on arches like ppc64 where %pF expects a function descriptor.
> 
>     %pF or %pf? And what is a function descriptor?

%pS where %pF appeared, and %ps where %pf appeared (yes, I'll fix the
copy-and-paste commit message).  A function descriptor is a data
structure used when a function pointer needs to contain more information
than the instruction pointer to branch to, such as a TOC pointer.
Example:
http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-DES

-Scott



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 18/22] usb: gadget: serial: %pF is only for function pointers
  2015-03-12 16:40     ` Scott Wood
@ 2015-03-12 16:43       ` Fabio Estevam
  0 siblings, 0 replies; 79+ messages in thread
From: Fabio Estevam @ 2015-03-12 16:43 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, USB list, Felipe Balbi

On Thu, Mar 12, 2015 at 1:40 PM, Scott Wood <scottwood@freescale.com> wrote:

> No.  __builtin_return_address() returns a pointer to an instruction, not
> a function pointer descriptor.  If you use %pF on the former, it'll
> print instruction opcodes as if they were the address.

Then you should mention this in the commit log.

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 14/22] parisc: %pF is only for function pointers
  2015-03-12 16:14     ` Scott Wood
@ 2015-03-12 18:04       ` James Bottomley
  2015-03-12 19:48         ` Aaro Koskinen
  0 siblings, 1 reply; 79+ messages in thread
From: James Bottomley @ 2015-03-12 18:04 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, linux-parisc

On Thu, 2015-03-12 at 11:14 -0500, Scott Wood wrote:
> On Thu, 2015-03-12 at 08:11 -0400, James Bottomley wrote:
> > On Wed, 2015-03-11 at 22:13 -0500, Scott Wood wrote:
> > > Use %pS for actual addresses, otherwise you'll get bad output
> > > on arches like ppc64 where %pF expects a function descriptor.  Even on
> > > other architectures, refrain from setting a bad example that people
> > > copy.
> > 
> > Are you sure about this?  Parisc64 is a function description
> > architecture.  There may be a misunderstanding about what
> > __builtin_return_address(0) is supposed to return, but I'm certain the
> > person who added the code thought it returned a function pointer, which
> > on parisc64 would be a descriptor.
> 
> I wasn't aware that parisc64 used descriptors, but I don't see how you'd
> get one out of __builtin_return_address(0) since it's not usually a
> function entry point (plus, GCC documents it as returning void *).

I was more thinking that this message is printed for every boot with a
superio chip (which is a lot of our boxes).  How come no-one has
complained on parisc64 if it's doing the wrong thing.

James



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 05/22] PM / AVS: SmartReflex: %pF is only for function pointers
  2015-03-12  3:13   ` Scott Wood
@ 2015-03-12 18:09     ` Kevin Hilman
  -1 siblings, 0 replies; 79+ messages in thread
From: Kevin Hilman @ 2015-03-12 18:09 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, linux-pm, Nishanth Menon

Scott Wood <scottwood@freescale.com> writes:

> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: linux-pm@vger.kernel.org
> Cc: Kevin Hilman <khilman@kernel.org>
> Cc: Nishanth Menon <nm@ti.com>

Acked-by: Kevin Hilman <khilman@linaro.org>

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 05/22] PM / AVS: SmartReflex: %pF is only for function pointers
@ 2015-03-12 18:09     ` Kevin Hilman
  0 siblings, 0 replies; 79+ messages in thread
From: Kevin Hilman @ 2015-03-12 18:09 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, linux-pm, Nishanth Menon

Scott Wood <scottwood@freescale.com> writes:

> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: linux-pm@vger.kernel.org
> Cc: Kevin Hilman <khilman@kernel.org>
> Cc: Nishanth Menon <nm@ti.com>

Acked-by: Kevin Hilman <khilman@linaro.org>

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 05/22] PM / AVS: SmartReflex: %pF is only for function pointers
  2015-03-12 18:09     ` Kevin Hilman
@ 2015-03-12 18:14       ` Nishanth Menon
  -1 siblings, 0 replies; 79+ messages in thread
From: Nishanth Menon @ 2015-03-12 18:14 UTC (permalink / raw)
  To: Kevin Hilman, Scott Wood; +Cc: trivial, linux-kernel, linux-pm

On 03/12/2015 01:09 PM, Kevin Hilman wrote:
> Scott Wood <scottwood@freescale.com> writes:
> 
>> Use %pS for actual addresses, otherwise you'll get bad output
>> on arches like ppc64 where %pF expects a function descriptor.
>>
>> Signed-off-by: Scott Wood <scottwood@freescale.com>
>> Cc: linux-pm@vger.kernel.org
>> Cc: Kevin Hilman <khilman@kernel.org>
>> Cc: Nishanth Menon <nm@ti.com>
> 
> Acked-by: Kevin Hilman <khilman@linaro.org>
> 
Acked-by: Nishanth Menon <nm@ti.com>

I suppose this goes via Jiri Kosina's trivial tree?

-- 
Regards,
Nishanth Menon

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 05/22] PM / AVS: SmartReflex: %pF is only for function pointers
@ 2015-03-12 18:14       ` Nishanth Menon
  0 siblings, 0 replies; 79+ messages in thread
From: Nishanth Menon @ 2015-03-12 18:14 UTC (permalink / raw)
  To: Kevin Hilman, Scott Wood; +Cc: trivial, linux-kernel, linux-pm

On 03/12/2015 01:09 PM, Kevin Hilman wrote:
> Scott Wood <scottwood@freescale.com> writes:
> 
>> Use %pS for actual addresses, otherwise you'll get bad output
>> on arches like ppc64 where %pF expects a function descriptor.
>>
>> Signed-off-by: Scott Wood <scottwood@freescale.com>
>> Cc: linux-pm@vger.kernel.org
>> Cc: Kevin Hilman <khilman@kernel.org>
>> Cc: Nishanth Menon <nm@ti.com>
> 
> Acked-by: Kevin Hilman <khilman@linaro.org>
> 
Acked-by: Nishanth Menon <nm@ti.com>

I suppose this goes via Jiri Kosina's trivial tree?

-- 
Regards,
Nishanth Menon

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 05/22] PM / AVS: SmartReflex: %pF is only for function pointers
  2015-03-12 18:14       ` Nishanth Menon
  (?)
@ 2015-03-12 18:16       ` Jiri Kosina
  -1 siblings, 0 replies; 79+ messages in thread
From: Jiri Kosina @ 2015-03-12 18:16 UTC (permalink / raw)
  To: Nishanth Menon; +Cc: Kevin Hilman, Scott Wood, linux-kernel, linux-pm

On Thu, 12 Mar 2015, Nishanth Menon wrote:

> > Scott Wood <scottwood@freescale.com> writes:
> > 
> >> Use %pS for actual addresses, otherwise you'll get bad output
> >> on arches like ppc64 where %pF expects a function descriptor.
> >>
> >> Signed-off-by: Scott Wood <scottwood@freescale.com>
> >> Cc: linux-pm@vger.kernel.org
> >> Cc: Kevin Hilman <khilman@kernel.org>
> >> Cc: Nishanth Menon <nm@ti.com>
> > 
> > Acked-by: Kevin Hilman <khilman@linaro.org>
> > 
> Acked-by: Nishanth Menon <nm@ti.com>
> 
> I suppose this goes via Jiri Kosina's trivial tree?

Thanks. I am putting this on hold for a couple days to see who applied to 
which tree, gather acks, and merge what's outstanding through trivial 
tree.

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 12/22] sparc: %pF is only for function pointers
  2015-03-12  3:13   ` Scott Wood
@ 2015-03-12 18:47     ` Sam Ravnborg
  -1 siblings, 0 replies; 79+ messages in thread
From: Sam Ravnborg @ 2015-03-12 18:47 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, sparclinux

On Wed, Mar 11, 2015 at 10:13:47PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.  Even on
> other architectures, refrain from setting a bad example that people
> copy.

The commit message used uppercase 'S' and 'F'.
But the patch uses lowercase variants.

Is this to highlight the letter in the commit message or some unwanted inconsistency?

	Sam

> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: sparclinux@vger.kernel.org
> ---
>  arch/sparc/kernel/ds.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c
> index f87a55d..4ff835f 100644
> --- a/arch/sparc/kernel/ds.c
> +++ b/arch/sparc/kernel/ds.c
> @@ -875,7 +875,7 @@ void ldom_power_off(void)
>  
>  static void ds_conn_reset(struct ds_info *dp)
>  {
> -	printk(KERN_ERR "ds-%llu: ds_conn_reset() from %pf\n",
> +	printk(KERN_ERR "ds-%llu: ds_conn_reset() from %ps\n",
>  	       dp->id, __builtin_return_address(0));
>  }
>  
> -- 
> 2.1.0
> 
> --
> To unsubscribe from this list: send the line "unsubscribe sparclinux" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 12/22] sparc: %pF is only for function pointers
@ 2015-03-12 18:47     ` Sam Ravnborg
  0 siblings, 0 replies; 79+ messages in thread
From: Sam Ravnborg @ 2015-03-12 18:47 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, sparclinux

On Wed, Mar 11, 2015 at 10:13:47PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.  Even on
> other architectures, refrain from setting a bad example that people
> copy.

The commit message used uppercase 'S' and 'F'.
But the patch uses lowercase variants.

Is this to highlight the letter in the commit message or some unwanted inconsistency?

	Sam

> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: sparclinux@vger.kernel.org
> ---
>  arch/sparc/kernel/ds.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c
> index f87a55d..4ff835f 100644
> --- a/arch/sparc/kernel/ds.c
> +++ b/arch/sparc/kernel/ds.c
> @@ -875,7 +875,7 @@ void ldom_power_off(void)
>  
>  static void ds_conn_reset(struct ds_info *dp)
>  {
> -	printk(KERN_ERR "ds-%llu: ds_conn_reset() from %pf\n",
> +	printk(KERN_ERR "ds-%llu: ds_conn_reset() from %ps\n",
>  	       dp->id, __builtin_return_address(0));
>  }
>  
> -- 
> 2.1.0
> 
> --
> To unsubscribe from this list: send the line "unsubscribe sparclinux" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 12/22] sparc: %pF is only for function pointers
  2015-03-12 18:47     ` Sam Ravnborg
@ 2015-03-12 18:49       ` Scott Wood
  -1 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12 18:49 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: trivial, linux-kernel, sparclinux

On Thu, 2015-03-12 at 19:47 +0100, Sam Ravnborg wrote:
> On Wed, Mar 11, 2015 at 10:13:47PM -0500, Scott Wood wrote:
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.  Even on
> > other architectures, refrain from setting a bad example that people
> > copy.
> 
> The commit message used uppercase 'S' and 'F'.
> But the patch uses lowercase variants.
> 
> Is this to highlight the letter in the commit message or some unwanted inconsistency?

It was copy and paste from others in the series that did involve the
capital version.  I can send a v2 with an updated commit message.

-Scott



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 12/22] sparc: %pF is only for function pointers
@ 2015-03-12 18:49       ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12 18:49 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: trivial, linux-kernel, sparclinux

On Thu, 2015-03-12 at 19:47 +0100, Sam Ravnborg wrote:
> On Wed, Mar 11, 2015 at 10:13:47PM -0500, Scott Wood wrote:
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.  Even on
> > other architectures, refrain from setting a bad example that people
> > copy.
> 
> The commit message used uppercase 'S' and 'F'.
> But the patch uses lowercase variants.
> 
> Is this to highlight the letter in the commit message or some unwanted inconsistency?

It was copy and paste from others in the series that did involve the
capital version.  I can send a v2 with an updated commit message.

-Scott



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 12/22] sparc: %pF is only for function pointers
  2015-03-12 18:49       ` Scott Wood
@ 2015-03-12 18:54         ` Sam Ravnborg
  -1 siblings, 0 replies; 79+ messages in thread
From: Sam Ravnborg @ 2015-03-12 18:54 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, sparclinux

On Thu, Mar 12, 2015 at 01:49:42PM -0500, Scott Wood wrote:
> On Thu, 2015-03-12 at 19:47 +0100, Sam Ravnborg wrote:
> > On Wed, Mar 11, 2015 at 10:13:47PM -0500, Scott Wood wrote:
> > > Use %pS for actual addresses, otherwise you'll get bad output
> > > on arches like ppc64 where %pF expects a function descriptor.  Even on
> > > other architectures, refrain from setting a bad example that people
> > > copy.
> > 
> > The commit message used uppercase 'S' and 'F'.
> > But the patch uses lowercase variants.
> > 
> > Is this to highlight the letter in the commit message or some unwanted inconsistency?
> 
> It was copy and paste from others in the series that did involve the
> capital version.  I can send a v2 with an updated commit message.
As it confused me someone else migth (maybe the chances are small but anyway) be confused too.
So please send a new version.

	Sam

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 12/22] sparc: %pF is only for function pointers
@ 2015-03-12 18:54         ` Sam Ravnborg
  0 siblings, 0 replies; 79+ messages in thread
From: Sam Ravnborg @ 2015-03-12 18:54 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, sparclinux

On Thu, Mar 12, 2015 at 01:49:42PM -0500, Scott Wood wrote:
> On Thu, 2015-03-12 at 19:47 +0100, Sam Ravnborg wrote:
> > On Wed, Mar 11, 2015 at 10:13:47PM -0500, Scott Wood wrote:
> > > Use %pS for actual addresses, otherwise you'll get bad output
> > > on arches like ppc64 where %pF expects a function descriptor.  Even on
> > > other architectures, refrain from setting a bad example that people
> > > copy.
> > 
> > The commit message used uppercase 'S' and 'F'.
> > But the patch uses lowercase variants.
> > 
> > Is this to highlight the letter in the commit message or some unwanted inconsistency?
> 
> It was copy and paste from others in the series that did involve the
> capital version.  I can send a v2 with an updated commit message.
As it confused me someone else migth (maybe the chances are small but anyway) be confused too.
So please send a new version.

	Sam

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 14/22] parisc: %pF is only for function pointers
  2015-03-12 18:04       ` James Bottomley
@ 2015-03-12 19:48         ` Aaro Koskinen
  0 siblings, 0 replies; 79+ messages in thread
From: Aaro Koskinen @ 2015-03-12 19:48 UTC (permalink / raw)
  To: James Bottomley; +Cc: Scott Wood, trivial, linux-kernel, linux-parisc

Hi,

On Thu, Mar 12, 2015 at 02:04:41PM -0400, James Bottomley wrote:
> On Thu, 2015-03-12 at 11:14 -0500, Scott Wood wrote:
> > On Thu, 2015-03-12 at 08:11 -0400, James Bottomley wrote:
> > > On Wed, 2015-03-11 at 22:13 -0500, Scott Wood wrote:
> > > > Use %pS for actual addresses, otherwise you'll get bad output
> > > > on arches like ppc64 where %pF expects a function descriptor.  Even on
> > > > other architectures, refrain from setting a bad example that people
> > > > copy.
> > > 
> > > Are you sure about this?  Parisc64 is a function description
> > > architecture.  There may be a misunderstanding about what
> > > __builtin_return_address(0) is supposed to return, but I'm certain the
> > > person who added the code thought it returned a function pointer, which
> > > on parisc64 would be a descriptor.
> > 
> > I wasn't aware that parisc64 used descriptors, but I don't see how you'd
> > get one out of __builtin_return_address(0) since it's not usually a
> > function entry point (plus, GCC documents it as returning void *).
> 
> I was more thinking that this message is printed for every boot with a
> superio chip (which is a lot of our boxes).  How come no-one has
> complained on parisc64 if it's doing the wrong thing.

It's dead code behind #ifdef DEBUG_SUPERIO_INIT.

A.

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 08/22] ARM: %pF is only for function pointers
  2015-03-12  3:13   ` Scott Wood
@ 2015-03-12 19:51     ` Russell King - ARM Linux
  -1 siblings, 0 replies; 79+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 19:51 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, linux-arm-kernel

On Wed, Mar 11, 2015 at 10:13:43PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.  Even on
> other architectures, refrain from setting a bad example that people
> copy.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: linux-arm-kernel@lists.infradead.org

Would've been nice to have been Cc'd on the patch, but luckily I saw it
amongst all the traffic anyway.  If the trivial folk want to take it:

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>

Thanks.

> ---
>  arch/arm/mm/alignment.c   | 2 +-
>  arch/arm/nwfpe/fpmodule.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
> index 2c0c541..3419550 100644
> --- a/arch/arm/mm/alignment.c
> +++ b/arch/arm/mm/alignment.c
> @@ -132,7 +132,7 @@ static const char *usermode_action[] = {
>  static int alignment_proc_show(struct seq_file *m, void *v)
>  {
>  	seq_printf(m, "User:\t\t%lu\n", ai_user);
> -	seq_printf(m, "System:\t\t%lu (%pF)\n", ai_sys, ai_sys_last_pc);
> +	seq_printf(m, "System:\t\t%lu (%pS)\n", ai_sys, ai_sys_last_pc);
>  	seq_printf(m, "Skipped:\t%lu\n", ai_skipped);
>  	seq_printf(m, "Half:\t\t%lu\n", ai_half);
>  	seq_printf(m, "Word:\t\t%lu\n", ai_word);
> diff --git a/arch/arm/nwfpe/fpmodule.c b/arch/arm/nwfpe/fpmodule.c
> index ec717c1..2d2bfe2 100644
> --- a/arch/arm/nwfpe/fpmodule.c
> +++ b/arch/arm/nwfpe/fpmodule.c
> @@ -147,7 +147,7 @@ void float_raise(signed char flags)
>  #ifdef CONFIG_DEBUG_USER
>  	if (flags & debug)
>   		printk(KERN_DEBUG
> -		       "NWFPE: %s[%d] takes exception %08x at %pf from %08lx\n",
> +		       "NWFPE: %s[%d] takes exception %08x at %ps from %08lx\n",
>  		       current->comm, current->pid, flags,
>  		       __builtin_return_address(0), GET_USERREG()->ARM_pc);
>  #endif
> -- 
> 2.1.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 79+ messages in thread

* [PATCH 08/22] ARM: %pF is only for function pointers
@ 2015-03-12 19:51     ` Russell King - ARM Linux
  0 siblings, 0 replies; 79+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 19:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 11, 2015 at 10:13:43PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.  Even on
> other architectures, refrain from setting a bad example that people
> copy.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: linux-arm-kernel at lists.infradead.org

Would've been nice to have been Cc'd on the patch, but luckily I saw it
amongst all the traffic anyway.  If the trivial folk want to take it:

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>

Thanks.

> ---
>  arch/arm/mm/alignment.c   | 2 +-
>  arch/arm/nwfpe/fpmodule.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
> index 2c0c541..3419550 100644
> --- a/arch/arm/mm/alignment.c
> +++ b/arch/arm/mm/alignment.c
> @@ -132,7 +132,7 @@ static const char *usermode_action[] = {
>  static int alignment_proc_show(struct seq_file *m, void *v)
>  {
>  	seq_printf(m, "User:\t\t%lu\n", ai_user);
> -	seq_printf(m, "System:\t\t%lu (%pF)\n", ai_sys, ai_sys_last_pc);
> +	seq_printf(m, "System:\t\t%lu (%pS)\n", ai_sys, ai_sys_last_pc);
>  	seq_printf(m, "Skipped:\t%lu\n", ai_skipped);
>  	seq_printf(m, "Half:\t\t%lu\n", ai_half);
>  	seq_printf(m, "Word:\t\t%lu\n", ai_word);
> diff --git a/arch/arm/nwfpe/fpmodule.c b/arch/arm/nwfpe/fpmodule.c
> index ec717c1..2d2bfe2 100644
> --- a/arch/arm/nwfpe/fpmodule.c
> +++ b/arch/arm/nwfpe/fpmodule.c
> @@ -147,7 +147,7 @@ void float_raise(signed char flags)
>  #ifdef CONFIG_DEBUG_USER
>  	if (flags & debug)
>   		printk(KERN_DEBUG
> -		       "NWFPE: %s[%d] takes exception %08x at %pf from %08lx\n",
> +		       "NWFPE: %s[%d] takes exception %08x at %ps from %08lx\n",
>  		       current->comm, current->pid, flags,
>  		       __builtin_return_address(0), GET_USERREG()->ARM_pc);
>  #endif
> -- 
> 2.1.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 22/22] tracing: %pF is only for function pointers
  2015-03-12  3:13 ` [PATCH 22/22] tracing: " Scott Wood
@ 2015-03-12 20:23   ` Steven Rostedt
  2015-03-12 20:25     ` Scott Wood
  0 siblings, 1 reply; 79+ messages in thread
From: Steven Rostedt @ 2015-03-12 20:23 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, Ingo Molnar

On Wed, 11 Mar 2015 22:13:57 -0500
Scott Wood <scottwood@freescale.com> wrote:

> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.

Thanks, I'll pull this into my tree. Pulling this into the 4.1 queue is
fine, right? It's not marked for stable.

-- Steve


> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Cc: Ingo Molnar <mingo@redhat.com>

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 22/22] tracing: %pF is only for function pointers
  2015-03-12 20:23   ` Steven Rostedt
@ 2015-03-12 20:25     ` Scott Wood
  0 siblings, 0 replies; 79+ messages in thread
From: Scott Wood @ 2015-03-12 20:25 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: trivial, linux-kernel, Ingo Molnar

On Thu, 2015-03-12 at 16:23 -0400, Steven Rostedt wrote:
> On Wed, 11 Mar 2015 22:13:57 -0500
> Scott Wood <scottwood@freescale.com> wrote:
> 
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.
> 
> Thanks, I'll pull this into my tree. Pulling this into the 4.1 queue is
> fine, right? It's not marked for stable.

4.1 is fine.

-Scott



^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 15/22] drm: %pF is only for function pointers
  2015-03-12  3:13   ` Scott Wood
@ 2015-03-13  9:17     ` Daniel Vetter
  -1 siblings, 0 replies; 79+ messages in thread
From: Daniel Vetter @ 2015-03-13  9:17 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, dri-devel

On Wed, Mar 11, 2015 at 10:13:50PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: dri-devel@lists.freedesktop.org

Applied to drm-misc, thanks.
-Daniel

> ---
>  drivers/gpu/drm/drm_drv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index d512134..48f7359 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -70,7 +70,7 @@ void drm_err(const char *format, ...)
>  	vaf.fmt = format;
>  	vaf.va = &args;
>  
> -	printk(KERN_ERR "[" DRM_NAME ":%pf] *ERROR* %pV",
> +	printk(KERN_ERR "[" DRM_NAME ":%ps] *ERROR* %pV",
>  	       __builtin_return_address(0), &vaf);
>  
>  	va_end(args);
> -- 
> 2.1.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 15/22] drm: %pF is only for function pointers
@ 2015-03-13  9:17     ` Daniel Vetter
  0 siblings, 0 replies; 79+ messages in thread
From: Daniel Vetter @ 2015-03-13  9:17 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, dri-devel

On Wed, Mar 11, 2015 at 10:13:50PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: dri-devel@lists.freedesktop.org

Applied to drm-misc, thanks.
-Daniel

> ---
>  drivers/gpu/drm/drm_drv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index d512134..48f7359 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -70,7 +70,7 @@ void drm_err(const char *format, ...)
>  	vaf.fmt = format;
>  	vaf.va = &args;
>  
> -	printk(KERN_ERR "[" DRM_NAME ":%pf] *ERROR* %pV",
> +	printk(KERN_ERR "[" DRM_NAME ":%ps] *ERROR* %pV",
>  	       __builtin_return_address(0), &vaf);
>  
>  	va_end(args);
> -- 
> 2.1.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 20/22] pstore: %pF is only for function pointers
  2015-03-12  3:13 ` [PATCH 20/22] pstore: " Scott Wood
@ 2015-06-16 22:02   ` Kees Cook
  2015-06-16 22:37     ` Anton Vorontsov
  0 siblings, 1 reply; 79+ messages in thread
From: Kees Cook @ 2015-06-16 22:02 UTC (permalink / raw)
  To: Anton Vorontsov; +Cc: trivial, LKML, Colin Cross, Tony Luck, Scott Wood

On Wed, Mar 11, 2015 at 8:13 PM, Scott Wood <scottwood@freescale.com> wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: Anton Vorontsov <anton@enomsg.org>
> Cc: Colin Cross <ccross@android.com>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Tony Luck <tony.luck@intel.com>
> ---
>  fs/pstore/inode.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/pstore/inode.c b/fs/pstore/inode.c
> index b32ce53..f8a5bfe 100644
> --- a/fs/pstore/inode.c
> +++ b/fs/pstore/inode.c
> @@ -107,7 +107,7 @@ static int pstore_ftrace_seq_show(struct seq_file *s, void *v)
>         struct pstore_ftrace_seq_data *data = v;
>         struct pstore_ftrace_record *rec = (void *)(ps->data + data->off);
>
> -       seq_printf(s, "%d %08lx  %08lx  %pf <- %pF\n",
> +       seq_printf(s, "%d %08lx  %08lx  %ps <- %pS\n",
>                 pstore_ftrace_decode_cpu(rec), rec->ip, rec->parent_ip,
>                 (void *)rec->ip, (void *)rec->parent_ip);
>
> --
> 2.1.0
>

Anton, does this look okay to you? (i.e. switching from function
pointer to direct pointer?) vsprintf docs say:
 * Note: The difference between 'S' and 'F' is that on ia64 and ppc64
 * function pointers are really function descriptors, which contain a
 * pointer to the real address.

So this seems correct to me.

Reviewed-by: Kees Cook <keescook@chromium.org>

-Kees

-- 
Kees Cook
Chrome OS Security

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 20/22] pstore: %pF is only for function pointers
  2015-06-16 22:02   ` Kees Cook
@ 2015-06-16 22:37     ` Anton Vorontsov
  0 siblings, 0 replies; 79+ messages in thread
From: Anton Vorontsov @ 2015-06-16 22:37 UTC (permalink / raw)
  To: Kees Cook; +Cc: trivial, LKML, Colin Cross, Tony Luck, Scott Wood

On Tue, Jun 16, 2015 at 03:02:50PM -0700, Kees Cook wrote:
> On Wed, Mar 11, 2015 at 8:13 PM, Scott Wood <scottwood@freescale.com> wrote:
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.
> >
> > Signed-off-by: Scott Wood <scottwood@freescale.com>
...
> > -       seq_printf(s, "%d %08lx  %08lx  %pf <- %pF\n",
> > +       seq_printf(s, "%d %08lx  %08lx  %ps <- %pS\n",
...
> Anton, does this look okay to you? (i.e. switching from function
> pointer to direct pointer?) vsprintf docs say:
>  * Note: The difference between 'S' and 'F' is that on ia64 and ppc64
>  * function pointers are really function descriptors, which contain a
>  * pointer to the real address.
> 
> So this seems correct to me.
> 
> Reviewed-by: Kees Cook <keescook@chromium.org>

Without questioning the confusing behaviour of "%pF", yes, sure... ack. :)

(However, intuitively I'd expect %pF to behave like %pS... but this surely not
going to change...)

Thanks!

Anton

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 21/22] xfs: %pF is only for function pointers
  2015-03-12  3:13   ` Scott Wood
@ 2015-08-31  8:06     ` Dave Chinner
  -1 siblings, 0 replies; 79+ messages in thread
From: Dave Chinner @ 2015-08-31  8:06 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, xfs

On Wed, Mar 11, 2015 at 10:13:56PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: xfs@oss.sgi.com

Scott, I've just found that this change (commit 65dd297 "xfs: %pF is
only for function pointers") breaks the symbolic printing in XFS
trace events on x86_64. eg.

> diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
> index 51372e3..b5ac81e 100644
> --- a/fs/xfs/xfs_trace.h
> +++ b/fs/xfs/xfs_trace.h
> @@ -115,7 +115,7 @@ DECLARE_EVENT_CLASS(xfs_perag_class,
>  		__entry->refcount = refcount;
>  		__entry->caller_ip = caller_ip;
>  	),
> -	TP_printk("dev %d:%d agno %u refcount %d caller %pf",
> +	TP_printk("dev %d:%d agno %u refcount %d caller %ps",
>  		  MAJOR(__entry->dev), MINOR(__entry->dev),
>  		  __entry->agno,
>  		  __entry->refcount,

This results in output like this:

760.828474: xfs_perag_get:  dev 253:32 agno 13 refcount 10 caller 0xffffffff814eef02s
760.828476: xfs_perag_put:  dev 253:32 agno 13 refcount 9 caller 0xffffffff814eefe8s

When I revert this commit, I get:

71.911265: xfs_perag_get:   dev 253:32 agno 0 refcount 11 caller xfs_extent_busy_insert
71.911266: xfs_perag_put:   dev 253:32 agno 0 refcount 10 caller xfs_extent_busy_insert

Which is exactly what we should be getting from the tracing. I'm
using trace-cmd to gather and print the events, and it breaks
both old and current versions of trace-cmd.

Can you please look into why this change broke the tracing output
on x86-64 - if there is no obvious/easy fix for it, then I'm simply
going to revert it because having the tracing work correctly on
x86-64 is far more important to us than ppc64 or ia64....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 21/22] xfs: %pF is only for function pointers
@ 2015-08-31  8:06     ` Dave Chinner
  0 siblings, 0 replies; 79+ messages in thread
From: Dave Chinner @ 2015-08-31  8:06 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, xfs

On Wed, Mar 11, 2015 at 10:13:56PM -0500, Scott Wood wrote:
> Use %pS for actual addresses, otherwise you'll get bad output
> on arches like ppc64 where %pF expects a function descriptor.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Cc: xfs@oss.sgi.com

Scott, I've just found that this change (commit 65dd297 "xfs: %pF is
only for function pointers") breaks the symbolic printing in XFS
trace events on x86_64. eg.

> diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
> index 51372e3..b5ac81e 100644
> --- a/fs/xfs/xfs_trace.h
> +++ b/fs/xfs/xfs_trace.h
> @@ -115,7 +115,7 @@ DECLARE_EVENT_CLASS(xfs_perag_class,
>  		__entry->refcount = refcount;
>  		__entry->caller_ip = caller_ip;
>  	),
> -	TP_printk("dev %d:%d agno %u refcount %d caller %pf",
> +	TP_printk("dev %d:%d agno %u refcount %d caller %ps",
>  		  MAJOR(__entry->dev), MINOR(__entry->dev),
>  		  __entry->agno,
>  		  __entry->refcount,

This results in output like this:

760.828474: xfs_perag_get:  dev 253:32 agno 13 refcount 10 caller 0xffffffff814eef02s
760.828476: xfs_perag_put:  dev 253:32 agno 13 refcount 9 caller 0xffffffff814eefe8s

When I revert this commit, I get:

71.911265: xfs_perag_get:   dev 253:32 agno 0 refcount 11 caller xfs_extent_busy_insert
71.911266: xfs_perag_put:   dev 253:32 agno 0 refcount 10 caller xfs_extent_busy_insert

Which is exactly what we should be getting from the tracing. I'm
using trace-cmd to gather and print the events, and it breaks
both old and current versions of trace-cmd.

Can you please look into why this change broke the tracing output
on x86-64 - if there is no obvious/easy fix for it, then I'm simply
going to revert it because having the tracing work correctly on
x86-64 is far more important to us than ppc64 or ia64....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 21/22] xfs: %pF is only for function pointers
  2015-08-31  8:06     ` Dave Chinner
  (?)
@ 2015-08-31 19:24     ` Scott Wood
  2015-08-31 19:45         ` Steven Rostedt
  -1 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-08-31 19:24 UTC (permalink / raw)
  To: Dave Chinner; +Cc: trivial, linux-kernel, xfs, Steven Rostedt

On Mon, 2015-08-31 at 18:06 +1000, Dave Chinner wrote:
> On Wed, Mar 11, 2015 at 10:13:56PM -0500, Scott Wood wrote:
> > Use %pS for actual addresses, otherwise you'll get bad output
> > on arches like ppc64 where %pF expects a function descriptor.
> > 
> > Signed-off-by: Scott Wood <scottwood@freescale.com>
> > Cc: xfs@oss.sgi.com
> 
> Scott, I've just found that this change (commit 65dd297 "xfs: %pF is
> only for function pointers") breaks the symbolic printing in XFS
> trace events on x86_64. eg.
> 
> > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
> > index 51372e3..b5ac81e 100644
> > --- a/fs/xfs/xfs_trace.h
> > +++ b/fs/xfs/xfs_trace.h
> > @@ -115,7 +115,7 @@ DECLARE_EVENT_CLASS(xfs_perag_class,
> >             __entry->refcount = refcount;
> >             __entry->caller_ip = caller_ip;
> >     ),
> > -   TP_printk("dev %d:%d agno %u refcount %d caller %pf",
> > +   TP_printk("dev %d:%d agno %u refcount %d caller %ps",
> >               MAJOR(__entry->dev), MINOR(__entry->dev),
> >               __entry->agno,
> >               __entry->refcount,
> 
> This results in output like this:
> 
> 760.828474: xfs_perag_get:  dev 253:32 agno 13 refcount 10 caller 
> 0xffffffff814eef02s
> 760.828476: xfs_perag_put:  dev 253:32 agno 13 refcount 9 caller 
> 0xffffffff814eefe8s
> 
> When I revert this commit, I get:
> 
> 71.911265: xfs_perag_get:   dev 253:32 agno 0 refcount 11 caller 
> xfs_extent_busy_insert
> 71.911266: xfs_perag_put:   dev 253:32 agno 0 refcount 10 caller 
> xfs_extent_busy_insert
> 
> Which is exactly what we should be getting from the tracing. I'm
> using trace-cmd to gather and print the events, and it breaks
> both old and current versions of trace-cmd.
> 
> Can you please look into why this change broke the tracing output
> on x86-64 - if there is no obvious/easy fix for it, then I'm simply
> going to revert it because having the tracing work correctly on
> x86-64 is far more important to us than ppc64 or ia64....

It looks like the cause is that TP_printk() is not really printk() -- it 
actually passes the format to userspace which has its own, not 100% 
compatible implementation pretty_print() in tools/lib/traceevent/event-
parse.c.  %pf in that function behaves like %ps in the kernel, and %ps is 
absent.

-Scott


^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 21/22] xfs: %pF is only for function pointers
  2015-08-31 19:24     ` Scott Wood
@ 2015-08-31 19:45         ` Steven Rostedt
  0 siblings, 0 replies; 79+ messages in thread
From: Steven Rostedt @ 2015-08-31 19:45 UTC (permalink / raw)
  To: Scott Wood; +Cc: Dave Chinner, trivial, linux-kernel, xfs

On Mon, 31 Aug 2015 14:24:25 -0500
Scott Wood <scottwood@freescale.com> wrote:
 
> > Can you please look into why this change broke the tracing output
> > on x86-64 - if there is no obvious/easy fix for it, then I'm simply
> > going to revert it because having the tracing work correctly on
> > x86-64 is far more important to us than ppc64 or ia64....
> 
> It looks like the cause is that TP_printk() is not really printk() -- it 
> actually passes the format to userspace which has its own, not 100% 
> compatible implementation pretty_print() in tools/lib/traceevent/event-
> parse.c.  %pf in that function behaves like %ps in the kernel, and %ps is 
> absent.
> 

We can fix that with adding %ps to the traceevent library.

-- Steve

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 21/22] xfs: %pF is only for function pointers
@ 2015-08-31 19:45         ` Steven Rostedt
  0 siblings, 0 replies; 79+ messages in thread
From: Steven Rostedt @ 2015-08-31 19:45 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, xfs

On Mon, 31 Aug 2015 14:24:25 -0500
Scott Wood <scottwood@freescale.com> wrote:
 
> > Can you please look into why this change broke the tracing output
> > on x86-64 - if there is no obvious/easy fix for it, then I'm simply
> > going to revert it because having the tracing work correctly on
> > x86-64 is far more important to us than ppc64 or ia64....
> 
> It looks like the cause is that TP_printk() is not really printk() -- it 
> actually passes the format to userspace which has its own, not 100% 
> compatible implementation pretty_print() in tools/lib/traceevent/event-
> parse.c.  %pf in that function behaves like %ps in the kernel, and %ps is 
> absent.
> 

We can fix that with adding %ps to the traceevent library.

-- Steve

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 21/22] xfs: %pF is only for function pointers
  2015-08-31 19:45         ` Steven Rostedt
  (?)
@ 2015-08-31 19:58         ` Scott Wood
  2015-08-31 20:05             ` Steven Rostedt
  -1 siblings, 1 reply; 79+ messages in thread
From: Scott Wood @ 2015-08-31 19:58 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: Dave Chinner, trivial, linux-kernel, xfs

On Mon, 2015-08-31 at 15:45 -0400, Steven Rostedt wrote:
> On Mon, 31 Aug 2015 14:24:25 -0500
> Scott Wood <scottwood@freescale.com> wrote:
>  
> > > Can you please look into why this change broke the tracing output
> > > on x86-64 - if there is no obvious/easy fix for it, then I'm simply
> > > going to revert it because having the tracing work correctly on
> > > x86-64 is far more important to us than ppc64 or ia64....
> > 
> > It looks like the cause is that TP_printk() is not really printk() -- it 
> > actually passes the format to userspace which has its own, not 100% 
> > compatible implementation pretty_print() in tools/lib/traceevent/event-
> > parse.c.  %pf in that function behaves like %ps in the kernel, and %ps is 
> > absent.
> > 
> 
> We can fix that with adding %ps to the traceevent library.

I wasn't sure if this would be considered a stable ABI issue, as it's not 
about the events themselves, but about the event mechanism.

-Scott


^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 21/22] xfs: %pF is only for function pointers
  2015-08-31 19:58         ` Scott Wood
@ 2015-08-31 20:05             ` Steven Rostedt
  0 siblings, 0 replies; 79+ messages in thread
From: Steven Rostedt @ 2015-08-31 20:05 UTC (permalink / raw)
  To: Scott Wood; +Cc: Dave Chinner, trivial, linux-kernel, xfs

On Mon, 31 Aug 2015 14:58:24 -0500
Scott Wood <scottwood@freescale.com> wrote:

> > We can fix that with adding %ps to the traceevent library.
> 
> I wasn't sure if this would be considered a stable ABI issue, as it's not 
> about the events themselves, but about the event mechanism.

When it comes to trace events, there's a fine line about the use space
stable ABI. Even Linus has mentioned that tracing and perf counters are
"special", as the two are not about a feature of the kernel, but
instead a way to see how the kernel works internally.

I've fixed up trace-cmd and libtraceevent more than once in the past
due to changes in the kernel. Unless it truly breaks the tool, it
should be fine to fix up tracepoints to handle small changes like this.

-- Steve

^ permalink raw reply	[flat|nested] 79+ messages in thread

* Re: [PATCH 21/22] xfs: %pF is only for function pointers
@ 2015-08-31 20:05             ` Steven Rostedt
  0 siblings, 0 replies; 79+ messages in thread
From: Steven Rostedt @ 2015-08-31 20:05 UTC (permalink / raw)
  To: Scott Wood; +Cc: trivial, linux-kernel, xfs

On Mon, 31 Aug 2015 14:58:24 -0500
Scott Wood <scottwood@freescale.com> wrote:

> > We can fix that with adding %ps to the traceevent library.
> 
> I wasn't sure if this would be considered a stable ABI issue, as it's not 
> about the events themselves, but about the event mechanism.

When it comes to trace events, there's a fine line about the use space
stable ABI. Even Linus has mentioned that tracing and perf counters are
"special", as the two are not about a feature of the kernel, but
instead a way to see how the kernel works internally.

I've fixed up trace-cmd and libtraceevent more than once in the past
due to changes in the kernel. Unless it truly breaks the tool, it
should be fine to fix up tracepoints to handle small changes like this.

-- Steve

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 79+ messages in thread

end of thread, other threads:[~2015-08-31 20:05 UTC | newest]

Thread overview: 79+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-12  3:13 [PATCH 01/22] mm/memblock.c: %pF is only for function pointers Scott Wood
2015-03-12  3:13 ` Scott Wood
2015-03-12  3:13 ` [PATCH 02/22] netfilter: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12  3:13 ` [PATCH 03/22] sound: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12  3:13 ` [PATCH 04/22] md/bcache: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12  3:13 ` [PATCH 05/22] PM / AVS: SmartReflex: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12 18:09   ` Kevin Hilman
2015-03-12 18:09     ` Kevin Hilman
2015-03-12 18:14     ` Nishanth Menon
2015-03-12 18:14       ` Nishanth Menon
2015-03-12 18:16       ` Jiri Kosina
2015-03-12  3:13 ` [PATCH 06/22] random: " Scott Wood
2015-03-12  3:13 ` [PATCH 07/22] alpha: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12  3:13 ` [PATCH 08/22] ARM: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12 19:51   ` Russell King - ARM Linux
2015-03-12 19:51     ` Russell King - ARM Linux
2015-03-12  3:13 ` [PATCH 09/22] blackfin: " Scott Wood
2015-03-12  3:13 ` [PATCH 10/22] microblaze: " Scott Wood
2015-03-12  3:13 ` [PATCH 11/22] powerpc/32: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12  3:13 ` [PATCH 12/22] sparc: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12 18:47   ` Sam Ravnborg
2015-03-12 18:47     ` Sam Ravnborg
2015-03-12 18:49     ` Scott Wood
2015-03-12 18:49       ` Scott Wood
2015-03-12 18:54       ` Sam Ravnborg
2015-03-12 18:54         ` Sam Ravnborg
2015-03-12  3:13 ` [PATCH 13/22] x86: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12  3:13 ` [PATCH 14/22] parisc: " Scott Wood
2015-03-12 12:11   ` James Bottomley
2015-03-12 14:43     ` John David Anglin
2015-03-12 16:14     ` Scott Wood
2015-03-12 18:04       ` James Bottomley
2015-03-12 19:48         ` Aaro Koskinen
2015-03-12  3:13 ` [PATCH 15/22] drm: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-13  9:17   ` Daniel Vetter
2015-03-13  9:17     ` Daniel Vetter
2015-03-12  3:13 ` [PATCH 16/22] mfd: " Scott Wood
2015-03-12  9:03   ` Lee Jones
2015-03-12  3:13 ` [PATCH 17/22] esp_scsi: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-03-12 11:23   ` Hannes Reinecke
2015-03-12  3:13 ` [PATCH 18/22] usb: gadget: serial: " Scott Wood
2015-03-12  4:45   ` Felipe Balbi
2015-03-12  5:27     ` Scott Wood
2015-03-12 15:38       ` Felipe Balbi
2015-03-12 12:36   ` Sergei Shtylyov
2015-03-12 16:43     ` Scott Wood
2015-03-12 15:51   ` Fabio Estevam
2015-03-12 16:40     ` Scott Wood
2015-03-12 16:43       ` Fabio Estevam
2015-03-12  3:13 ` [PATCH 19/22] jfs: " Scott Wood
2015-03-12 14:16   ` [Jfs-discussion] " Dave Kleikamp
2015-03-12 16:09     ` Scott Wood
2015-03-12  3:13 ` [PATCH 20/22] pstore: " Scott Wood
2015-06-16 22:02   ` Kees Cook
2015-06-16 22:37     ` Anton Vorontsov
2015-03-12  3:13 ` [PATCH 21/22] xfs: " Scott Wood
2015-03-12  3:13   ` Scott Wood
2015-08-31  8:06   ` Dave Chinner
2015-08-31  8:06     ` Dave Chinner
2015-08-31 19:24     ` Scott Wood
2015-08-31 19:45       ` Steven Rostedt
2015-08-31 19:45         ` Steven Rostedt
2015-08-31 19:58         ` Scott Wood
2015-08-31 20:05           ` Steven Rostedt
2015-08-31 20:05             ` Steven Rostedt
2015-03-12  3:13 ` [PATCH 22/22] tracing: " Scott Wood
2015-03-12 20:23   ` Steven Rostedt
2015-03-12 20:25     ` Scott Wood

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.