Documented in 1 files:
Defined in 1 files as a function:
Referenced in 19 files:
- arch/s390/kvm/pci.c, line 226
- drivers/block/zram/zram_drv.c, line 197
- drivers/iommu/iommufd/pages.c, line 970
- drivers/tty/tty_ldsem.c
- include/asm-generic/local.h, line 45
- include/linux/file_ref.h, line 184
- include/linux/unwind_deferred.h, line 47
- io_uring/rsrc.c, line 99
- kernel/dma/swiotlb.c, line 1054
- kernel/locking/rwsem.c
- kernel/printk/nbcon.c
- kernel/printk/printk_ringbuffer.c
- kernel/sched/ext/ext.c
- kernel/ucount.c, line 213
- lib/sbitmap.c, line 547
- mm/kasan/kasan_test_c.c
- mm/swapfile.c
- mm/zswap.c, line 1248
- net/core/skbuff.c, line 1703
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 |