Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

kernel/rcu/tree.c note_gp_changes() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
HALF_LOCKED2 flags

kernel/rcu/tree.c print_cpu_stall() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/tree.c print_other_cpu_stall() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/tree.c print_other_cpu_stall() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/tree.c rcu_advance_cbs_nowake() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
HALF_LOCKED2 &rdp->nocb_lock

kernel/rcu/tree.c rcu_advance_cbs_nowake() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
LOCK2 &rnp->lock
HALF_LOCKED2 &rdp->nocb_lock
TYPE_LOCK (struct rcu_node)->lock

kernel/rcu/tree.c rcu_check_gp_kthread_expired_fqs_timer() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/tree.c rcu_check_gp_kthread_starvation() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/tree.c rcu_gp_in_progress() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &rcu_fwd_mutex
HALF_LOCKED2 irq

kernel/rcu/tree.c rcu_gpnum_ovf() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct rcu_node)->lock

kernel/rcu/tree.c rcu_pending() -> rcu_seq_current()

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

kernel/rcu/tree.c rcu_start_this_gp() -> rcu_seq_current()

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

kernel/rcu/tree.c rcu_start_this_gp() -> rcu_seq_current()

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

kernel/rcu/tree.c rcutorture_get_gp_data() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 257930615975178240
HALF_LOCKED2 global &fullstop_mutex

kernel/rcu/srcutree.c cleanup_srcu_struct() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctrl->subsys->lock
HALF_LOCKED2 &qdev->dev_lock
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 clk

kernel/rcu/srcutree.c cleanup_srcu_struct() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctrl->subsys->lock
HALF_LOCKED2 &qdev->dev_lock
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 clk

kernel/rcu/srcutree.c srcu_gp_end() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
LOCK2 &sup->lock
LOCK2 &sup->srcu_cb_mutex
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->lock
TYPE_LOCK (struct srcu_usage)->srcu_cb_mutex
TYPE_LOCK (struct srcu_usage)->srcu_gp_mutex

kernel/rcu/srcutree.c srcu_gp_end() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
LOCK2 &sup->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->lock

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

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

kernel/rcu/srcutree.c srcu_invoke_callbacks() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &sdp->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_data)->lock

kernel/rcu/srcutree.c srcu_should_expedite() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctrl->namespaces_lock
HALF_LOCKED2 &ctrl->scan_lock
HALF_LOCKED2 &dev->reclaim_sem
HALF_LOCKED2 &device->dev_set->lock
HALF_LOCKED2 &hdev->bpf.prog_list_lock
HALF_LOCKED2 &md->suspend_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &q->debugfs_mutex
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 &subsys->su_mutex
HALF_LOCKED2 &tomoyo_gc_mutex
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &blk_probe_mutex
HALF_LOCKED2 global &close_lock
HALF_LOCKED2 global &console_mutex
HALF_LOCKED2 global &event_mutex
HALF_LOCKED2 global &fullstop_mutex
HALF_LOCKED2 global &kfd_processes_mutex
HALF_LOCKED2 global &kunit_run_lock
HALF_LOCKED2 global &srcu
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 global &tracepoints_mutex

kernel/rcu/srcutree.c srcu_should_expedite() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctrl->namespaces_lock
HALF_LOCKED2 &ctrl->scan_lock
HALF_LOCKED2 &dev->reclaim_sem
HALF_LOCKED2 &device->dev_set->lock
HALF_LOCKED2 &hdev->bpf.prog_list_lock
HALF_LOCKED2 &md->suspend_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &q->debugfs_mutex
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 &subsys->su_mutex
HALF_LOCKED2 &tomoyo_gc_mutex
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &blk_probe_mutex
HALF_LOCKED2 global &close_lock
HALF_LOCKED2 global &console_mutex
HALF_LOCKED2 global &event_mutex
HALF_LOCKED2 global &fullstop_mutex
HALF_LOCKED2 global &kfd_processes_mutex
HALF_LOCKED2 global &kunit_run_lock
HALF_LOCKED2 global &srcu
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 global &tracepoints_mutex

kernel/rcu/srcutree.c srcu_torture_stats_print() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max

kernel/rcu/srcutree.c srcutorture_get_gp_data() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 4096-ptr_max
HALF_LOCKED2 global &fullstop_mutex

kernel/rcu/update.c rcu_tasks_get_gp_data() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 295581862719967496
HALF_LOCKED2 global &fullstop_mutex

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

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_current()

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

kernel/rcu/update.c rcu_tasks_rude_get_gp_data() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 6727942636873376008
HALF_LOCKED2 global &fullstop_mutex

kernel/rcu/update.c show_rcu_tasks_generic_gp_kthread() -> rcu_seq_current()

Type Parameter Key Value
PARAM_VALUE 0 sp 295581862719967496,6727942636873376008
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING