drivers/android/binder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
When a transaction fails, log the 'tr->code' to help indentify the
problematic userspace call path. This additional information will
simplify debugging efforts.
Cc: Steven Moreland <smoreland@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
---
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 ef353ca13c35..cb4187a4e595 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -3801,13 +3801,13 @@ static void binder_transaction(struct binder_proc *proc,
}
binder_debug(BINDER_DEBUG_FAILED_TRANSACTION,
- "%d:%d transaction %s to %d:%d failed %d/%d/%d, size %lld-%lld line %d\n",
+ "%d:%d transaction %s to %d:%d failed %d/%d/%d, code %d size %lld-%lld line %d\n",
proc->pid, thread->pid, reply ? "reply" :
(tr->flags & TF_ONE_WAY ? "async" : "call"),
target_proc ? target_proc->pid : 0,
target_thread ? target_thread->pid : 0,
t_debug_id, return_error, return_error_param,
- (u64)tr->data_size, (u64)tr->offsets_size,
+ tr->code, (u64)tr->data_size, (u64)tr->offsets_size,
return_error_line);
if (target_thread)
--
2.47.1.613.gc27f4b7a9f-goog
On Fri, Jan 10, 2025 at 1:05 AM Carlos Llamas <cmllamas@google.com> wrote: > > When a transaction fails, log the 'tr->code' to help indentify the > problematic userspace call path. This additional information will > simplify debugging efforts. > > Cc: Steven Moreland <smoreland@google.com> > Signed-off-by: Carlos Llamas <cmllamas@google.com> > --- > 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 ef353ca13c35..cb4187a4e595 100644 > --- a/drivers/android/binder.c > +++ b/drivers/android/binder.c > @@ -3801,13 +3801,13 @@ static void binder_transaction(struct binder_proc *proc, > } > > binder_debug(BINDER_DEBUG_FAILED_TRANSACTION, > - "%d:%d transaction %s to %d:%d failed %d/%d/%d, size %lld-%lld line %d\n", > + "%d:%d transaction %s to %d:%d failed %d/%d/%d, code %d size %lld-%lld line %d\n", Shouldn't this by %u instead? Alice
On Fri, Jan 10, 2025 at 01:11:32PM +0100, Alice Ryhl wrote: > On Fri, Jan 10, 2025 at 1:05 AM Carlos Llamas <cmllamas@google.com> wrote: > > > > When a transaction fails, log the 'tr->code' to help indentify the > > problematic userspace call path. This additional information will > > simplify debugging efforts. > > > > Cc: Steven Moreland <smoreland@google.com> > > Signed-off-by: Carlos Llamas <cmllamas@google.com> > > --- > > 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 ef353ca13c35..cb4187a4e595 100644 > > --- a/drivers/android/binder.c > > +++ b/drivers/android/binder.c > > @@ -3801,13 +3801,13 @@ static void binder_transaction(struct binder_proc *proc, > > } > > > > binder_debug(BINDER_DEBUG_FAILED_TRANSACTION, > > - "%d:%d transaction %s to %d:%d failed %d/%d/%d, size %lld-%lld line %d\n", > > + "%d:%d transaction %s to %d:%d failed %d/%d/%d, code %d size %lld-%lld line %d\n", > > Shouldn't this by %u instead? Yes, with tr->code being u32 it technically should use %u. I'll send a new version. Thanks!
When a transaction fails, log the 'tr->code' to help indentify the
problematic userspace call path. This additional information will
simplify debugging efforts.
Cc: Steven Moreland <smoreland@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
---
Notes:
v2: use %u format specifier per Alice's feedback
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 ef353ca13c35..45c70644aee5 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -3801,13 +3801,13 @@ static void binder_transaction(struct binder_proc *proc,
}
binder_debug(BINDER_DEBUG_FAILED_TRANSACTION,
- "%d:%d transaction %s to %d:%d failed %d/%d/%d, size %lld-%lld line %d\n",
+ "%d:%d transaction %s to %d:%d failed %d/%d/%d, code %u size %lld-%lld line %d\n",
proc->pid, thread->pid, reply ? "reply" :
(tr->flags & TF_ONE_WAY ? "async" : "call"),
target_proc ? target_proc->pid : 0,
target_thread ? target_thread->pid : 0,
t_debug_id, return_error, return_error_param,
- (u64)tr->data_size, (u64)tr->offsets_size,
+ tr->code, (u64)tr->data_size, (u64)tr->offsets_size,
return_error_line);
if (target_thread)
--
2.47.1.613.gc27f4b7a9f-goog
On Fri, Jan 10, 2025 at 6:51 PM Carlos Llamas <cmllamas@google.com> wrote: > > When a transaction fails, log the 'tr->code' to help indentify the > problematic userspace call path. This additional information will > simplify debugging efforts. > > Cc: Steven Moreland <smoreland@google.com> > Signed-off-by: Carlos Llamas <cmllamas@google.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com>
© 2016 - 2025 Red Hat, Inc.