OSDN Git Service

binder: add failed transaction logging info
authorCarlos Llamas <cmllamas@google.com>
Fri, 29 Apr 2022 23:56:40 +0000 (23:56 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 May 2022 13:43:24 +0000 (15:43 +0200)
Make sure we log relevant information about failed transactions such as
the target proc/thread, call type and transaction id. These details are
particularly important when debugging userspace issues.

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

index 5ffdad2..f0690d4 100644 (file)
@@ -3470,8 +3470,12 @@ err_invalid_target_handle:
        }
 
        binder_debug(BINDER_DEBUG_FAILED_TRANSACTION,
-                    "%d:%d transaction failed %d/%d, size %lld-%lld line %d\n",
-                    proc->pid, thread->pid, return_error, return_error_param,
+                    "%d:%d transaction %s to %d:%d failed %d/%d/%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,
                     return_error_line);