Documented in 1 files:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

mm/swapfile.c __has_usable_swap() -> plist_head_empty()

Type Parameter Key Value
PARAM_VALUE 0 head 5205280742854860800
RX_PATH
TASK_NOT_RUNNING

kernel/sched/build_policy.c dequeue_pushable_task() -> plist_head_empty()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->node_list.next 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 &p->sighand->siglock
HALF_LOCKED2 &p->signal->exec_update_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rf.flags
HALF_LOCKED2 rq

kernel/sched/build_policy.c has_pushable_tasks() -> plist_head_empty()

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

kernel/power/qos.c pm_qos_get_value() -> plist_head_empty()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 global &pm_qos_lock

lib/plist.c plist_add() -> plist_head_empty()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->node_list.next 4096-ptr_max
DATA_SOURCE 0 head $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hb->lock
HALF_LOCKED2 &si->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &pm_qos_lock
HALF_LOCKED2 global &swap_avail_lock
HALF_LOCKED2 global &swap_lock

lib/plist.c plist_check_head() -> plist_head_empty()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
DATA_SOURCE 0 head $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &swap_avail_lock

lib/plist.c plist_requeue() -> plist_head_empty()

Type Parameter Key Value
PARAM_VALUE 0 head 6067949614187450368,7352914141788897280
PARAM_VALUE 0 head->node_list.next 4096-ptr_max
DATA_SOURCE 0 head $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &swap_avail_lock

lib/plist.c plist_test_check() -> plist_head_empty()

Type Parameter Key Value
PARAM_VALUE 0 head 7352914141788897280