Lines Matching defs:death
1216 if (ref->death) {
1218 "%d delete ref %d desc %d has death notification\n",
1221 binder_dequeue_work(ref->proc, &ref->death->work);
1350 * (if non-NULL) and the binder_ref_death indicated by ref->death.
1356 kfree(ref->death);
4400 struct binder_ref_death *death = NULL;
4410 * Allocate memory for death notification
4413 death = kzalloc_obj(*death);
4414 if (death == NULL) {
4438 kfree(death);
4454 if (ref->death) {
4455 binder_user_error("%d:%d BC_REQUEST_DEATH_NOTIFICATION death notification already set\n",
4459 kfree(death);
4463 INIT_LIST_HEAD(&death->work.entry);
4464 death->cookie = cookie;
4465 ref->death = death;
4467 ref->death->work.type = BINDER_WORK_DEAD_BINDER;
4471 &ref->death->work, &proc->todo);
4476 if (ref->death == NULL) {
4477 binder_user_error("%d:%d BC_CLEAR_DEATH_NOTIFICATION death notification not active\n",
4483 death = ref->death;
4484 if (death->cookie != cookie) {
4485 binder_user_error("%d:%d BC_CLEAR_DEATH_NOTIFICATION death notification cookie mismatch %016llx != %016llx\n",
4487 (u64)death->cookie,
4493 ref->death = NULL;
4495 if (list_empty(&death->work.entry)) {
4496 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION;
4502 &death->work);
4505 &death->work,
4511 BUG_ON(death->work.type != BINDER_WORK_DEAD_BINDER);
4512 death->work.type = BINDER_WORK_DEAD_BINDER_AND_CLEAR;
4522 struct binder_ref_death *death = NULL;
4537 death = tmp_death;
4544 death);
4545 if (death == NULL) {
4551 binder_dequeue_work_ilocked(&death->work);
4552 if (death->work.type == BINDER_WORK_DEAD_BINDER_AND_CLEAR) {
4553 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION;
4558 thread, &death->work);
4561 &death->work,
4960 struct binder_ref_death *death;
4964 death = container_of(w, struct binder_ref_death, work);
4969 cookie = death->cookie;
4980 kfree(death);
5234 struct binder_ref_death *death;
5236 death = container_of(w, struct binder_ref_death, work);
5238 "undelivered death notification, %016llx\n",
5239 (u64)death->cookie);
5240 kfree(death);
6214 int death = 0;
6249 * death notifications.
6252 if (!ref->death) {
6257 death++;
6259 BUG_ON(!list_empty(&ref->death->work.entry));
6260 ref->death->work.type = BINDER_WORK_DEAD_BINDER;
6261 binder_enqueue_work_ilocked(&ref->death->work,
6268 "node %d now dead, refs %d, death %d\n",
6269 node->debug_id, refs, death);
6491 seq_printf(m, "%shas cleared death notification\n", prefix);
6586 ref->data.weak, ref->death);
6751 "death",