Documented in 1 files:
Defined in 1 files as a function:
Referenced in 6 files:
- include/asm-generic/local.h, line 44
- include/drm/spsc_queue.h, line 109
- kernel/events/core.c, line 5847
- kernel/printk/printk_ringbuffer.c, line 853
- mm/kasan/kasan_test_c.c, line 825
- net/xdp/xdp_umem.c, line 147
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 |