diff options
| author | Todd Kjos <tkjos@google.com> | 2017-05-12 14:42:55 -0700 |
|---|---|---|
| committer | Todd Kjos <tkjos@google.com> | 2017-07-13 15:15:33 +0000 |
| commit | e482ec39d635cd1bcf764f2aefbc4ab3149d2299 (patch) | |
| tree | a4a21d34e00c3275b24b19f55356f431d438c617 /tools/perf/scripts/python | |
| parent | f80cbc72e1b892d9df17c84050891a6bb53cbeac (diff) | |
FROMLIST: binder: make sure accesses to proc/thread are safe
(from https://patchwork.kernel.org/patch/9817787/)
binder_thread and binder_proc may be accessed by other
threads when processing transaction. Therefore they
must be prevented from being freed while a transaction
is in progress that references them.
This is done by introducing a temporary reference
counter for threads and procs that indicates that the
object is in use and must not be freed. binder_thread_dec_tmpref()
and binder_proc_dec_tmpref() are used to decrement
the temporary reference.
It is safe to free a binder_thread if there
is no reference and it has been released
(indicated by thread->is_dead).
It is safe to free a binder_proc if it has no
remaining threads and no reference.
A spinlock is added to the binder_transaction
to safely access and set references for t->from
and for debug code to safely access t->to_thread
and t->to_proc.
Change-Id: I0a00a0294c3e93aea8b3f141c6f18e77ad244078
Signed-off-by: Todd Kjos <tkjos@google.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
