Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

kernel/rcu/tree.c get_state_synchronize_rcu() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178376
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rtp->cbs_gbl_lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &pool_lock
HALF_LOCKED2 global &tracepoints_mutex

kernel/rcu/tree.c get_state_synchronize_rcu_full() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &krcp->lock
HALF_LOCKED2 *flags
HALF_LOCKED2 flags

kernel/rcu/tree.c get_state_synchronize_rcu_full() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975179040
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &krcp->lock
HALF_LOCKED2 *flags
HALF_LOCKED2 flags

kernel/rcu/tree.c rcu_barrier() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178656
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &fullstop_mutex
HALF_LOCKED2 global &init_lock
HALF_LOCKED2 global &nfsd_mutex
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 global &rcu_fwd_mutex
HALF_LOCKED2 global &rcu_state.nocb_mutex
HALF_LOCKED2 global &slab_mutex
HALF_LOCKED2 global &vboxsf_setup_mutex

kernel/rcu/tree.c rcu_barrier_throttled() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178656
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex

kernel/rcu/tree.c rcu_exp_gp_seq_snap() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975179040
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &ssp->srcu_sup->srcu_gp_mutex
HALF_LOCKED2 global &pernet_ops_rwsem

kernel/rcu/tree.c rcu_gp_init() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
PREEMPT_ADD <- disables preempt
LOCK2 &rnp->lock
LOCK2 irq
TYPE_LOCK (struct rcu_node)->lock

kernel/rcu/tree.c rcu_note_context_switch() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rnp->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct rcu_node)->lock

kernel/rcu/tree.c start_poll_synchronize_rcu_common() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rnp->lock
LOCK2 flags
TYPE_LOCK (struct rcu_node)->lock

kernel/rcu/srcutree.c get_state_synchronize_srcu() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/srcutree.c srcu_barrier() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/srcutree.c srcu_gp_start_if_needed() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdp->lock
HALF_LOCKED2 flags

kernel/rcu/update.c rcu_barrier_tasks_generic() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 295581862719967888
HALF_LOCKED2 global &fullstop_mutex
HALF_LOCKED2 global &rcu_fwd_mutex

kernel/rcu/update.c rcu_tasks_invoke_cbs() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtpcp->lock
LOCK2 flags
HALF_LOCKED2 &rtp->tasks_gp_mutex
TYPE_LOCK (struct rcu_tasks_percpu)->lock

kernel/rcu/update.c rcu_tasks_need_gpcb() -> rcu_seq_snap()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
LOCK2 &rtpcp->lock
LOCK2 flags
TYPE_LOCK (struct rcu_tasks_percpu)->lock