Defined in 2 files as a function:

Referenced in 7 files:

Smatch caller information:

kernel/bpf/bpf_local_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
HALF_LOCKED2 flags

kernel/bpf/bpf_local_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
HALF_LOCKED2 flags

kernel/bpf/bpf_local_storage.c bpf_local_storage_update() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_local_storage.c bpf_selem_link_storage_nolock() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 b_flags
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

kernel/bpf/bpf_local_storage.c bpf_selem_unlink() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_local_storage.c bpf_selem_unlink_map() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 flags

kernel/bpf/bpf_local_storage.c bpf_selem_unlink_map() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 flags

kernel/bpf/bpf_local_storage.c bpf_selem_unlink_nofail() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

kernel/bpf/bpf_local_storage.c bpf_selem_unlink_nofail() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

kernel/bpf/bpf_local_storage.c bpf_selem_unlink_storage_nolock() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 flags
HALF_LOCKED2 b_flags

kernel/bpf/bpf_cgrp_storage.c ____bpf_cgrp_storage_delete() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_cgrp_storage.c ____bpf_cgrp_storage_get() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_cgrp_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_cgrp_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_cgrp_storage.c cgroup_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

net/core/bpf_sk_storage.c ____bpf_sk_storage_delete() -> rcu_read_lock_trace_held()

Type Parameter Key Value

net/core/bpf_sk_storage.c ____bpf_sk_storage_delete_tracing() -> rcu_read_lock_trace_held()

Type Parameter Key Value

net/core/bpf_sk_storage.c ____bpf_sk_storage_get() -> rcu_read_lock_trace_held()

Type Parameter Key Value

net/core/bpf_sk_storage.c ____bpf_sk_storage_get_tracing() -> rcu_read_lock_trace_held()

Type Parameter Key Value

net/core/bpf_sk_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/core/bpf_sk_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/core/bpf_sk_storage.c bpf_sk_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

net/core/netclassid_cgroup.c task_cls_state() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

kernel/bpf/bpf_inode_storage.c ____bpf_inode_storage_delete() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_inode_storage.c ____bpf_inode_storage_get() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_inode_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_inode_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_inode_storage.c inode_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/trace/trace_uprobe.c __uprobe_perf_func() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ucb->mutex

kernel/trace/trace_uprobe.c bpf_prog_run_array_uprobe() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ucb->mutex

kernel/bpf/lpm_trie.c trie_lookup_elem() -> rcu_read_lock_trace_held()

Type Parameter Key Value
HALF_LOCKED2 rcu_read

kernel/bpf/lpm_trie.c trie_lookup_elem() -> rcu_read_lock_trace_held()

Type Parameter Key Value
HALF_LOCKED2 rcu_read

kernel/events/uprobes.c find_uprobe_rcu() -> rcu_read_lock_trace_held()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 rcu_read

kernel/events/uprobes.c handle_uretprobe_chain() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

kernel/events/uprobes.c handler_chain() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

kernel/events/uprobes.c uprobe_apply() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &uprobe->register_rwsem
LOCK2 global &event_mutex
HALF_LOCKED2 &p_event->group_leader->ctx->mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct uprobe)->register_rwsem

kernel/trace/bpf_trace.c trace_call_bpf_faultable() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_struct_ops.c bpf_prog_get_assoc_struct_ops() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/hashtab.c __htab_lru_percpu_map_update_elem() -> rcu_read_lock_trace_held()

Type Parameter Key Value
HALF_LOCKED2 rcu_read

kernel/bpf/hashtab.c __htab_map_lookup_elem() -> rcu_read_lock_trace_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value

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

Type Parameter Key Value
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
HALF_LOCKED2 rcu_read

kernel/bpf/hashtab.c htab_map_update_elem_in_place() -> rcu_read_lock_trace_held()

Type Parameter Key Value
HALF_LOCKED2 rcu_read

kernel/bpf/helpers.c ____bpf_map_delete_elem() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/helpers.c ____bpf_map_lookup_elem() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/helpers.c ____bpf_map_lookup_percpu_elem() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/helpers.c ____bpf_map_update_elem() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_task_storage.c ____bpf_task_storage_delete() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_task_storage.c ____bpf_task_storage_get() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_task_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_task_storage.c bpf_local_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/bpf/bpf_task_storage.c task_storage_lookup() -> rcu_read_lock_trace_held()

Type Parameter Key Value

kernel/rcu/rcutorture.c rcu_torture_one_read_start() -> (struct rcu_torture_ops)->readlock_held()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING