Defined in 1 files as a function:

Referenced in 15 files:

Smatch caller information:

kernel/bpf/cpumask.c bpf_cpumask_test_and_set_cpu() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $0
DATA_SOURCE 1 cpumask $1

arch/x86/xen/smp_pv.c cpu_initialize_context() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
DATA_SOURCE 0 cpu $0
STR_LEN 0 cpu (-1),8-9,11-29,31-34,38
BIT_INFO 0 cpu 0x0,0x7fffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

fs/xfs/xfs_log_cil.c xlog_cil_insert_items() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
PARAM_VALUE 1 cpumask 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cil->xc_ctx_lock
HALF_LOCKED2 &mp->m_growlock
TYPE_LOCK (struct xfs_cil)->xc_ctx_lock

drivers/cpufreq/cpufreq.c add_cpu_dev_symlink() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-s32max
DATA_SOURCE 0 cpu $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sp->mutex
TYPE_LOCK (struct subsys_private)->mutex

arch/x86/virt/vmx/tdx/tdx.c config_global_keyid() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 1 cpumask 1-u64max

kernel/time/tick-broadcast.c ___tick_broadcast_oneshot_control() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
DATA_SOURCE 0 cpu $2
PREEMPT_ADD <- disables preempt
LOCK2 global &tick_broadcast_lock
LOCK2 irq

kernel/time/tick-broadcast.c tick_broadcast_control() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
DATA_SOURCE 0 cpu r debug_smp_processor_id
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 global &tick_broadcast_lock
HALF_LOCKED2 irq

kernel/cpu.c set_cpu_online() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
PARAM_VALUE 1 cpumask 7398857465241333760
DATA_SOURCE 0 cpu $0
RX_PATH
HALF_LOCKED2 global &vector_lock
HALF_LOCKED2 irq

kernel/cpu.c set_cpu_possible() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
PARAM_VALUE 1 cpumask 4709586496055410688
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $0
LOCK2 irq

arch/x86/kvm/vmx/tdx.c __tdx_td_init() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 1 cpumask 1-u64max
PARAM_VALUE 1 cpumask->bits 4096-ptr_max
LOCK2 &kvm->lock
LOCK2 &kvm->slots_lock
TYPE_LOCK (struct kvm)->lock
TYPE_LOCK (struct kvm)->slots_lock

arch/x86/kvm/vmx/tdx.c tdx_mmu_release_hkid() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 1 cpumask 1-u64max
LOCK2 global &tdx_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->slots_lock

fs/xfs/xfs_icache.c xfs_inodegc_queue() -> cpumask_test_and_set_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
PARAM_VALUE 1 cpumask 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL