Documented in 1 files:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

arch/x86/kvm/mmu/mmu.c __kvm_rmap_lock() -> atomic_long_try_cmpxchg_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 1498660572215087104
PARAM_VALUE 1 *old s64min-(-1),1-s64max
PARAM_VALUE 2 new s64min-0,2-s64max
BIT_INFO 2 new 0x2,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 &kvm->srcu

kernel/locking/rwsem.c __down_read_trylock() -> atomic_long_try_cmpxchg_acquire()

Type Parameter Key Value
PARAM_VALUE 1 old 627933790203723776
PARAM_VALUE 1 *old s64min-(-2)
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 l1

kernel/locking/rwsem.c rwsem_try_write_lock() -> atomic_long_try_cmpxchg_acquire()

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

kernel/locking/rwsem.c rwsem_try_write_lock_unqueued() -> atomic_long_try_cmpxchg_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 320337728237256704
PARAM_VALUE 1 *old s64min-(-2),256-s64max
PARAM_VALUE 2 new s64min-(-1),257-s64max
BIT_INFO 2 new 0x1,0xfb
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/locking/rwsem.c rwsem_write_trylock() -> atomic_long_try_cmpxchg_acquire()

Type Parameter Key Value
PARAM_VALUE 1 old 7450705429175435264
PARAM_VALUE 1 *old 0
PARAM_VALUE 2 new 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/locking/mutex.c __mutex_trylock_common() -> atomic_long_try_cmpxchg_acquire()

Type Parameter Key Value
PARAM_VALUE 1 old 5238985318996324352
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &lock->wait_lock
HALF_LOCKED2 flags