Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

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

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh

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

Type Parameter Key Value
PARAM_VALUE 0 fpstate 4096-ptr_max
PARAM_VALUE 0 fpstate->is_confidential 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &vcpu->mutex

arch/x86/kernel/fpu/core.c fpu_update_guest_xfd() -> xfd_update_state()

Type Parameter Key Value
PARAM_VALUE 0 fpstate 4096-ptr_max
PARAM_VALUE 0 fpstate->in_use 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh

arch/x86/kernel/fpu/core.c restore_fpregs_from_fpstate() -> xfd_update_state()

Type Parameter Key Value
DATA_SOURCE 0 fpstate $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh

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

Type Parameter Key Value
PARAM_VALUE 0 fpstate 4096-ptr_max
PARAM_VALUE 0 fpstate->is_valloc 1
PARAM_VALUE 0 fpstate->regs.xsave.header.xcomp_bv 0,9223372036854775808,18446744071562067968-u64max
PARAM_VALUE 0 fpstate->user_xfeatures 0,262144-u64max
PARAM_VALUE 0 fpstate->xfeatures 0,262144-u64max
BUF_SIZE 0 fpstate 0-u32max
BUF_SIZE 0 fpstate 0-u32max
CAPPED_DATA 0 fpstate->xfd 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &vcpu->mutex

arch/x86/kernel/fpu/signal.c os_xrstor_safe() -> xfd_update_state()

Type Parameter Key Value
PARAM_VALUE 0 fpstate->regs.fxsave.rdp 0-u32max
PARAM_VALUE 0 fpstate->regs.fxsave.rip 0-u32max
PARAM_VALUE 0 fpstate->regs.fxsave.twd 0-255
DATA_SOURCE 0 fpstate $0
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh

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

Type Parameter Key Value
PARAM_VALUE 0 fpstate 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh