2022-05-09 23:33:48

by Carlos Llamas

[permalink] [raw]
Subject: [PATCH] binder: fix printk format for commands

Make sure we use unsigned format specifier %u for binder commands as
most of them are encoded above INT_MAX. This prevents negative values
when logging them as in the following case:

[ 211.895781] binder: 8668:8668 BR_REPLY 258949 0:0, cmd -2143260157 size 0-0 ptr 0000006e766a8000-0000006e766a8000

Signed-off-by: Carlos Llamas <[email protected]>
---
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 f3b639e89dd8..b4b0e4489bef 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -3984,7 +3984,7 @@ static int binder_thread_write(struct binder_proc *proc,
} break;

default:
- pr_err("%d:%d unknown command %d\n",
+ pr_err("%d:%d unknown command %u\n",
proc->pid, thread->pid, cmd);
return -EINVAL;
}
@@ -4490,7 +4490,7 @@ static int binder_thread_read(struct binder_proc *proc,
trace_binder_transaction_received(t);
binder_stat_br(proc, thread, cmd);
binder_debug(BINDER_DEBUG_TRANSACTION,
- "%d:%d %s %d %d:%d, cmd %d size %zd-%zd ptr %016llx-%016llx\n",
+ "%d:%d %s %d %d:%d, cmd %u size %zd-%zd ptr %016llx-%016llx\n",
proc->pid, thread->pid,
(cmd == BR_TRANSACTION) ? "BR_TRANSACTION" :
(cmd == BR_TRANSACTION_SEC_CTX) ?
--
2.36.0.512.ge40c2bad7a-goog



2022-05-10 01:16:40

by Todd Kjos

[permalink] [raw]
Subject: Re: [PATCH] binder: fix printk format for commands

On Mon, May 9, 2022 at 4:19 PM Carlos Llamas <[email protected]> wrote:
>
> Make sure we use unsigned format specifier %u for binder commands as
> most of them are encoded above INT_MAX. This prevents negative values
> when logging them as in the following case:
>
> [ 211.895781] binder: 8668:8668 BR_REPLY 258949 0:0, cmd -2143260157 size 0-0 ptr 0000006e766a8000-0000006e766a8000
>
> Signed-off-by: Carlos Llamas <[email protected]>

Acked-by: Todd Kjos <[email protected]>

> ---
> 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 f3b639e89dd8..b4b0e4489bef 100644
> --- a/drivers/android/binder.c
> +++ b/drivers/android/binder.c
> @@ -3984,7 +3984,7 @@ static int binder_thread_write(struct binder_proc *proc,
> } break;
>
> default:
> - pr_err("%d:%d unknown command %d\n",
> + pr_err("%d:%d unknown command %u\n",
> proc->pid, thread->pid, cmd);
> return -EINVAL;
> }
> @@ -4490,7 +4490,7 @@ static int binder_thread_read(struct binder_proc *proc,
> trace_binder_transaction_received(t);
> binder_stat_br(proc, thread, cmd);
> binder_debug(BINDER_DEBUG_TRANSACTION,
> - "%d:%d %s %d %d:%d, cmd %d size %zd-%zd ptr %016llx-%016llx\n",
> + "%d:%d %s %d %d:%d, cmd %u size %zd-%zd ptr %016llx-%016llx\n",
> proc->pid, thread->pid,
> (cmd == BR_TRANSACTION) ? "BR_TRANSACTION" :
> (cmd == BR_TRANSACTION_SEC_CTX) ?
> --
> 2.36.0.512.ge40c2bad7a-goog
>

2022-05-10 11:57:00

by Christian Brauner

[permalink] [raw]
Subject: Re: [PATCH] binder: fix printk format for commands

On Mon, May 09, 2022 at 11:19:01PM +0000, Carlos Llamas wrote:
> Make sure we use unsigned format specifier %u for binder commands as
> most of them are encoded above INT_MAX. This prevents negative values
> when logging them as in the following case:
>
> [ 211.895781] binder: 8668:8668 BR_REPLY 258949 0:0, cmd -2143260157 size 0-0 ptr 0000006e766a8000-0000006e766a8000
>
> Signed-off-by: Carlos Llamas <[email protected]>
> ---

Looks good to me,
Acked-by: Christian Brauner (Microsoft) <[email protected]>