Documented in 1 files:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

kernel/time/posix-cpu-timers.c __update_gt_cputime() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 6120466838472294400
PARAM_VALUE 1 *old s64min-(-2),0-s64max
PARAM_VALUE 2 new s64min-(-1),1-s64max
DATA_SOURCE 0 v $0
DATA_SOURCE 2 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &timer->it_lock
HALF_LOCKED2 &tsk->sighand->siglock
HALF_LOCKED2 irq

fs/ceph/caps.c inode_set_max_iversion_raw() -> atomic64_try_cmpxchg()

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

net/tls/tls_device.c tls_device_rx_resync_async() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 2 new 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

net/tls/tls_device.c tls_device_rx_resync_async() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 2 new 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

net/tls/tls_device.c tls_device_rx_resync_new_rec() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 1 old 382010396784295936
PARAM_VALUE 2 new 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

kernel/time/timekeeping.c ktime_get_real_ts64_mg() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4116949215864369152
PARAM_VALUE 1 old 8440750918568046592
PARAM_COMPARE 2 new >= $2

fs/ceph/inode.c inode_set_max_iversion_raw() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 3165205108933185536
DATA_SOURCE 2 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 new s64min-s64max
LOCK2 &ci->i_ceph_lock
LOCK2 &mdsc->snap_rwsem
HALF_LOCKED2 &req->r_fill_mutex
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock
TYPE_LOCK (struct ceph_mds_client)->snap_rwsem

block/blk-cgroup.c blkcg_scale_delay() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 2642183914904432640
DATA_SOURCE 2 new $1
RX_PATH
TASK_NOT_RUNNING

block/blk-iolatency.c blkcg_iolatency_done_bio() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 765970923384483840
PARAM_VALUE 1 *old s64min-(-2),0-s64max
PARAM_VALUE 2 new s64min-(-1),1-s64max
DATA_SOURCE 2 new r blk_time_get_ns
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot

fs/libfs.c inode_maybe_inc_iversion() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 6538613422192513024
PARAM_VALUE 2 new 2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &inode->i_rwsem

fs/libfs.c inode_query_iversion() -> atomic64_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 7216555069338202112
BIT_INFO 2 new 0x1,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fi->rdc.lock
HALF_LOCKED2 &target->i_rwsem