In case of the BINDER_WORK_RETURN_ERROR the cmd is no assignment, so it's value will be old value or dirty value, before modifying e->cmd, assign the value of the e->cmd to cmd to ensure the correct print of binder_stat_br.
Signed-off-by: songjinshi <songjin...@xiaomi.com> --- diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 4ffc84d..acd7d44a 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -4086,6 +4086,7 @@ struct binder_error *e = container_of( w, struct binder_error, work); + cmd = e->cmd; WARN_ON(e->cmd == BR_OK); binder_inner_proc_unlock(proc); if (put_user(e->cmd, (uint32_t __user *)ptr))