Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

arch/x86/mm/tlb.c mm_mangle_tif_spec_bits() -> read_ti_thread_flags()

Type Parameter Key Value
PARAM_VALUE 0 ti 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &next->alloc_lock
HALF_LOCKED2 &tsk->alloc_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock
HALF_LOCKED2 _T->flags
HALF_LOCKED2 flags
HALF_LOCKED2 irq

kernel/entry/common.c __exit_to_user_mode_loop() -> read_ti_thread_flags()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq

kernel/entry/common.c __exit_to_user_mode_prepare() -> read_ti_thread_flags()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/entry/common.c exit_to_user_mode_loop() -> read_ti_thread_flags()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/entry/common.c hrtimer_rearm_deferred() -> read_ti_thread_flags()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/process.c __exit_to_user_mode_prepare() -> read_ti_thread_flags()

Type Parameter Key Value
LOCK2 irq

arch/x86/kernel/process.c __switch_to_xtra() -> read_ti_thread_flags()

Type Parameter Key Value
PARAM_VALUE 0 ti 4096-ptr_max

arch/x86/kernel/process.c __switch_to_xtra() -> read_ti_thread_flags()

Type Parameter Key Value
PARAM_VALUE 0 ti 4096-ptr_max

arch/x86/kernel/process.c arch_setup_new_exec() -> read_ti_thread_flags()

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

arch/x86/kernel/process.c speculation_ctrl_update_tif() -> read_ti_thread_flags()

Type Parameter Key Value
PREEMPT_ADD

arch/x86/kernel/process_64.c switch_to_extra() -> read_ti_thread_flags()

Type Parameter Key Value
PARAM_VALUE 0 ti 4096-ptr_max

arch/x86/kernel/process_64.c switch_to_extra() -> read_ti_thread_flags()

Type Parameter Key Value
PARAM_VALUE 0 ti 4096-ptr_max

arch/x86/kernel/cpu/mce/core.c __exit_to_user_mode_prepare() -> read_ti_thread_flags()

Type Parameter Key Value

arch/x86/kernel/traps.c __exit_to_user_mode_prepare() -> read_ti_thread_flags()

Type Parameter Key Value

arch/x86/coco/sev/vc-handle.c __exit_to_user_mode_prepare() -> read_ti_thread_flags()

Type Parameter Key Value

kernel/softirq.c hrtimer_rearm_deferred() -> read_ti_thread_flags()

Type Parameter Key Value
PREEMPT_ADD
HALF_LOCKED2 irq

kernel/entry/virt.c xfer_to_guest_mode_handle_work() -> read_ti_thread_flags()

Type Parameter Key Value
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex

kernel/entry/virt.c xfer_to_guest_mode_work() -> read_ti_thread_flags()

Type Parameter Key Value
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c __xfer_to_guest_mode_work_pending() -> read_ti_thread_flags()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 &vcpu->mutex
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 irq
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/entry/common.c hrtimer_rearm_deferred() -> read_ti_thread_flags()

Type Parameter Key Value

arch/x86/entry/syscall_32.c __exit_to_user_mode_prepare() -> read_ti_thread_flags()

Type Parameter Key Value
LOCK2 irq

arch/x86/entry/syscall_64.c __exit_to_user_mode_prepare() -> read_ti_thread_flags()

Type Parameter Key Value
LOCK2 irq

arch/x86/kvm/vmx/vmx.c __xfer_to_guest_mode_work_pending() -> read_ti_thread_flags()

Type Parameter Key Value

kernel/sched/core.c hrtimer_test_and_clear_rearm_deferred() -> read_ti_thread_flags()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq

kernel/sched/core.c sched_show_task() -> read_ti_thread_flags()

Type Parameter Key Value
PARAM_VALUE 0 ti 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 &rtp->tasks_gp_mutex
HALF_LOCKED2 flags
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 global &tasklist_lock
HALF_LOCKED2 irq_flags