Defined in 2 files as a function:

Referenced in 8 files:

Smatch caller information:

kernel/sched/build_policy.c find_lock_later_rq() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
CAPPED_DATA 0 p 1
DATA_SOURCE 0 p $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 p unit_byte
HALF_LOCKED2 irq
HALF_LOCKED2 0 &p->pi_lock

kernel/sched/build_policy.c find_lock_lowest_rq() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->migration_disabled 0
CAPPED_DATA 0 p 1
CAPPED_DATA 0 p->prio 1
DATA_SOURCE 0 p $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 p unit_byte
HALF_LOCKED2 irq
HALF_LOCKED2 0 &p->pi_lock

kernel/sched/build_policy.c pull_dl_task() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
DATA_SOURCE 0 p r pick_earliest_pushable_dl_task
RX_PATH
TASK_NOT_RUNNING
UNITS 0 p unit_byte
HALF_LOCKED2 irq

kernel/sched/build_policy.c pull_rt_task() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
CAPPED_DATA 0 p->prio 1
DATA_SOURCE 0 p r pick_highest_pushable_task
RX_PATH
TASK_NOT_RUNNING
UNITS 0 p unit_byte
HALF_LOCKED2 irq

kernel/sched/build_policy.c push_dl_task() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 p unit_byte

kernel/sched/build_policy.c push_rt_task() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
CAPPED_DATA 0 p->prio 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 p unit_byte

kernel/sched/core.c __cant_migrate() -> is_migration_disabled()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cq->lock
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &queue->rx_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

kernel/sched/core.c __cant_migrate() -> is_migration_disabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cq->lock
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &queue->rx_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

kernel/sched/core.c __set_cpus_allowed_ptr_locked() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
BUF_SIZE 0 p (-1),1-s32max
BUF_SIZE 0 p (-1),1-s32max
BUF_SIZE 0 p->group_leader (-1),1-s32max
BUF_SIZE 0 p->mempolicy (-1),1-s32max
DATA_SOURCE 0 p $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 p->exit_signal 1-64[c]
NO_OVERFLOW_SIMPLE 0 p->dl.pi_se->dl_runtime
LOCK2 rf.flags
LOCK2 0 &p->pi_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c __set_cpus_allowed_ptr_locked() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
BUF_SIZE 0 p (-1),1-s32max
BUF_SIZE 0 p (-1),1-s32max
BUF_SIZE 0 p->group_leader (-1),1-s32max
BUF_SIZE 0 p->mempolicy (-1),1-s32max
CAPPED_DATA 0 p 1
DATA_SOURCE 0 p $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 p->exit_signal 1-64[c]
NO_OVERFLOW_SIMPLE 0 p->dl.pi_se->dl_runtime
LOCK2 rf.flags
LOCK2 0 &p->pi_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c affine_move_task() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
BUF_SIZE 0 p (-1),1-s32max
BUF_SIZE 0 p (-1),1-s32max
BUF_SIZE 0 p->group_leader (-1),1-s32max
BUF_SIZE 0 p->mempolicy (-1),1-s32max
BUF_SIZE 0 p->migration_pending (-1),176
CAPPED_DATA 0 p 1
DATA_SOURCE 0 p $1
NOSPEC 0 p->thread.fsbase
NOSPEC 0 p->thread.gsbase
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 p->dl.pi_se->runtime 1-17592186044415[c]
USER_DATA 0 p->exit_signal 1-64[c]
USER_DATA 0 p->group_leader->thread.fsbase 0-s32max[c]
USER_DATA 0 p->group_leader->thread.gsbase 0-s32max[c]
USER_DATA 0 p->thread.fsbase 0-s32max[c]
USER_DATA 0 p->thread.gsbase 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 p->dl.pi_se->dl_runtime
LOCK2 rf.flags
LOCK2 0 &p->pi_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c balance_push() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 p unit_byte
HALF_LOCKED2 flags
HALF_LOCKED2 rq

kernel/sched/core.c is_cpu_allowed() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
BUF_SIZE 0 p (-1)-s32max
BUF_SIZE 0 p (-1)-s32max
BUF_SIZE 0 p->vfork_done (-1),96
DATA_SOURCE 0 p $0
NOSPEC 0 p->thread.fsbase
NOSPEC 0 p->thread.gsbase
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 p->dl.pi_se->runtime 1-17592186044415[c]
USER_DATA 0 p->exit_code 0-64
USER_DATA 0 p->exit_signal 1-64[c]
USER_DATA 0 p->group_leader->thread.fsbase 0-s32max[c]
USER_DATA 0 p->group_leader->thread.gsbase 0-s32max[c]
USER_DATA 0 p->ptrace 0-u32max[c]
USER_DATA 0 p->syscall_dispatch.len 0-u64max
USER_DATA 0 p->syscall_dispatch.offset 0-s32max[c]
USER_DATA 0 p->thread.ds 0-u16max
USER_DATA 0 p->thread.es 0-u16max
USER_DATA 0 p->thread.features_locked 0-u64max[c][u]
USER_DATA 0 p->thread.fsbase 0-s32max[c]
USER_DATA 0 p->thread.fsindex 0-u16max
USER_DATA 0 p->thread.gsbase 0-s32max[c]
USER_DATA 0 p->thread.gsindex 0-u16max
USER_DATA 0 p->thread.ptrace_dr7 0-u64max
USER_DATA 0 p->thread.virtual_dr6 0-u64max
NO_OVERFLOW_SIMPLE 0 p->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 p->nsproxy->pid_ns_for_children->pid_cachep->object_size
NO_OVERFLOW_SIMPLE 0 p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity
UNITS 0 p unit_byte
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &p->pi_lock
HALF_LOCKED2 0 &p->sighand->siglock

kernel/sched/core.c migration_cpu_stop() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 rf.flags
LOCK2 0 &p->pi_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c push_cpu_stop() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
DATA_SOURCE 0 p $0
PREEMPT_ADD <- disables preempt
LOCK2 irq
LOCK2 0 &p->pi_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c select_task_rq() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
BUF_SIZE 0 p (-1)-s32max
BUF_SIZE 0 p (-1)-s32max
BUF_SIZE 0 p->group_leader (-1),1-s32max
BUF_SIZE 0 p->mempolicy (-1),1-s32max
BUF_SIZE 0 p->vfork_done (-1),96
CAPPED_DATA 0 p 1
DATA_SOURCE 0 p $0
NOSPEC 0 p->thread.fsbase
NOSPEC 0 p->thread.gsbase
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 p->dl.pi_se->runtime 1-17592186044415[c]
USER_DATA 0 p->exit_code 0-64
USER_DATA 0 p->exit_signal 1-64[c]
USER_DATA 0 p->group_leader->thread.fsbase 0-u32max
USER_DATA 0 p->group_leader->thread.gsbase 0-u32max
USER_DATA 0 p->ptrace 0-u32max[c]
USER_DATA 0 p->syscall_dispatch.len 0-u64max
USER_DATA 0 p->syscall_dispatch.offset 0-s32max[c]
USER_DATA 0 p->thread.ds 0-u16max
USER_DATA 0 p->thread.es 0-u16max
USER_DATA 0 p->thread.features_locked 0-u64max[c][u]
USER_DATA 0 p->thread.fsbase 0-u32max
USER_DATA 0 p->thread.fsindex 0-u16max
USER_DATA 0 p->thread.gsbase 0-u32max
USER_DATA 0 p->thread.gsindex 0-u16max
USER_DATA 0 p->thread.ptrace_dr7 0-u64max
USER_DATA 0 p->thread.virtual_dr6 0-u64max
NO_OVERFLOW_SIMPLE 0 p->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity
UNITS 0 p unit_byte
LOCK2 0 &p->pi_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rf.flags
HALF_LOCKED2 0 &p->sighand->siglock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c set_task_cpu() -> is_migration_disabled()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
BUF_SIZE 0 p (-1),1-s32max
BUF_SIZE 0 p (-1),1-s32max
BUF_SIZE 0 p->group_leader (-1),1-s32max
BUF_SIZE 0 p->mempolicy (-1),1-s32max
BUF_SIZE 0 p->migration_pending (-1),176
CAPPED_DATA 0 p 1
DATA_SOURCE 0 p $0
NOSPEC 0 p->thread.fsbase
NOSPEC 0 p->thread.gsbase
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 p->dl.pi_se->runtime 1-17592186044415[c]
USER_DATA 0 p->exit_code 0-64
USER_DATA 0 p->exit_signal 1-64[c]
USER_DATA 0 p->group_leader->thread.fsbase 0-s32max[c]
USER_DATA 0 p->group_leader->thread.gsbase 0-s32max[c]
USER_DATA 0 p->ptrace 0-u32max[c]
USER_DATA 0 p->syscall_dispatch.len 0-u64max
USER_DATA 0 p->syscall_dispatch.offset 0-s32max[c]
USER_DATA 0 p->thread.ds 0-u16max
USER_DATA 0 p->thread.es 0-u16max
USER_DATA 0 p->thread.features_locked 0-u64max[c][u]
USER_DATA 0 p->thread.fsbase 0-s32max[c]
USER_DATA 0 p->thread.fsindex 0-u16max
USER_DATA 0 p->thread.gsbase 0-s32max[c]
USER_DATA 0 p->thread.gsindex 0-u16max
USER_DATA 0 p->thread.ptrace_dr7 0-u64max
USER_DATA 0 p->thread.virtual_dr6 0-u64max
NO_OVERFLOW_SIMPLE 0 p->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity
UNITS 0 p unit_byte
HALF_LOCKED2 irq
HALF_LOCKED2 rf.flags
HALF_LOCKED2 rq
HALF_LOCKED2 0 &p->pi_lock
HALF_LOCKED2 0 &p->sighand->siglock