Lines Matching defs:death
1199 if (ref->death) {
1201 "%d delete ref %d desc %d has death notification\n",
1204 binder_dequeue_work(ref->proc, &ref->death->work);
1327 * (if non-NULL) and the binder_ref_death indicated by ref->death.
1333 kfree(ref->death);
4136 struct binder_ref_death *death = NULL;
4146 * Allocate memory for death notification
4149 death = kzalloc(sizeof(*death), GFP_KERNEL);
4150 if (death == NULL) {
4174 kfree(death);
4190 if (ref->death) {
4191 binder_user_error("%d:%d BC_REQUEST_DEATH_NOTIFICATION death notification already set\n",
4195 kfree(death);
4199 INIT_LIST_HEAD(&death->work.entry);
4200 death->cookie = cookie;
4201 ref->death = death;
4203 ref->death->work.type = BINDER_WORK_DEAD_BINDER;
4207 &ref->death->work, &proc->todo);
4212 if (ref->death == NULL) {
4213 binder_user_error("%d:%d BC_CLEAR_DEATH_NOTIFICATION death notification not active\n",
4219 death = ref->death;
4220 if (death->cookie != cookie) {
4221 binder_user_error("%d:%d BC_CLEAR_DEATH_NOTIFICATION death notification cookie mismatch %016llx != %016llx\n",
4223 (u64)death->cookie,
4229 ref->death = NULL;
4231 if (list_empty(&death->work.entry)) {
4232 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION;
4238 &death->work);
4241 &death->work,
4247 BUG_ON(death->work.type != BINDER_WORK_DEAD_BINDER);
4248 death->work.type = BINDER_WORK_DEAD_BINDER_AND_CLEAR;
4258 struct binder_ref_death *death = NULL;
4273 death = tmp_death;
4280 death);
4281 if (death == NULL) {
4287 binder_dequeue_work_ilocked(&death->work);
4288 if (death->work.type == BINDER_WORK_DEAD_BINDER_AND_CLEAR) {
4289 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION;
4294 thread, &death->work);
4297 &death->work,
4656 struct binder_ref_death *death;
4660 death = container_of(w, struct binder_ref_death, work);
4665 cookie = death->cookie;
4676 kfree(death);
4908 struct binder_ref_death *death;
4910 death = container_of(w, struct binder_ref_death, work);
4912 "undelivered death notification, %016llx\n",
4913 (u64)death->cookie);
4914 kfree(death);
5925 int death = 0;
5960 * death notifications.
5963 if (!ref->death) {
5968 death++;
5970 BUG_ON(!list_empty(&ref->death->work.entry));
5971 ref->death->work.type = BINDER_WORK_DEAD_BINDER;
5972 binder_enqueue_work_ilocked(&ref->death->work,
5979 "node %d now dead, refs %d, death %d\n",
5980 node->debug_id, refs, death);
6196 seq_printf(m, "%shas cleared death notification\n", prefix);
6279 ref->data.weak, ref->death);
6402 "death",