[PATCH 02/37] binder: use group leader instead of open thread

Greg Kroah-Hartman gregkh at linuxfoundation.org
Mon Jul 24 21:23:49 UTC 2017


On Mon, Jul 24, 2017 at 02:00:45PM -0700, John Stultz wrote:
> On Thu, Jun 29, 2017 at 12:01 PM, Todd Kjos <tkjos at android.com> wrote:
> > The binder allocator assumes that the thread that
> > called binder_open will never die for the lifetime of
> > that proc. That thread is normally the group_leader,
> > however it may not be. Use the group_leader instead
> > of current.
> >
> > Signed-off-by: Todd Kjos <tkjos at 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 157bd3e49ff4..9393924ae8e8 100644
> > --- a/drivers/android/binder.c
> > +++ b/drivers/android/binder.c
> > @@ -3460,8 +3460,8 @@ static int binder_open(struct inode *nodp, struct file *filp)
> >         proc = kzalloc(sizeof(*proc), GFP_KERNEL);
> >         if (proc == NULL)
> >                 return -ENOMEM;
> > -       get_task_struct(current);
> > -       proc->tsk = current;
> > +       get_task_struct(current->group_leader);
> > +       proc->tsk = current->group_leader;
> >         INIT_LIST_HEAD(&proc->todo);
> >         init_waitqueue_head(&proc->wait);
> >         proc->default_priority = task_nice(current);
> > --
> 
> So this patch landed in 4.13-rc2 (c4ea41ba195d), and seems to be
> causing a regression for me w/ HiKey. With it, I'm getting crashes
> with the bluetooth and wifi HALs.  Reverting this patch seems to
> resolve the issue
> 
> I suspect some other dependency from the original patchset is missing?

If you use linux-next (or all of the patches in this series), does the
problem go away?

thanks,

greg k-h


More information about the devel mailing list