Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 10 files:

Smatch caller information:

kernel/torture.c torture_online() -> add_cpu()

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

kernel/torture.c torture_online_all() -> add_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit

drivers/virt/acrn/hsm.c remove_cpu_store() -> add_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 1-2147483646
CAPPED_DATA 0 cpu 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 cpu 1-2147483646[c]
NO_OVERFLOW_SIMPLE 0 cpu
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/irq/irq_test.c irq_cpuhotplug_test() -> add_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 1

drivers/virt/nitro_enclaves/ne_misc_dev.c ne_setup_cpu_pool() -> add_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-63
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit
CAPABLE 0 21
CONSTRAINT 0 cpu <3035
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &ne_cpu_pool.mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct ne_cpu_pool)->mutex

drivers/virt/nitro_enclaves/ne_misc_dev.c ne_teardown_cpu_pool() -> add_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit
CONSTRAINT 0 cpu <3035
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &ne_cpu_pool.mutex
TYPE_LOCK (struct ne_cpu_pool)->mutex

arch/x86/mm/mmio-mod.c leave_uniprocessor() -> add_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mmiotrace_mutex
HALF_LOCKED2 _T->lock