Lines Matching refs:death
1152 if (ref->death) { in binder_cleanup_ref_olocked()
1157 binder_dequeue_work(ref->proc, &ref->death->work); in binder_cleanup_ref_olocked()
1286 kfree(ref->death); in binder_free_ref()
4034 struct binder_ref_death *death = NULL; in binder_thread_write() local
4047 death = kzalloc(sizeof(*death), GFP_KERNEL); in binder_thread_write()
4048 if (death == NULL) { in binder_thread_write()
4072 kfree(death); in binder_thread_write()
4088 if (ref->death) { in binder_thread_write()
4093 kfree(death); in binder_thread_write()
4097 INIT_LIST_HEAD(&death->work.entry); in binder_thread_write()
4098 death->cookie = cookie; in binder_thread_write()
4099 ref->death = death; in binder_thread_write()
4101 ref->death->work.type = BINDER_WORK_DEAD_BINDER; in binder_thread_write()
4105 &ref->death->work, &proc->todo); in binder_thread_write()
4110 if (ref->death == NULL) { in binder_thread_write()
4117 death = ref->death; in binder_thread_write()
4118 if (death->cookie != cookie) { in binder_thread_write()
4121 (u64)death->cookie, in binder_thread_write()
4127 ref->death = NULL; in binder_thread_write()
4129 if (list_empty(&death->work.entry)) { in binder_thread_write()
4130 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION; in binder_thread_write()
4136 &death->work); in binder_thread_write()
4139 &death->work, in binder_thread_write()
4145 BUG_ON(death->work.type != BINDER_WORK_DEAD_BINDER); in binder_thread_write()
4146 death->work.type = BINDER_WORK_DEAD_BINDER_AND_CLEAR; in binder_thread_write()
4156 struct binder_ref_death *death = NULL; in binder_thread_write() local
4171 death = tmp_death; in binder_thread_write()
4178 death); in binder_thread_write()
4179 if (death == NULL) { in binder_thread_write()
4185 binder_dequeue_work_ilocked(&death->work); in binder_thread_write()
4186 if (death->work.type == BINDER_WORK_DEAD_BINDER_AND_CLEAR) { in binder_thread_write()
4187 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION; in binder_thread_write()
4192 thread, &death->work); in binder_thread_write()
4195 &death->work, in binder_thread_write()
4551 struct binder_ref_death *death; in binder_thread_read() local
4555 death = container_of(w, struct binder_ref_death, work); in binder_thread_read()
4560 cookie = death->cookie; in binder_thread_read()
4571 kfree(death); in binder_thread_read()
4785 struct binder_ref_death *death; in binder_release_work() local
4787 death = container_of(w, struct binder_ref_death, work); in binder_release_work()
4790 (u64)death->cookie); in binder_release_work()
4791 kfree(death); in binder_release_work()
5728 int death = 0; in binder_node_release() local
5766 if (!ref->death) { in binder_node_release()
5771 death++; in binder_node_release()
5773 BUG_ON(!list_empty(&ref->death->work.entry)); in binder_node_release()
5774 ref->death->work.type = BINDER_WORK_DEAD_BINDER; in binder_node_release()
5775 binder_enqueue_work_ilocked(&ref->death->work, in binder_node_release()
5783 node->debug_id, refs, death); in binder_node_release()
6080 ref->data.weak, ref->death); in print_binder_ref_olocked()