Documented in 1 files:

Defined in 1 files as a function:

Referenced in 13 files:

Smatch caller information:

net/core/sock_diag.c __sock_gen_cookie() -> atomic64_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 0
DATA_SOURCE 2 new r gen_cookie_next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 rcu_read

lib/atomic64_test.c test_atomic64() -> atomic64_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4852880703011659776
PARAM_VALUE 0 v->counter (-6151051535892492275)
PARAM_VALUE 1 old (-6151051535892492275)
PARAM_VALUE 2 new (-2401053088876082434)

lib/atomic64_test.c test_atomic64() -> atomic64_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4852880703011659776
PARAM_VALUE 0 v->counter (-6151051535892492275)
PARAM_VALUE 1 old (-374172955480035327)
PARAM_VALUE 2 new (-2401053088876082434)

fs/ext4/fast_commit.c ext4_fc_snap_stats_update_max() -> 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
DATA_SOURCE 0 v $0
DATA_SOURCE 2 new $1
PARAM_COMPARE 1 old < $2
PARAM_COMPARE 2 new > $1
BIT_INFO 1 old 0x0,0x7fffffffffffffff
BIT_INFO 2 new 0x0,0x7fffffffffffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

security/landlock/id.c init_id() -> 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
NOCHECK_CALL

lib/test_lockup.c test_lock() -> atomic64_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 6356003204875952128
CAPPED_DATA 1 old 1
CAPPED_DATA 1 old 1
PARAM_COMPARE 1 old <= $2
PARAM_COMPARE 2 new >= $1
PARAM_COMPARE 2 new >= $1
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 btrfs_free_extent_maps() -> 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 2 new $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sb->s_umount
HALF_LOCKED2 global &bch_register_lock
TYPE_LOCK (struct super_block)->s_umount

fs/hfs/catalog.c hfs_set_next_unused_CNID() -> atomic64_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 0-4294967295
PARAM_VALUE 2 new 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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 &target->i_rwsem

fs/hfs/catalog.c hfs_set_next_unused_CNID() -> 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
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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 &target->i_rwsem

net/mptcp/options.c mptcp_set_rwin() -> atomic64_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
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 misc_cg_update_watermark() -> 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 2 new 1
DATA_SOURCE 2 new $1
PARAM_COMPARE 1 old < $2
PARAM_COMPARE 2 new > $1
BIT_INFO 2 new 0x0,0x7fffffffffffffff
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->slots_lock