lkml.org 
[lkml]   [2018]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject答复: [PATCH] ANDROID: binder: correct the cmd print for BINDER WORK RETURN ERROR
Date
OK,this patch is based on the downstream android kernel4.4 version, not yet include the latest changes, let me update the patch to base on the latest upstream, Tks.

________________________________________
发件人: Todd Kjos <tkjos@google.com>
发送时间: 2018年5月10日 2:08
收件人: 宋金时
抄送: Greg Kroah-Hartman; Martijn Coenen; Arve Hjønnevåg; LKML
主题: Re: [PATCH] ANDROID: binder: correct the cmd print for BINDER_WORK_RETURN_ERROR

On Wed, May 9, 2018 at 12:31 AM 宋金时 <songjinshi@xiaomi.com> wrote:

> 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.


That's not the problem... the problem is that e->cmd is unconditionally set
to BR_OK prior to the call to binder_stat_br(proc, thread, e->cmd) so the
reported cmd is always BR_OK.


> Signed-off-by: songjinshi <songjinshi@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))


Don't you also need to use cmd in the call to binder_state_br() below?

- binder_stat_br(proc, thread, e->cmd);
+ binder_stat_br(proc, thread, cmd);

-Todd
\
 
 \ /
  Last update: 2018-05-10 04:42    [W:0.074 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site