[android-kernel] Binder fix of "binder_alloc_buf, no nma" errors

3,918 views
Skip to first unread message

Pantelis Antoniou

unread,
Apr 22, 2010, 10:12:06 AM4/22/10
to android...@googlegroups.com, Hollis Blanchard, anil...@gmail.com
Hello all,

In recent kernels we encountered very mysterious binder related
crashes, and only on a particular board port on powerpc.

The symptoms were a backtrace from a WARN at kernel/workqueue.c
flush_cpu_workqueue and afterwards the system hanged with a flurry of

binder: 1903: binder_alloc_buf, no vma
binder: 2084:2084 transaction failed 536900113, size60-0

messages.

It turns out the reason is that the deffered path was executed
from a workqueue context, and called files_put.

files_put would call recursively flush the workqueue, and we
ended up recursively at flush_cpu_workqueue.

That workqueue got blocked and soon after we crashed.

There is a patch pending in linux testing that detects the recursion but
the backtrace still remains, and it's problematic.

We fixed it, by creating a binder kthread that handles the deferred
operations.

We include a reworked patch against the top of the android mainline
kernel.

Hope this helps anyone encountering the same problem, like anil with
the eclair porting problem: (Subject eclair-porting-problem)

Regards

-- Pantelis

binder-android-mainline.patch

Savitri Negi

unread,
Dec 24, 2014, 4:00:26 AM12/24/14
to android...@googlegroups.com, Hollis_B...@mentor.com, anil...@gmail.com
hello
we are getting same error messages . Our configuration is arm cortex A8(AM3359) processor running android 2.3.4. We are making some data transfers on rs232 using custom android application . My application also freezes with the same message on console.. Will the same patch work for my configuration

Thanks
Reply all
Reply to author
Forward
0 new messages