Defined in 1 files as a function:
Referenced in 4 files:
Smatch caller information:
kernel/sched/build_policy.c get_prio_dl() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p->group_leader | (-1),1-s32max |
| BUF_SIZE | 1 | p->io_uring | (-1),640 |
| BUF_SIZE | 1 | p->mempolicy | (-1),1-s32max |
| BUF_SIZE | 1 | p->numa_faults | (-1),64-65600 |
| BUF_SIZE | 1 | p->vfork_done | (-1),96 |
| CAPPED_DATA | 1 | p | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| STR_LEN | 0 | rq | (-1),8-9,11-29,31-34,38 |
| STR_LEN | 0 | rq | (-1),8-9,11-29,31-34,38 |
| STR_LEN | 1 | p | (-1),8-9,11-29,31-34,38 |
| STR_LEN | 1 | p | (-1),8-9,11-29,31-34,38 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->dl.runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->exit_code | 0-64,256-65280[c] |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->ptrace | 0-u32max[c] |
| USER_DATA | 1 | p->sched_reset_on_fork | 0-1 |
| USER_DATA | 1 | p->signal->group_exit_code | 0,256-65280[c] |
| USER_DATA | 1 | p->syscall_dispatch.len | 0-u64max |
| USER_DATA | 1 | p->syscall_dispatch.offset | 0-s32max[c] |
| USER_DATA | 1 | p->thread.ds | 0-u16max |
| USER_DATA | 1 | p->thread.es | 0-u16max |
| USER_DATA | 1 | p->thread.features_locked | 0-u64max[c][u] |
| USER_DATA | 1 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.fsindex | 0-u16max |
| USER_DATA | 1 | p->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.gsindex | 0-u16max |
| USER_DATA | 1 | p->thread.ptrace_dr7 | 0-u64max |
| USER_DATA | 1 | p->thread.virtual_dr6 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity | |
| HALF_LOCKED2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | 1 | &p->sighand->siglock |
kernel/sched/build_policy.c pick_next_pushable_task() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 0 | rq->next_class | (-1),248 |
| CAPPED_DATA | 0 | rq | 1 |
| CAPPED_DATA | 0 | rq->cpu | 1 |
| CAPPED_DATA | 1 | p | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| PARAM_COMPARE | 0 | &rq->rt.pushable_tasks.node_list | != $0->rt.pushable_tasks.node_list.next |
| PARAM_COMPARE | 1 | p | != $0->curr |
| PARAM_COMPARE | 1 | p | != $0->curr |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | rq->fair_server.pi_se->dl_runtime | |
| HALF_LOCKED2 | 0 | rq |
kernel/sched/build_policy.c prio_changed_dl() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/sched/build_policy.c prio_changed_rt() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/sched/fair.c can_migrate_task() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 1 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | busiest | ||
| HALF_LOCKED2 | busiest_rq | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | rf.flags |
kernel/sched/fair.c detach_task() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| CAPPED_DATA | 1 | p | 1 |
| DATA_SOURCE | 1 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | busiest | ||
| HALF_LOCKED2 | busiest_rq | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | rf.flags |
kernel/sched/fair.c enqueue_throttled_task() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p->group_leader | (-1),1-s32max |
| BUF_SIZE | 1 | p->mempolicy | (-1),1-s32max |
| BUF_SIZE | 1 | p->migration_pending | (-1),176 |
| BUF_SIZE | 1 | p->vfork_done | (-1),96 |
| CAPPED_DATA | 1 | &p->throttle_node | 1 |
| DATA_SOURCE | 1 | p | $0 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->exit_code | 0-64 |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->ptrace | 0-u32max[c] |
| USER_DATA | 1 | p->syscall_dispatch.len | 0-u64max |
| USER_DATA | 1 | p->syscall_dispatch.offset | 0-s32max[c] |
| USER_DATA | 1 | p->thread.ds | 0-u16max |
| USER_DATA | 1 | p->thread.es | 0-u16max |
| USER_DATA | 1 | p->thread.features_locked | 0-u64max[c][u] |
| USER_DATA | 1 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.fsindex | 0-u16max |
| USER_DATA | 1 | p->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.gsindex | 0-u16max |
| USER_DATA | 1 | p->thread.ptrace_dr7 | 0-u64max |
| USER_DATA | 1 | p->thread.virtual_dr6 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity | |
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rq | ||
| HALF_LOCKED2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | 1 | &p->sighand->siglock |
kernel/sched/fair.c hrtick_start_fair() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 0 | rq | (-1),24 |
| BUF_SIZE | 0 | rq | (-1),24 |
| CAPPED_DATA | 0 | rq | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | rq->fair_server.dl_runtime | |
| NO_OVERFLOW_SIMPLE | 0 | rq->fair_server.pi_se->dl_runtime | |
| UNITS | 1 | p | unit_byte |
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | rq |
kernel/sched/fair.c prio_changed_fair() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/sched/fair.c switched_to_fair() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/sched/core.c affine_move_task() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p->group_leader | (-1),1-s32max |
| BUF_SIZE | 1 | p->mempolicy | (-1),1-s32max |
| CAPPED_DATA | 1 | p | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.gsbase | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| LOCK2 | rf.flags | ||
| LOCK2 | 1 | &p->pi_lock | |
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/sched/core.c proxy_needs_return() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1),112 |
| BUF_SIZE | 1 | p | (-1),112 |
| CAPPED_DATA | 1 | p | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| PARAM_COMPARE | 1 | p | != $0->curr |
| PARAM_COMPARE | 1 | p | != $0->curr |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->exit_code | 0-64 |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->ptrace | 0-u32max[c] |
| USER_DATA | 1 | p->syscall_dispatch.len | 0-u64max |
| USER_DATA | 1 | p->syscall_dispatch.offset | 0-s32max[c] |
| USER_DATA | 1 | p->thread.ds | 0-u16max |
| USER_DATA | 1 | p->thread.es | 0-u16max |
| USER_DATA | 1 | p->thread.features_locked | 0-u64max[c][u] |
| USER_DATA | 1 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.fsindex | 0-u16max |
| USER_DATA | 1 | p->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.gsindex | 0-u16max |
| USER_DATA | 1 | p->thread.ptrace_dr7 | 0-u64max |
| USER_DATA | 1 | p->thread.virtual_dr6 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity | |
| UNITS | 1 | p | unit_byte |
| LOCK2 | irq | ||
| LOCK2 | 1 | &p->blocked_lock | |
| LOCK2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | 1 | &p->sighand->siglock | |
| TYPE_LOCK | (struct task_struct)->blocked_lock | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/sched/core.c sched_change_begin() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p->group_leader | (-1),1-s32max |
| BUF_SIZE | 1 | p->io_uring | (-1),640 |
| BUF_SIZE | 1 | p->mempolicy | (-1),1-s32max |
| BUF_SIZE | 1 | p->numa_faults | (-1),64-65600 |
| BUF_SIZE | 1 | p->vfork_done | (-1),96 |
| DATA_SOURCE | 1 | p | $0 |
| STR_LEN | 0 | rq | (-1),8-9,11-29,31-34,38 |
| STR_LEN | 1 | p | (-1),8-9,11-29,31-34,38 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->dl.runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->exit_code | 0-64,256-65280[c] |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->ptrace | 0-u32max[c] |
| USER_DATA | 1 | p->sched_reset_on_fork | 0-1 |
| USER_DATA | 1 | p->signal->group_exit_code | 0,256-65280[c] |
| USER_DATA | 1 | p->syscall_dispatch.len | 0-u64max |
| USER_DATA | 1 | p->syscall_dispatch.offset | 0-s32max[c] |
| USER_DATA | 1 | p->thread.ds | 0-u16max |
| USER_DATA | 1 | p->thread.es | 0-u16max |
| USER_DATA | 1 | p->thread.features_locked | 0-u64max[c][u] |
| USER_DATA | 1 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.fsindex | 0-u16max |
| USER_DATA | 1 | p->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.gsindex | 0-u16max |
| USER_DATA | 1 | p->thread.ptrace_dr7 | 0-u64max |
| USER_DATA | 1 | p->thread.virtual_dr6 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity | |
| UNITS | 1 | p | unit_byte |
| HALF_LOCKED2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | 1 | &p->sighand->siglock |
kernel/sched/core.c task_sched_runtime() -> task_current_donor()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | rq | r _task_rq_lock |
| DATA_SOURCE | 1 | p | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rf.flags | ||
| LOCK2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | global &ksm_thread_mutex | ||
| HALF_LOCKED2 | 1 | &p->signal->exec_update_lock | |
| TYPE_LOCK | (struct task_struct)->pi_lock |