Defined in 4 files as a macro:
- arch/s390/include/asm/atomic.h, line 195 (as a macro)
- arch/x86/include/asm/atomic64_32.h, line 98 (as a macro)
- arch/x86/include/asm/atomic64_64.h, line 97 (as a macro)
- include/asm-generic/atomic64.h, line 71 (as a macro)
Defined in 3 files as a function:
- arch/s390/include/asm/atomic.h, line 191 (as a function)
- arch/x86/include/asm/atomic64_32.h, line 94 (as a function)
- arch/x86/include/asm/atomic64_64.h, line 93 (as a function)
Referenced in 1 files:
Smatch caller information:
net/core/sock_diag.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PARAM_VALUE | 1 | old | 0 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &seq->lock | ||
| HALF_LOCKED2 | rcu_read |
lib/atomic64_test.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4852880703011659776 |
| PARAM_VALUE | 0 | v->counter | (-6151051535892492275) |
| PARAM_VALUE | 1 | old | (-6151051535892492275),(-374172955480035327) |
| PARAM_VALUE | 2 | new | (-2401053088876082434) |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| HARD_MAX | 1 | old | (-374172955480035327) |
lib/atomic64_test.c raw_atomic64_cmpxchg_acquire() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4852880703011659776 |
| PARAM_VALUE | 0 | v->counter | (-6151051535892492275) |
| PARAM_VALUE | 1 | old | (-6151051535892492275),(-374172955480035327) |
| PARAM_VALUE | 2 | new | (-2401053088876082434) |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| HARD_MAX | 1 | old | (-374172955480035327) |
lib/atomic64_test.c raw_atomic64_cmpxchg_relaxed() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4852880703011659776 |
| PARAM_VALUE | 0 | v->counter | (-6151051535892492275) |
| PARAM_VALUE | 1 | old | (-6151051535892492275),(-374172955480035327) |
| PARAM_VALUE | 2 | new | (-2401053088876082434) |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| HARD_MAX | 1 | old | (-374172955480035327) |
lib/atomic64_test.c raw_atomic64_cmpxchg_release() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4852880703011659776 |
| PARAM_VALUE | 0 | v->counter | (-6151051535892492275) |
| PARAM_VALUE | 1 | old | (-6151051535892492275),(-374172955480035327) |
| PARAM_VALUE | 2 | new | (-2401053088876082434) |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| HARD_MAX | 1 | old | (-374172955480035327) |
kernel/trace/trace_osnoise.c raw_atomic64_cmpxchg_relaxed() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 8381166366679490560 |
| PARAM_VALUE | 1 | old | 0 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
drivers/gpu/drm/scheduler/sched_entity.c raw_atomic64_cmpxchg() -> arch_atomic64_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 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/ext4/fast_commit.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PARAM_VALUE | 1 | old | s64min-(-2),0-s64max |
| PARAM_VALUE | 2 | new | s64min-(-1),1-s64max |
| CAPPED_DATA | 1 | old | 1 |
| CAPPED_DATA | 1 | old | 1 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem |
kernel/printk/printk_ringbuffer.c raw_atomic64_cmpxchg() -> arch_atomic64_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 | 1 | old | 1 |
| CAPPED_DATA | 2 | new | 1 |
| CAPPED_DATA | 2 | new | 1 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | e->irqflags | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | irqflags |
kernel/printk/printk_ringbuffer.c raw_atomic64_cmpxchg_relaxed() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PARAM_VALUE | 1 | old | s64min-(-4611686018427387905) |
| PARAM_VALUE | 2 | new | (-4611686018427387904)-(-1) |
| CAPPED_DATA | 1 | old | 1 |
| CAPPED_DATA | 1 | old | 1 |
| CAPPED_DATA | 2 | new | 1 |
| CAPPED_DATA | 2 | new | 1 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| BIT_INFO | 1 | old | 0x8000000000000000,0xbfffffffffffffff |
| BIT_INFO | 1 | old | 0x8000000000000000,0xbfffffffffffffff |
| BIT_INFO | 2 | new | 0xc000000000000000,0xffffffffffffffff |
| BIT_INFO | 2 | new | 0xc000000000000000,0xffffffffffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | e->irqflags | ||
| HALF_LOCKED2 | irqflags |
mm/kasan/kasan_test_c.c raw_atomic64_cmpxchg() -> arch_atomic64_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 | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
security/landlock/id.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 110462154930520064,6643675793384673280,6655470504887341056,8776791297932079104 |
| PARAM_VALUE | 1 | old | 0 |
| PARAM_VALUE | 2 | new | 4294967296-8589934591 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
lib/test_lockup.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 6356003204875952128 |
| CAPPED_DATA | 1 | old | 1 |
| CAPPED_DATA | 1 | old | 1 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | global &main_task->mm->mmap_lock | ||
| HALF_LOCKED2 | global lock_mutex_ptr | ||
| HALF_LOCKED2 | global lock_rwlock_ptr | ||
| HALF_LOCKED2 | global lock_rwsem_ptr | ||
| HALF_LOCKED2 | global lock_spinlock_ptr | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read |
fs/btrfs/extent_map.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PARAM_VALUE | 1 | old | 0 |
| PARAM_VALUE | 2 | new | 0,s64max |
| CAPPED_DATA | 2 | new | 1 |
| CAPPED_DATA | 2 | new | 1 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 2 | new | |
| LOCK2 | &sb->s_umount | ||
| HALF_LOCKED2 | global &bch_register_lock | ||
| TYPE_LOCK | (struct super_block)->s_umount |
kernel/events/core.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PARAM_VALUE | 1 | old | 1 |
| PARAM_VALUE | 2 | new | 0 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &parent_ctx->mutex | ||
| LOCK2 | _T->lock | ||
| TYPE_LOCK | (struct perf_event_context)->mutex |
fs/hfs/catalog.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PARAM_VALUE | 1 | old | 0-4294967295 |
| PARAM_VALUE | 2 | new | 0-4294967295 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &(sb->s_fs_info)->cat_tree->tree_lock | ||
| HALF_LOCKED2 | &(sb->s_fs_info)->ext_tree->tree_lock | ||
| HALF_LOCKED2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &target->i_rwsem |
net/mptcp/options.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| BIT_INFO | 1 | old | 0x0,0x7fffffffffffffff |
| BIT_INFO | 1 | old | 0x0,0x7fffffffffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 2 | new | unit_byte |
| HALF_LOCKED2 | &sk->sk_lock.slock | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | sk |
kernel/cgroup/misc.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PARAM_VALUE | 1 | old | s64min-(-2),0-s64max |
| PARAM_VALUE | 2 | new | s64min-(-1),1-s64max |
| CAPPED_DATA | 1 | old | 1 |
| CAPPED_DATA | 1 | old | 1 |
| CAPPED_DATA | 2 | new | 1 |
| CAPPED_DATA | 2 | new | 1 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| HALF_LOCKED2 | &kvm->lock | ||
| HALF_LOCKED2 | &kvm->slots_lock |
net/xdp/xdp_umem.c raw_atomic64_cmpxchg() -> arch_atomic64_cmpxchg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PARAM_VALUE | 2 | new | 0-4503599627370495 |
| CAPPED_DATA | 2 | new | 1 |
| CAPPED_DATA | 2 | new | 1 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| CAPABLE | 0 | 14 | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | new | 1-s32max[c] |
| UNITS | 1 | old | unit_array_size |
| UNITS | 2 | new | unit_page |
| LOCK2 | &xs->mutex | ||
| HALF_LOCKED2 | &smc->clcsock_release_lock | ||
| TYPE_LOCK | (struct xdp_sock)->mutex |
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c raw_atomic64_cmpxchg() -> arch_atomic64_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 |
| DATA_SOURCE | 0 | v | $0 |
| DATA_SOURCE | 1 | old | $1 |
| DATA_SOURCE | 2 | new | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| LOCK2 | &rq->lock | ||
| HALF_LOCKED2 | &hive->hive_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &tmp_adev->reset_domain->sem | ||
| HALF_LOCKED2 | global &drm_unplug_srcu | ||
| TYPE_LOCK | (struct drm_sched_rq)->lock |