binder: fix printk format for commands
authorCarlos Llamas <cmllamas@google.com>
Mon, 9 May 2022 23:19:01 +0000 (23:19 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 May 2022 16:41:11 +0000 (18:41 +0200)
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

Acked-by: Todd Kjos <tkjos@google.com>
Acked-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20220509231901.3852573-1-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/android/binder.c

index d9253b2..176bb04 100644 (file)
@@ -4083,7 +4083,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;
                }
@@ -4578,7 +4578,7 @@ retry:
                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) ?