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:
- arch/x86/include/asm/fpu/sched.h, line 37
- arch/x86/kernel/fpu/context.h, line 56
- arch/x86/kernel/fpu/core.c
- arch/x86/kernel/fpu/regset.c
- arch/x86/kernel/fpu/signal.c
- arch/x86/kernel/fpu/xstate.c
- arch/x86/kernel/fpu/xstate.h
- arch/x86/kernel/process.c, line 121
- arch/x86/kernel/signal.c
- arch/x86/kernel/traps.c, line 1428
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 |