Documented in 1 files:

Defined in 1 files as a function:

Referenced in 19 files:

Smatch caller information:

io_uring/rsrc.c __io_account_mem() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1751475298139521024
PARAM_VALUE 2 new 0-4503599627370495
CAPPED_DATA 2 new 1
RX_PATH
UNITS 2 new unit_page
HALF_LOCKED2 &ctx->uring_lock

kernel/entry/common.c unwind_reset_info() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1401492145688125440
PARAM_VALUE 2 new 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/swapfile.c add_to_avail_list() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 4075824949997199360
PARAM_VALUE 1 *old 0-4294967295
PARAM_VALUE 2 new 1073741824-5368709119
CAPPED_DATA 2 new 1
BIT_INFO 2 new 0x40000000,0xffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &swap_avail_lock
HALF_LOCKED2 &si->lock
HALF_LOCKED2 global &swap_lock

mm/swapfile.c del_from_avail_list() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 2318994525795917824
PARAM_VALUE 1 *old 0-4294967295
PARAM_VALUE 2 new 1073741824-5368709119
CAPPED_DATA 2 new 1
BIT_INFO 2 new 0x40000000,0xffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &swap_avail_lock
HALF_LOCKED2 &ci->lock
HALF_LOCKED2 &si->global_cluster_lock
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

net/core/skbuff.c mm_account_pinned_pages() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 7334220749825212416
PARAM_VALUE 2 new 0-4503599627370495
CAPPED_DATA 2 new 1
CAPABLE 0 14
RX_PATH
TASK_NOT_RUNNING
UNITS 2 new unit_page

mm/zswap.c zswap_shrinker_count() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 3755544511127392256
PARAM_VALUE 2 new 0-9223372036854775806
BUF_SIZE 0 v 8
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock

drivers/iommu/iommufd/pages.c incr_user_locked_vm() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 4092092991771197440
PARAM_VALUE 2 new 0-4503599627370495
CAPPED_DATA 2 new 1
RX_PATH
UNITS 2 new unit_page
HALF_LOCKED2 &ictx->ioas_creation_lock
HALF_LOCKED2 &pages->mutex

kernel/ucount.c atomic_long_inc_below() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1496547599177019392
PARAM_VALUE 1 *old s64min-2147483646
PARAM_VALUE 2 new (-9223372036854775807)-s32max
CAPPED_DATA 2 new 1
DATA_SOURCE 0 v $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &group->mark_mutex

kernel/printk/printk_ringbuffer.c _prb_commit() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 8568208861569654784
PARAM_VALUE 1 *old 0-4611686018427387903
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 e.irqflags
HALF_LOCKED2 irqflags

kernel/printk/printk_ringbuffer.c data_alloc() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 6930481050113691648
DATA_SOURCE 2 new r get_next_lpos
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 e->irqflags
HALF_LOCKED2 irqflags

kernel/printk/printk_ringbuffer.c data_push_tail() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 4077458878392369152
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 e->irqflags
HALF_LOCKED2 irqflags

kernel/printk/printk_ringbuffer.c data_realloc() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 3865464208092422144
PARAM_VALUE 1 *old s64min-0,3,8-s64max
DATA_SOURCE 2 new r get_next_lpos
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 new unit_byte
LOCK2 e->irqflags
LOCK2 irqflags

kernel/printk/printk_ringbuffer.c desc_reopen_last() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 4988204513999183872
PARAM_VALUE 1 *old 4611686018427387904-s64max
PARAM_VALUE 2 new 0-4611686018427387903
CAPPED_DATA 2 new 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 e->irqflags
LOCK2 irqflags

kernel/printk/printk_ringbuffer.c desc_reserve() -> atomic_long_try_cmpxchg()

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

kernel/printk/printk_ringbuffer.c desc_reserve() -> atomic_long_try_cmpxchg()

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

fs/file_table.c file_ref_put_close() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 7414161574144356352
PARAM_VALUE 1 *old 0
PARAM_VALUE 2 new (-2305843009213693952)
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/process.c unwind_reset_info() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 6665394786437787648
PARAM_VALUE 2 new 0
LOCK2 irq

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

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

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

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

arch/x86/kernel/cpu/mce/core.c unwind_reset_info() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1945427598823342080
PARAM_VALUE 2 new 0

arch/x86/kernel/traps.c unwind_reset_info() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 9123686695838158848
PARAM_VALUE 2 new 0

lib/sbitmap.c __sbitmap_queue_get_batch() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 6205475200957702144
BUF_SIZE 0 v 8
RX_PATH
TASK_NOT_RUNNING

lib/sbitmap.c __sbitmap_queue_get_batch() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 6205475200957702144
BUF_SIZE 0 v 8
RX_PATH
TASK_NOT_RUNNING

kernel/printk/nbcon.c nbcon_emit_next_record() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 2187959437525630976
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->flags
HALF_LOCKED2 flags

kernel/printk/nbcon.c nbcon_seq_try_update() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 8806490009770831872
PARAM_VALUE 1 *old 0
DATA_SOURCE 2 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->flags
HALF_LOCKED2 flags

arch/x86/coco/sev/vc-handle.c unwind_reset_info() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1799171066587774976
PARAM_VALUE 2 new 0

arch/x86/entry/syscall_32.c unwind_reset_info() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 5551628119017115648
PARAM_VALUE 2 new 0
LOCK2 irq

drivers/block/zram/zram_drv.c update_used_max() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 2555843663067082752
PARAM_VALUE 1 *old s64min-(-2),0-s64max
PARAM_VALUE 2 new s64min-(-1),1-s64max
DATA_SOURCE 2 new $1
HALF_LOCKED2 &zstrm->lock

kernel/dma/swiotlb.c inc_used_and_hiwater_real() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1833520320220000256
PARAM_VALUE 1 *old s64min-(-2),0-s64max
PARAM_VALUE 2 new s64min-(-1),1-s64max
DATA_SOURCE 2 new r atomic_long_add_return
BIT_INFO 2 new 0x0,0x7fffffffffffffff

arch/x86/entry/syscall_64.c unwind_reset_info() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 4295016228825612288
PARAM_VALUE 2 new 0
LOCK2 irq

kernel/locking/rwsem.c rwsem_clear_reader_owned() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 2745872330469511168
PARAM_VALUE 2 new 0-3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/locking/rwsem.c rwsem_set_nonspinnable() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 8268593127486734336
PARAM_VALUE 2 new s64min-0,2-s64max
BIT_INFO 2 new 0x3,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

drivers/tty/tty_ldsem.c __ldsem_wake_readers() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1983854708724486144
PARAM_VALUE 1 *old s64min-0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sem->wait_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct ld_semaphore)->wait_lock

drivers/tty/tty_ldsem.c down_read_failed() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 *old s64min-0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sem->wait_lock
LOCK2 irq
TYPE_LOCK (struct ld_semaphore)->wait_lock

drivers/tty/tty_ldsem.c down_write_failed() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sem->wait_lock
LOCK2 irq
TYPE_LOCK (struct ld_semaphore)->wait_lock

drivers/tty/tty_ldsem.c ldsem_down_read_trylock() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1492926828296495104
PARAM_VALUE 1 *old 0-s64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &buf->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 &tty->termios_rwsem

drivers/tty/tty_ldsem.c writer_trylock() -> atomic_long_try_cmpxchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1041065533356187648
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sem->wait_lock
LOCK2 irq
TYPE_LOCK (struct ld_semaphore)->wait_lock