Defined in 2 files as a function:
Referenced in 4 files:
Smatch caller information:
kernel/rcu/tree.c rcu_barrier_entrain() -> debug_rcu_head_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | head | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &rcu_state.barrier_lock | ||
| HALF_LOCKED2 | &rdp->nocb_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &rcu_state.barrier_mutex | ||
| TYPE_LOCK | (struct rcu_state)->barrier_lock |
kernel/rcu/tree.c rcu_do_batch() -> debug_rcu_head_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | head | r rcu_cblist_dequeue |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh |
mm/slab_common.c debug_rcu_bhead_unqueue() -> debug_rcu_head_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/slab_common.c kvfree_call_rcu() -> debug_rcu_head_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | head | $1 |
| NOCHECK_CALL |
mm/slab_common.c kvfree_rcu_list() -> debug_rcu_head_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | head | r kvmalloc_obj_start_addr |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/rcu/srcutree.c srcu_barrier_one_cpu() -> debug_rcu_head_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | head | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &sdp->lock | ||
| LOCK2 | &ssp->srcu_sup->srcu_barrier_mutex | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct srcu_data)->lock | ||
| TYPE_LOCK | (struct srcu_usage)->srcu_barrier_mutex |
kernel/rcu/srcutree.c srcu_invoke_callbacks() -> debug_rcu_head_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | head | r rcu_cblist_dequeue |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |