Documented in 1 files:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/gpu/drm/scheduler/sched_entity.c spsc_queue_pop() -> atomic_long_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old s64min-(-1),1-s64max
PARAM_VALUE 2 new s64min-(-4096),4096-s64max
RX_PATH
TASK_NOT_RUNNING

kernel/printk/printk_ringbuffer.c desc_push_tail() -> atomic_long_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0-4611686018427387903
PARAM_VALUE 1 old 0-4611686018427387903
PARAM_VALUE 2 new 0-4611686018427387903
CAPPED_DATA 1 old 1
CAPPED_DATA 2 new 1
DATA_SOURCE 1 old $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 e->irqflags
HALF_LOCKED2 irq
HALF_LOCKED2 irqflags

mm/kasan/kasan_test_c.c kasan_atomics_helper() -> atomic_long_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 21
PARAM_VALUE 2 new 42
DATA_SOURCE 0 v $1
NOCHECK_CALL

kernel/events/core.c free_event() -> atomic_long_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1
PARAM_VALUE 2 new 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &parent_ctx->mutex
LOCK2 _T->lock
TYPE_LOCK (struct perf_event_context)->mutex

net/xdp/xdp_umem.c xdp_umem_account_pages() -> atomic_long_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 2 new 0-4503599627370495
CAPPED_DATA 2 new 1
CAPABLE 0 14
PARAM_COMPARE 1 old <= $2
PARAM_COMPARE 2 new >= $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 old unit_array_size
UNITS 2 new unit_page
LOCK2 &xs->mutex
TYPE_LOCK (struct xdp_sock)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_job.c spsc_queue_pop() -> atomic_long_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old s64min-(-1),1-s64max
PARAM_VALUE 2 new s64min-(-4096),4096-s64max
PREEMPT_ADD
RX_PATH
LOCK2 &pool->lock
LOCK2 &rq->lock
HALF_LOCKED2 &hive->hive_lock
HALF_LOCKED2 &tmp_adev->reset_domain->sem
HALF_LOCKED2 global &drm_unplug_srcu
TYPE_LOCK (struct drm_sched_rq)->lock