Lines Matching refs:death

269 	struct binder_ref_death *death;  member
1103 if (ref->death) { in binder_delete_ref()
1107 list_del(&ref->death->work.entry); in binder_delete_ref()
1108 kfree(ref->death); in binder_delete_ref()
1985 struct binder_ref_death *death; in binder_thread_write() local
2014 if (ref->death) { in binder_thread_write()
2019 death = kzalloc(sizeof(*death), GFP_KERNEL); in binder_thread_write()
2020 if (death == NULL) { in binder_thread_write()
2028 INIT_LIST_HEAD(&death->work.entry); in binder_thread_write()
2029 death->cookie = cookie; in binder_thread_write()
2030 ref->death = death; in binder_thread_write()
2032 ref->death->work.type = BINDER_WORK_DEAD_BINDER; in binder_thread_write()
2034 list_add_tail(&ref->death->work.entry, &thread->todo); in binder_thread_write()
2036 list_add_tail(&ref->death->work.entry, &proc->todo); in binder_thread_write()
2041 if (ref->death == NULL) { in binder_thread_write()
2046 death = ref->death; in binder_thread_write()
2047 if (death->cookie != cookie) { in binder_thread_write()
2050 (u64)death->cookie, in binder_thread_write()
2054 ref->death = NULL; in binder_thread_write()
2055 if (list_empty(&death->work.entry)) { in binder_thread_write()
2056 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION; in binder_thread_write()
2058 list_add_tail(&death->work.entry, &thread->todo); in binder_thread_write()
2060 list_add_tail(&death->work.entry, &proc->todo); in binder_thread_write()
2064 BUG_ON(death->work.type != BINDER_WORK_DEAD_BINDER); in binder_thread_write()
2065 death->work.type = BINDER_WORK_DEAD_BINDER_AND_CLEAR; in binder_thread_write()
2072 struct binder_ref_death *death = NULL; in binder_thread_write() local
2082 death = tmp_death; in binder_thread_write()
2089 death); in binder_thread_write()
2090 if (death == NULL) { in binder_thread_write()
2096 list_del_init(&death->work.entry); in binder_thread_write()
2097 if (death->work.type == BINDER_WORK_DEAD_BINDER_AND_CLEAR) { in binder_thread_write()
2098 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION; in binder_thread_write()
2100 list_add_tail(&death->work.entry, &thread->todo); in binder_thread_write()
2102 list_add_tail(&death->work.entry, &proc->todo); in binder_thread_write()
2337 struct binder_ref_death *death; in binder_thread_read() local
2340 death = container_of(w, struct binder_ref_death, work); in binder_thread_read()
2348 if (put_user(death->cookie, in binder_thread_read()
2359 (u64)death->cookie); in binder_thread_read()
2363 kfree(death); in binder_thread_read()
2500 struct binder_ref_death *death; in binder_release_work() local
2502 death = container_of(w, struct binder_ref_death, work); in binder_release_work()
2505 (u64)death->cookie); in binder_release_work()
2506 kfree(death); in binder_release_work()
3022 int death = 0; in binder_node_release() local
3042 if (!ref->death) in binder_node_release()
3045 death++; in binder_node_release()
3047 if (list_empty(&ref->death->work.entry)) { in binder_node_release()
3048 ref->death->work.type = BINDER_WORK_DEAD_BINDER; in binder_node_release()
3049 list_add_tail(&ref->death->work.entry, in binder_node_release()
3058 node->debug_id, refs, death); in binder_node_release()
3354 ref->node->debug_id, ref->strong, ref->weak, ref->death); in print_binder_ref()