Documented in 1 files:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

net/netfilter/nf_conntrack_ecache.c ecache_work_evict_list() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &cnet->ecache.dying_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nf_conntrack_net_ecache)->dying_lock

net/netfilter/nf_conntrack_ecache.c ecache_work_evict_list() -> hlist_nulls_del_rcu()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

kernel/ucount.c put_ucounts() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &ucounts_lock

io_uring/io-wq.c io_worker_exit() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &acct->workers_lock
TYPE_LOCK (struct io_wq_acct)->workers_lock

mm/vmscan.c lru_gen_rotate_memcg() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pgdat->memcg_lru.lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct lru_gen_memcg)->lock

kernel/bpf/hashtab.c __htab_map_lookup_and_delete_batch() -> hlist_nulls_del_rcu()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 flags

kernel/bpf/hashtab.c __htab_map_lookup_and_delete_elem() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 rcu_read

kernel/bpf/hashtab.c delete_all_elements() -> hlist_nulls_del_rcu()

Type Parameter Key Value
NOCHECK_CALL

kernel/bpf/hashtab.c htab_lru_map_delete_elem() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 rcu_read

kernel/bpf/hashtab.c htab_lru_map_delete_node() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags

kernel/bpf/hashtab.c htab_lru_map_update_elem() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags

kernel/bpf/hashtab.c htab_map_delete_elem() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 rcu_read

kernel/bpf/hashtab.c htab_map_update_elem() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PARAM_VALUE 0 n 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 rcu_read

net/netfilter/nf_conntrack_core.c clean_from_lists() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &s->lock
HALF_LOCKED2 global &nf_conntrack_mutex
HALF_LOCKED2 rcu_read

net/netfilter/nf_conntrack_core.c clean_from_lists() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &s->lock
HALF_LOCKED2 global &nf_conntrack_mutex
HALF_LOCKED2 rcu_read

net/netfilter/nf_conntrack_core.c nf_conntrack_hash_resize() -> hlist_nulls_del_rcu()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 global &nf_conntrack_locks_all_lock
LOCK2 global &nf_conntrack_mutex