Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 6 files:
- kernel/futex/core.c
- kernel/futex/requeue.c, line 88
- kernel/power/qos.c, line 125
- kernel/sched/rt.c, line 401
- lib/plist.c
- mm/swapfile.c
Smatch caller information:
kernel/futex/core.c __futex_queue() -> plist_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 0 | node->prio | s32min-100 |
| PARAM_VALUE | 1 | head | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &hb->lock | ||
| TYPE_LOCK | (struct futex_hash_bucket)->lock |
mm/swapfile.c _enable_swap_info() -> plist_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 1 | head | 5205280742854860800 |
| CAPABLE | 0 | 21 | |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | node->prio | (-32766)-0 |
| LOCK2 | &si->lock | ||
| LOCK2 | global &swap_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | global &swapon_mutex | ||
| TYPE_LOCK | (struct swap_info_struct)->lock |
mm/swapfile.c add_to_avail_list() -> plist_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 1 | head | 6067949614187450368 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | node->prio | (-32766)-0 |
| LOCK2 | global &swap_avail_lock | ||
| HALF_LOCKED2 | &si->lock | ||
| HALF_LOCKED2 | global &swap_lock |
kernel/sched/build_policy.c enqueue_pushable_task() -> plist_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 1 | head | 4096-ptr_max |
| PARAM_VALUE | 1 | head->node_list.next | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &p->pi_lock | ||
| HALF_LOCKED2 | &p->sighand->siglock | ||
| HALF_LOCKED2 | irq |
kernel/power/qos.c pm_qos_update_target() -> plist_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 0 | node->node_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | node->node_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | node->prio_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | node->prio_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | head | 4096-ptr_max |
| PARAM_VALUE | 1 | head->node_list.next | 4096-ptr_max |
| DATA_SOURCE | 0 | node | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | node->prio | 0-s32max |
| LOCK2 | flags | ||
| LOCK2 | global &pm_qos_lock | ||
| HALF_LOCKED2 | global &dev_pm_qos_mtx |
kernel/futex/requeue.c requeue_futex() -> plist_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 1 | head | 4096-ptr_max |
| RX_PATH | |||
| NOCHECK_CALL |
lib/plist.c plist_test() -> plist_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | head | 7352914141788897280 |
| NOCHECK_CALL |
lib/plist.c plist_test() -> plist_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | head | 7352914141788897280 |
| NOCHECK_CALL |