Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/rcu/rcutorture.c srcu_read_unlock_nmisafe() -> __srcu_read_unlock_nmisafe()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 1 idx 0-1
CAPPED_DATA 0 &ssp->dep_map 1
DATA_SOURCE 0 ssp $0
DATA_SOURCE 1 idx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &fullstop_mutex
HALF_LOCKED2 rcu_read

kernel/printk/printk.c srcu_read_unlock_nmisafe() -> __srcu_read_unlock_nmisafe()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4575592226937753600
PARAM_VALUE 1 idx 0-1
DATA_SOURCE 0 ssp $0
DATA_SOURCE 1 idx $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 global &console_sem
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &tty_mutex
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 1 idx 0-1
CAPPED_DATA 0 &ssp->srcu_sup->srcu_barrier_mutex 1
DATA_SOURCE 0 ssp $0
DATA_SOURCE 1 idx r __srcu_read_lock_nmisafe
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &ssp->srcu_sup->srcu_barrier_mutex
TYPE_LOCK (struct srcu_usage)->srcu_barrier_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 1 idx 0-1
DATA_SOURCE 0 ssp $0
DATA_SOURCE 1 idx r __srcu_read_lock_nmisafe
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 ssp->srcu_reader_flavor 0-255
HOST_DATA 0 ssp->srcu_sup->srcu_ssp->srcu_reader_flavor 0-255