/linux-6.1.9/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 | 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 | list.h | 841 h->pprev = NULL; in INIT_HLIST_NODE() 854 return !h->pprev; in hlist_unhashed() 867 return !READ_ONCE(h->pprev); in hlist_unhashed_lockless() 882 struct hlist_node **pprev = n->pprev; in __hlist_del() local 884 WRITE_ONCE(*pprev, next); in __hlist_del() 886 WRITE_ONCE(next->pprev, pprev); in __hlist_del() 900 n->pprev = LIST_POISON2; in hlist_del() 930 WRITE_ONCE(first->pprev, &n->next); in hlist_add_head() 932 WRITE_ONCE(n->pprev, &h->first); in hlist_add_head() 943 WRITE_ONCE(n->pprev, next->pprev); in hlist_add_before() [all …]
|
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-6.1.9/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-6.1.9/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-6.1.9/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-6.1.9/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-6.1.9/tools/include/linux/ |
D | list.h | 612 h->pprev = NULL; in INIT_HLIST_NODE() 617 return !h->pprev; in hlist_unhashed() 628 struct hlist_node **pprev = n->pprev; in __hlist_del() local 630 WRITE_ONCE(*pprev, next); in __hlist_del() 632 next->pprev = pprev; in __hlist_del() 639 n->pprev = LIST_POISON2; in hlist_del() 655 first->pprev = &n->next; in hlist_add_head() 657 n->pprev = &h->first; in hlist_add_head() 664 n->pprev = next->pprev; in hlist_add_before() 666 next->pprev = &n->next; in hlist_add_before() [all …]
|
D | types.h | 93 struct hlist_node *next, **pprev; member
|
/linux-6.1.9/kernel/ |
D | task_work.c | 90 struct callback_head **pprev = &task->task_works; in task_work_cancel_match() local 103 work = READ_ONCE(*pprev); in task_work_cancel_match() 106 pprev = &work->next; in task_work_cancel_match() 107 work = READ_ONCE(*pprev); in task_work_cancel_match() 108 } else if (try_cmpxchg(pprev, &work, work->next)) in task_work_cancel_match()
|
/linux-6.1.9/mm/ |
D | mprotect.c | 549 struct vm_area_struct **pprev, unsigned long start, in mprotect_fixup() argument 561 *pprev = vma; in mprotect_fixup() 605 *pprev = vma_merge(mm, *pprev, start, end, newflags, in mprotect_fixup() 608 if (*pprev) { in mprotect_fixup() 609 vma = *pprev; in mprotect_fixup() 614 *pprev = vma; in mprotect_fixup()
|
/linux-6.1.9/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()
|
D | list-test.c | 896 KUNIT_EXPECT_PTR_EQ(test, b.pprev, &list.first); in hlist_test_del() 912 KUNIT_EXPECT_PTR_EQ(test, b.pprev, &list.first); in hlist_test_del_init() 916 KUNIT_EXPECT_PTR_EQ(test, a.pprev, NULL); in hlist_test_del_init() 933 KUNIT_EXPECT_PTR_EQ(test, c.pprev, &(b.next)); in hlist_test_add() 936 KUNIT_EXPECT_PTR_EQ(test, a.pprev, &(c.next)); in hlist_test_add() 939 KUNIT_EXPECT_PTR_EQ(test, d.pprev, &(a.next)); in hlist_test_add()
|
/linux-6.1.9/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-6.1.9/tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/ |
D | types.h | 117 struct hlist_node *next, **pprev; member
|
/linux-6.1.9/net/sched/ |
D | cls_api.c | 1659 struct tcf_proto __rcu **pprev; member 1666 return tcf_chain_dereference(*chain_info->pprev, chain); in tcf_chain_tp_prev() 1677 if (*chain_info->pprev == chain->filter_chain) in tcf_chain_tp_insert() 1680 rcu_assign_pointer(*chain_info->pprev, tp); in tcf_chain_tp_insert() 1694 RCU_INIT_POINTER(*chain_info->pprev, next); in tcf_chain_tp_remove() 1747 struct tcf_proto **pprev; in tcf_chain_tp_delete_empty() local 1753 for (pprev = &chain->filter_chain; in tcf_chain_tp_delete_empty() 1754 (tp_iter = tcf_chain_dereference(*pprev, chain)); in tcf_chain_tp_delete_empty() 1755 pprev = &tp_iter->next) { in tcf_chain_tp_delete_empty() 1757 chain_info.pprev = pprev; in tcf_chain_tp_delete_empty() [all …]
|
/linux-6.1.9/drivers/of/ |
D | fdt.c | 116 struct property *pp, **pprev = NULL; in populate_properties() local 120 pprev = &np->properties; in populate_properties() 169 *pprev = pp; in populate_properties() 170 pprev = &pp->next; in populate_properties() 197 *pprev = pp; in populate_properties()
|