[PATCH] binder: Use %p for pointer formatting

Sebastian Andrzej Siewior posted 1 patch 6 days, 13 hours ago
drivers/android/binder.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] binder: Use %p for pointer formatting
Posted by Sebastian Andrzej Siewior 6 days, 13 hours ago
Commit 8ca86f1639ec5 ("binder: replace "%p" with "%pK"") introduced the
%pK modifier in order not to leak kernel pointer.
Since commit ad67b74d2469d ("printk: hash addresses printed with %p")
pointers are hashed by default and the behaviour can be controller by
`hash_pointers' boot argument.
Commit 57483a362741e ("binder: Create safe versions of binder log
files") introduced a hashed version while preserving the other interface
where pointers are returned. This interface is for debugging of memory
leaks. Ideally it would provide just one interface without leaking
pointers.

The policy on %p is to not introduce new ones. Rather then removing the
pointer output make it use %p.

Cc: Tiffany Y. Yang <ynaffit@google.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 drivers/android/binder.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index 8f2ef1bd539f1..0a42d2957772d 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -6413,7 +6413,7 @@ static void print_binder_transaction_ilocked(struct seq_file *m,
 	spin_lock(&t->lock);
 	to_proc = t->to_proc;
 	seq_printf(m,
-		   "%s %d: %pK from %d:%d to %d:%d code %x flags %x pri %ld a%d r%d elapsed %lldms",
+		   "%s %d: %p from %d:%d to %d:%d code %x flags %x pri %ld a%d r%d elapsed %lldms",
 		   prefix, t->debug_id, t,
 		   t->from_pid,
 		   t->from_tid,
@@ -6578,7 +6578,7 @@ static void print_binder_ref_olocked(struct seq_file *m,
 				     struct binder_ref *ref)
 {
 	binder_node_lock(ref->node);
-	seq_printf(m, "  ref %d: desc %d %snode %d s %d w %d d %pK\n",
+	seq_printf(m, "  ref %d: desc %d %snode %d s %d w %d d %p\n",
 		   ref->data.debug_id, ref->data.desc,
 		   ref->node->proc ? "" : "dead ",
 		   ref->node->debug_id, ref->data.strong,
-- 
2.55.0
Re: [PATCH] binder: Use %p for pointer formatting
Posted by Carlos Llamas an hour ago
On Fri, Sep 18, 2026 at 12:30:08PM +0200, Sebastian Andrzej Siewior wrote:
> Commit 8ca86f1639ec5 ("binder: replace "%p" with "%pK"") introduced the
> %pK modifier in order not to leak kernel pointer.
> Since commit ad67b74d2469d ("printk: hash addresses printed with %p")
> pointers are hashed by default and the behaviour can be controller by
> `hash_pointers' boot argument.
> Commit 57483a362741e ("binder: Create safe versions of binder log
> files") introduced a hashed version while preserving the other interface
> where pointers are returned. This interface is for debugging of memory
> leaks. Ideally it would provide just one interface without leaking
> pointers.

These binder_log files is a different thing. These are userspace
pointers.

> 
> The policy on %p is to not introduce new ones. Rather then removing the
> pointer output make it use %p.

IIUC, the policy is to use %pK for seq_printf() files exposed to users.
This is the relevant section from printk-formats.rst:

 | If (and only if) you are printing addresses as a content of a virtual file in
 | e.g. procfs or sysfs (using e.g. seq_printf(), not printk()) read by a
 | userspace process, use the %pK modifier described below instead of %p or %px.

Has this changed?

> 
> Cc: Tiffany Y. Yang <ynaffit@google.com>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---
>  drivers/android/binder.c | 4 ++--

This file is now deleted anyway.


Cheers,
--
Carlos Llamas