/Linux-v5.15/include/linux/ |
D | list_bl.h | 39 struct hlist_bl_node *next, **pprev; member 47 h->pprev = NULL; in INIT_HLIST_BL_NODE() 54 return !h->pprev; in hlist_bl_unhashed() 84 first->pprev = &n->next; in hlist_bl_add_head() 85 n->pprev = &h->first; in hlist_bl_add_head() 92 struct hlist_bl_node **pprev = next->pprev; in hlist_bl_add_before() local 94 n->pprev = pprev; in hlist_bl_add_before() 96 next->pprev = &n->next; in hlist_bl_add_before() 99 WRITE_ONCE(*pprev, in hlist_bl_add_before() 101 ((uintptr_t)n | ((uintptr_t)*pprev & LIST_BL_LOCKMASK))); in hlist_bl_add_before() [all …]
|
D | list_nulls.h | 26 struct hlist_nulls_node *next, **pprev; member 69 return !h->pprev; in hlist_nulls_unhashed() 83 return !READ_ONCE(h->pprev); in hlist_nulls_unhashed_lockless() 97 WRITE_ONCE(n->pprev, &h->first); in hlist_nulls_add_head() 100 WRITE_ONCE(first->pprev, &n->next); in hlist_nulls_add_head() 106 struct hlist_nulls_node **pprev = n->pprev; in __hlist_nulls_del() local 108 WRITE_ONCE(*pprev, next); in __hlist_nulls_del() 110 WRITE_ONCE(next->pprev, pprev); in __hlist_nulls_del() 116 WRITE_ONCE(n->pprev, LIST_POISON2); in hlist_nulls_del()
|
D | rculist.h | 185 WRITE_ONCE(n->pprev, NULL); in hlist_del_init_rcu() 514 WRITE_ONCE(n->pprev, LIST_POISON2); in hlist_del_rcu() 530 WRITE_ONCE(new->pprev, old->pprev); in hlist_replace_rcu() 531 rcu_assign_pointer(*(struct hlist_node __rcu **)new->pprev, new); in hlist_replace_rcu() 533 WRITE_ONCE(new->next->pprev, &new->next); in hlist_replace_rcu() 534 WRITE_ONCE(old->pprev, LIST_POISON2); in hlist_replace_rcu() 554 WRITE_ONCE(node2->pprev, &left->first); in hlists_swap_heads_rcu() 555 WRITE_ONCE(node1->pprev, &right->first); in hlists_swap_heads_rcu() 563 #define hlist_pprev_rcu(node) (*((struct hlist_node __rcu **)((node)->pprev))) 590 WRITE_ONCE(n->pprev, &h->first); in hlist_add_head_rcu() [all …]
|
D | list.h | 795 h->pprev = NULL; in INIT_HLIST_NODE() 808 return !h->pprev; in hlist_unhashed() 821 return !READ_ONCE(h->pprev); in hlist_unhashed_lockless() 836 struct hlist_node **pprev = n->pprev; in __hlist_del() local 838 WRITE_ONCE(*pprev, next); in __hlist_del() 840 WRITE_ONCE(next->pprev, pprev); in __hlist_del() 854 n->pprev = LIST_POISON2; in hlist_del() 884 WRITE_ONCE(first->pprev, &n->next); in hlist_add_head() 886 WRITE_ONCE(n->pprev, &h->first); in hlist_add_head() 897 WRITE_ONCE(n->pprev, next->pprev); in hlist_add_before() [all …]
|
D | rculist_nulls.h | 37 WRITE_ONCE(n->pprev, NULL); in hlist_nulls_del_init_rcu() 77 WRITE_ONCE(n->pprev, LIST_POISON2); in hlist_nulls_del_rcu() 105 WRITE_ONCE(n->pprev, &h->first); in hlist_nulls_add_head_rcu() 108 WRITE_ONCE(first->pprev, &n->next); in hlist_nulls_add_head_rcu() 141 n->pprev = &last->next; in hlist_nulls_add_tail_rcu() 151 n->pprev = &n->next; in hlist_nulls_add_fake()
|
D | rculist_bl.h | 49 n->pprev = LIST_POISON2; in hlist_bl_del_rcu() 81 first->pprev = &n->next; in hlist_bl_add_head_rcu() 82 n->pprev = &h->first; in hlist_bl_add_head_rcu()
|
D | rhashtable.h | 706 struct rhash_head __rcu **pprev; in __rhashtable_insert_fast() local 722 pprev = NULL; in __rhashtable_insert_fast() 741 pprev = &head->next; in __rhashtable_insert_fast() 757 if (pprev) { in __rhashtable_insert_fast() 758 rcu_assign_pointer(*pprev, obj); in __rhashtable_insert_fast() 992 struct rhash_head __rcu **pprev; in __rhashtable_remove_fast_one() local 1001 pprev = NULL; in __rhashtable_remove_fast_one() 1012 pprev = &he->next; in __rhashtable_remove_fast_one() 1044 if (pprev) { in __rhashtable_remove_fast_one() 1045 rcu_assign_pointer(*pprev, obj); in __rhashtable_remove_fast_one() [all …]
|
D | types.h | 187 struct hlist_node *next, **pprev; member
|
/Linux-v5.15/net/ipv6/ |
D | tunnel6.c | 34 struct xfrm6_tunnel __rcu **pprev; in xfrm6_tunnel_register() local 43 pprev = &tunnel6_handlers; in xfrm6_tunnel_register() 46 pprev = &tunnel46_handlers; in xfrm6_tunnel_register() 49 pprev = &tunnelmpls6_handlers; in xfrm6_tunnel_register() 55 for (; (t = rcu_dereference_protected(*pprev, in xfrm6_tunnel_register() 57 pprev = &t->next) { in xfrm6_tunnel_register() 64 handler->next = *pprev; in xfrm6_tunnel_register() 65 rcu_assign_pointer(*pprev, handler); in xfrm6_tunnel_register() 78 struct xfrm6_tunnel __rcu **pprev; in xfrm6_tunnel_deregister() local 86 pprev = &tunnel6_handlers; in xfrm6_tunnel_deregister() [all …]
|
D | xfrm6_protocol.c | 236 struct xfrm6_protocol __rcu **pprev; in xfrm6_protocol_register() local 251 for (pprev = proto_handlers(protocol); in xfrm6_protocol_register() 252 (t = rcu_dereference_protected(*pprev, in xfrm6_protocol_register() 254 pprev = &t->next) { in xfrm6_protocol_register() 261 handler->next = *pprev; in xfrm6_protocol_register() 262 rcu_assign_pointer(*pprev, handler); in xfrm6_protocol_register() 283 struct xfrm6_protocol __rcu **pprev; in xfrm6_protocol_deregister() local 292 for (pprev = proto_handlers(protocol); in xfrm6_protocol_deregister() 293 (t = rcu_dereference_protected(*pprev, in xfrm6_protocol_deregister() 295 pprev = &t->next) { in xfrm6_protocol_deregister() [all …]
|
/Linux-v5.15/net/ipv4/ |
D | tunnel4.c | 33 struct xfrm_tunnel __rcu **pprev; in xfrm4_tunnel_register() local 41 for (pprev = fam_handlers(family); in xfrm4_tunnel_register() 42 (t = rcu_dereference_protected(*pprev, in xfrm4_tunnel_register() 44 pprev = &t->next) { in xfrm4_tunnel_register() 51 handler->next = *pprev; in xfrm4_tunnel_register() 52 rcu_assign_pointer(*pprev, handler); in xfrm4_tunnel_register() 65 struct xfrm_tunnel __rcu **pprev; in xfrm4_tunnel_deregister() local 71 for (pprev = fam_handlers(family); in xfrm4_tunnel_deregister() 72 (t = rcu_dereference_protected(*pprev, in xfrm4_tunnel_deregister() 74 pprev = &t->next) { in xfrm4_tunnel_deregister() [all …]
|
D | xfrm4_protocol.c | 220 struct xfrm4_protocol __rcu **pprev; in xfrm4_protocol_register() local 235 for (pprev = proto_handlers(protocol); in xfrm4_protocol_register() 236 (t = rcu_dereference_protected(*pprev, in xfrm4_protocol_register() 238 pprev = &t->next) { in xfrm4_protocol_register() 245 handler->next = *pprev; in xfrm4_protocol_register() 246 rcu_assign_pointer(*pprev, handler); in xfrm4_protocol_register() 267 struct xfrm4_protocol __rcu **pprev; in xfrm4_protocol_deregister() local 276 for (pprev = proto_handlers(protocol); in xfrm4_protocol_deregister() 277 (t = rcu_dereference_protected(*pprev, in xfrm4_protocol_deregister() 279 pprev = &t->next) { in xfrm4_protocol_deregister() [all …]
|
/Linux-v5.15/tools/lib/bpf/ |
D | hashmap.c | 24 static void hashmap_add_entry(struct hashmap_entry **pprev, in hashmap_add_entry() argument 27 entry->next = *pprev; in hashmap_add_entry() 28 *pprev = entry; in hashmap_add_entry() 31 static void hashmap_del_entry(struct hashmap_entry **pprev, in hashmap_del_entry() argument 34 *pprev = entry->next; in hashmap_del_entry() 132 struct hashmap_entry ***pprev, in hashmap_find_entry() argument 144 if (pprev) in hashmap_find_entry() 145 *pprev = prev_ptr; in hashmap_find_entry() 223 struct hashmap_entry **pprev, *entry; in hashmap__delete() local 227 if (!hashmap_find_entry(map, key, h, &pprev, &entry)) in hashmap__delete() [all …]
|
/Linux-v5.15/tools/perf/util/ |
D | hashmap.c | 24 static void hashmap_add_entry(struct hashmap_entry **pprev, in hashmap_add_entry() argument 27 entry->next = *pprev; in hashmap_add_entry() 28 *pprev = entry; in hashmap_add_entry() 31 static void hashmap_del_entry(struct hashmap_entry **pprev, in hashmap_del_entry() argument 34 *pprev = entry->next; in hashmap_del_entry() 132 struct hashmap_entry ***pprev, in hashmap_find_entry() argument 144 if (pprev) in hashmap_find_entry() 145 *pprev = prev_ptr; in hashmap_find_entry() 223 struct hashmap_entry **pprev, *entry; in hashmap__delete() local 227 if (!hashmap_find_entry(map, key, h, &pprev, &entry)) in hashmap__delete() [all …]
|
/Linux-v5.15/tools/include/linux/ |
D | list.h | 601 h->pprev = NULL; in INIT_HLIST_NODE() 606 return !h->pprev; in hlist_unhashed() 617 struct hlist_node **pprev = n->pprev; in __hlist_del() local 619 WRITE_ONCE(*pprev, next); in __hlist_del() 621 next->pprev = pprev; in __hlist_del() 628 n->pprev = LIST_POISON2; in hlist_del() 644 first->pprev = &n->next; in hlist_add_head() 646 n->pprev = &h->first; in hlist_add_head() 653 n->pprev = next->pprev; in hlist_add_before() 655 next->pprev = &n->next; in hlist_add_before() [all …]
|
D | types.h | 84 struct hlist_node *next, **pprev; member
|
/Linux-v5.15/kernel/ |
D | task_work.c | 77 struct callback_head **pprev = &task->task_works; in task_work_cancel_match() local 90 while ((work = READ_ONCE(*pprev))) { in task_work_cancel_match() 92 pprev = &work->next; in task_work_cancel_match() 93 else if (cmpxchg(pprev, work, work->next) == work) in task_work_cancel_match()
|
/Linux-v5.15/mm/ |
D | mprotect.c | 409 mprotect_fixup(struct vm_area_struct *vma, struct vm_area_struct **pprev, in mprotect_fixup() argument 421 *pprev = vma; in mprotect_fixup() 465 *pprev = vma_merge(mm, *pprev, start, end, newflags, in mprotect_fixup() 468 if (*pprev) { in mprotect_fixup() 469 vma = *pprev; in mprotect_fixup() 474 *pprev = vma; in mprotect_fixup()
|
D | mmap.c | 530 unsigned long end, struct vm_area_struct **pprev, in find_vma_links() argument 556 *pprev = NULL; in find_vma_links() 558 *pprev = rb_entry(rb_prev, struct vm_area_struct, vm_rb); in find_vma_links() 598 struct vm_area_struct **pprev, struct rb_node ***link, in munmap_vma_range() argument 602 while (find_vma_links(mm, start, start + len, pprev, link, parent)) in munmap_vma_range() 2312 struct vm_area_struct **pprev) in find_vma_prev() argument 2318 *pprev = vma->vm_prev; in find_vma_prev() 2322 *pprev = rb_node ? rb_entry(rb_node, struct vm_area_struct, vm_rb) : NULL; in find_vma_prev()
|
/Linux-v5.15/lib/ |
D | rhashtable.c | 232 struct rhash_head __rcu **pprev = NULL; in rhashtable_rehash_one() local 248 pprev = &entry->next; in rhashtable_rehash_one() 264 if (pprev) in rhashtable_rehash_one() 265 rcu_assign_pointer(*pprev, next); in rhashtable_rehash_one() 496 struct rhash_head __rcu **pprev = NULL; in rhashtable_lookup_one() local 510 pprev = &head->next; in rhashtable_lookup_one() 523 if (pprev) in rhashtable_lookup_one() 524 rcu_assign_pointer(*pprev, obj); in rhashtable_lookup_one()
|
/Linux-v5.15/tools/testing/selftests/bpf/progs/ |
D | btf_dump_test_case_ordering.c | 38 struct hlist_node **pprev; member
|
D | bpf_iter_tcp4.c | 12 return !(h->pprev); in hlist_unhashed_lockless()
|
/Linux-v5.15/tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/ |
D | types.h | 117 struct hlist_node *next, **pprev; member
|
/Linux-v5.15/drivers/of/ |
D | fdt.c | 115 struct property *pp, **pprev = NULL; in populate_properties() local 119 pprev = &np->properties; in populate_properties() 168 *pprev = pp; in populate_properties() 169 pprev = &pp->next; in populate_properties() 196 *pprev = pp; in populate_properties()
|
/Linux-v5.15/net/sched/ |
D | cls_api.c | 1634 struct tcf_proto __rcu **pprev; member 1641 return tcf_chain_dereference(*chain_info->pprev, chain); in tcf_chain_tp_prev() 1651 if (*chain_info->pprev == chain->filter_chain) in tcf_chain_tp_insert() 1655 rcu_assign_pointer(*chain_info->pprev, tp); in tcf_chain_tp_insert() 1669 RCU_INIT_POINTER(*chain_info->pprev, next); in tcf_chain_tp_remove() 1722 struct tcf_proto **pprev; in tcf_chain_tp_delete_empty() local 1728 for (pprev = &chain->filter_chain; in tcf_chain_tp_delete_empty() 1729 (tp_iter = tcf_chain_dereference(*pprev, chain)); in tcf_chain_tp_delete_empty() 1730 pprev = &tp_iter->next) { in tcf_chain_tp_delete_empty() 1732 chain_info.pprev = pprev; in tcf_chain_tp_delete_empty() [all …]
|