Defined in 1 files as a prototype:

Defined in 1 files as a macro:

Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

arch/x86/kernel/fpu/core.c fpregs_assert_state_consistent() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 bh
HALF_LOCKED2 irq

arch/x86/kernel/fpu/core.c fpregs_mark_activate() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh

arch/x86/kernel/fpu/core.c fpregs_restore_userregs() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

arch/x86/kernel/fpu/core.c fpu__clear_user_states() -> x86_task_fpu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/fpu/core.c fpu__drop() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
PARAM_VALUE 0 task->flags 0,4-u32max
CAPPED_DATA 0 task 1
DATA_SOURCE 0 task $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 task->exit_code 0,256-65280[c]
USER_DATA 0 task->signal->group_exit_code 0,256-65280[c]
NO_OVERFLOW_SIMPLE 0 task->delays->blkio_delay
NO_OVERFLOW_SIMPLE 0 task->delays->compact_delay
NO_OVERFLOW_SIMPLE 0 task->delays->freepages_delay
NO_OVERFLOW_SIMPLE 0 task->delays->irq_delay
NO_OVERFLOW_SIMPLE 0 task->delays->swapin_delay
NO_OVERFLOW_SIMPLE 0 task->delays->thrashing_delay
NO_OVERFLOW_SIMPLE 0 task->delays->wpcopy_delay
NO_OVERFLOW_SIMPLE 0 task->signal->stats->blkio_delay_total
NO_OVERFLOW_SIMPLE 0 task->signal->stats->compact_delay_total
NO_OVERFLOW_SIMPLE 0 task->signal->stats->cpu_delay_total
NO_OVERFLOW_SIMPLE 0 task->signal->stats->cpu_run_virtual_total
NO_OVERFLOW_SIMPLE 0 task->signal->stats->freepages_delay_total
NO_OVERFLOW_SIMPLE 0 task->signal->stats->irq_delay_total
NO_OVERFLOW_SIMPLE 0 task->signal->stats->swapin_delay_total
NO_OVERFLOW_SIMPLE 0 task->signal->stats->thrashing_delay_total
NO_OVERFLOW_SIMPLE 0 task->signal->stats->wpcopy_delay_total
HALF_LOCKED2 global &system_transition_mutex

arch/x86/kernel/fpu/core.c fpu__drop() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &system_transition_mutex

arch/x86/kernel/fpu/core.c fpu_flush_thread() -> x86_task_fpu()

Type Parameter Key Value
LOCK2 &tsk->signal->exec_update_lock

arch/x86/kernel/fpu/core.c fpu_inherit_perms() -> x86_task_fpu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/fpu/core.c fpu_lock_guest_permissions() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
LOCK2 irq

arch/x86/kernel/fpu/core.c fpu_reset_fpstate_regs() -> x86_task_fpu()

Type Parameter Key Value
LOCK2 &tsk->signal->exec_update_lock

arch/x86/kernel/fpu/core.c fpu_swap_kvm_fpstate() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
HALF_LOCKED2 &vcpu->mutex

arch/x86/kernel/fpu/core.c fpu_sync_fpstate() -> x86_task_fpu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/fpu/core.c fpu_sync_guest_vmexit_xfd_state() -> x86_task_fpu()

Type Parameter Key Value

arch/x86/kernel/fpu/core.c kernel_fpu_begin_mask() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

arch/x86/kernel/fpu/core.c update_fpu_shstk() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
PARAM_VALUE 0 task->flags 0,64-u32max
CAPPED_DATA 0 task->mempolicy 1
CAPPED_DATA 0 task->real_cred 1
DATA_SOURCE 0 task $0
BIT_INFO 0 task->flags 0x40,0xffffffffffffffff
MEM_ZERO 0 task->perf_recursion
MEM_ZERO 0 task->thread.ptrace_bps
MEM_ZERO 0 &task->dl.dl_timer
MEM_ZERO 0 &task->dl.inactive_timer
MEM_ZERO 0 &task->ioac
MEM_ZERO 0 &task->irqtrace
MEM_ZERO 0 &task->pending.signal
MEM_ZERO 0 &task->posix_cputimers
MEM_ZERO 0 &task->sched_info
MEM_ZERO 0 &task->se.avg
MEM_ZERO 0 &task->stats
MEM_ZERO 0 &task->unwind_info
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/process.c arch_release_task_struct() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
CAPPED_DATA 0 task 1
DATA_SOURCE 0 task $0
BIT_INFO 0 task->flags 0x0,0xffdfbfff
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/process_64.c switch_fpu() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
DATA_SOURCE 0 task $0
BIT_INFO 0 task->flags 0x0,0xffdfbfff

arch/x86/kernel/traps.c math_error() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task r get_current

arch/x86/kernel/fpu/regset.c convert_from_fxsr() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
DATA_SOURCE 0 task $1
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/fpu/regset.c fpregs_get() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 task->dl.pi_se->dl_runtime

arch/x86/kernel/fpu/regset.c fpregs_set() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task $0

arch/x86/kernel/fpu/regset.c fpu_force_restore() -> x86_task_fpu()

Type Parameter Key Value

arch/x86/kernel/fpu/regset.c ssp_get() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 task->dl.pi_se->dl_runtime

arch/x86/kernel/fpu/regset.c ssp_set() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task $0

arch/x86/kernel/fpu/regset.c sync_fpstate() -> x86_task_fpu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/fpu/regset.c xfpregs_get() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 task->dl.pi_se->dl_runtime

arch/x86/kernel/fpu/regset.c xfpregs_set() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task $0

arch/x86/kernel/fpu/regset.c xstateregs_get() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 task->dl.pi_se->dl_runtime

arch/x86/kernel/fpu/regset.c xstateregs_set() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task $0

arch/x86/kernel/fpu/xstate.c __xfd_enable_feature() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
LOCK2 irq
HALF_LOCKED2 &vcpu->mutex

arch/x86/kernel/fpu/xstate.c __xstate_request_perm() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 irq

arch/x86/kernel/fpu/xstate.c avx512_status() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
DATA_SOURCE 0 task $1
BIT_INFO 0 task->flags 0x0,0xffdfbfff
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

arch/x86/kernel/fpu/xstate.c copy_sigframe_from_user_to_xstate() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
DATA_SOURCE 0 task $0

arch/x86/kernel/fpu/xstate.c copy_xstate_to_uabi_buf() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
DATA_SOURCE 0 task $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 task->dl.pi_se->dl_runtime

arch/x86/kernel/fpu/xstate.c copy_xstate_to_uabi_buf() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
DATA_SOURCE 0 task $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 task->dl.pi_se->dl_runtime

arch/x86/kernel/fpu/xstate.c fpregs_restore_userregs() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 bh
HALF_LOCKED2 &vcpu->mutex

arch/x86/kernel/fpu/xstate.c fpstate_realloc() -> x86_task_fpu()

Type Parameter Key Value
HALF_LOCKED2 &vcpu->mutex

arch/x86/kernel/fpu/xstate.c fpu__init_disable_system_xstate() -> x86_task_fpu()

Type Parameter Key Value

arch/x86/kernel/fpu/xstate.c fpu__resume_cpu() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

arch/x86/kernel/fpu/xstate.c xstate_get_group_perm() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
HALF_LOCKED2 irq

arch/x86/kernel/fpu/xstate.c xstate_op_valid() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

arch/x86/kernel/fpu/signal.c __fpu_restore_sig() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task r get_current

arch/x86/kernel/fpu/signal.c check_xstate_in_sigframe() -> x86_task_fpu()

Type Parameter Key Value

arch/x86/kernel/fpu/signal.c check_xstate_in_sigframe() -> x86_task_fpu()

Type Parameter Key Value

arch/x86/kernel/fpu/signal.c copy_fpstate_to_sigframe() -> x86_task_fpu()

Type Parameter Key Value
DATA_SOURCE 0 task r get_current
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/fpu/signal.c fpregs_restore_userregs() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh

arch/x86/kernel/fpu/signal.c fpu__alloc_mathframe() -> x86_task_fpu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/fpu/signal.c fpu__restore_sig() -> x86_task_fpu()

Type Parameter Key Value

arch/x86/kernel/fpu/signal.c restore_fpregs_from_user() -> x86_task_fpu()

Type Parameter Key Value

arch/x86/kernel/fpu/signal.c save_fsave_header() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
DATA_SOURCE 0 task $0
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/fpu/signal.c save_fsave_header() -> x86_task_fpu()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
DATA_SOURCE 0 task $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh

arch/x86/kernel/fpu/signal.c xrstor_from_user_sigframe() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 bh

arch/x86/kernel/fpu/signal.c xsave_to_user_sigframe() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh

arch/x86/kernel/signal.c handle_signal() -> x86_task_fpu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/signal.c sigaltstack_size_valid() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 irq

arch/x86/kernel/signal.c sigaltstack_size_valid() -> x86_task_fpu()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 irq