Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

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

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

kernel/entry/common.c arch_exit_to_user_mode_prepare() -> fpregs_assert_state_consistent()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/kernel/process.c arch_exit_to_user_mode_prepare() -> fpregs_assert_state_consistent()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 irq

arch/x86/kernel/cpu/mce/core.c arch_exit_to_user_mode_prepare() -> fpregs_assert_state_consistent()

Type Parameter Key Value
NOCHECK_CALL

arch/x86/kernel/traps.c arch_exit_to_user_mode_prepare() -> fpregs_assert_state_consistent()

Type Parameter Key Value
NOCHECK_CALL

arch/x86/coco/sev/vc-handle.c arch_exit_to_user_mode_prepare() -> fpregs_assert_state_consistent()

Type Parameter Key Value
NOCHECK_CALL

arch/x86/kvm/hyperv.c kvm_fpu_get() -> fpregs_assert_state_consistent()

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

arch/x86/kvm/x86.c vcpu_enter_guest() -> fpregs_assert_state_consistent()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &vcpu->mutex
LOCK2 irq
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/entry/syscall_32.c arch_exit_to_user_mode_prepare() -> fpregs_assert_state_consistent()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 irq

arch/x86/entry/syscall_64.c arch_exit_to_user_mode_prepare() -> fpregs_assert_state_consistent()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 irq

arch/x86/kvm/msrs.c kvm_fpu_get() -> fpregs_assert_state_consistent()

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

arch/x86/kvm/emulate.c kvm_fpu_get() -> fpregs_assert_state_consistent()

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