Documented in 1 files:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/radeon/radeon_fence.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new s64min-(-1),1-s64max
CAPPED_DATA 1 new 1
CAPPED_DATA 1 new 1
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 new 2-s32max[c]
HALF_LOCKED2 &rdev->exclusive_lock
HALF_LOCKED2 rcu_read

lib/atomic64_test.c atomic64_xchg() -> raw_atomic64_xchg()

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

fs/afs/inode.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new s64min
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vnode->cb_lock.lock
HALF_LOCKED2 &dvnode->rmdir_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &target->i_rwsem
TYPE_LOCK (struct seqlock)->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dqm->lock_hidden

kernel/rcu/rcutorture.c raw_atomic_long_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 3637200038180208640
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1

net/netfilter/nft_quota.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING

fs/cachefiles/daemon.c raw_atomic_long_xchg() -> raw_atomic64_xchg()

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

net/netfilter/nf_conntrack_netlink.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

mm/shrinker.c raw_atomic_long_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/gpu/drm/scheduler/sched_entity.c raw_atomic_long_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new s64min-(-4096),4096-s64max
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &client->hwctx_srcu
HALF_LOCKED2 &gpu->sched_lock
HALF_LOCKED2 &hwctx->priv->io_lock
HALF_LOCKED2 &hwctx->priv->job_sem
HALF_LOCKED2 &p->adev->notifier_lock
HALF_LOCKED2 &pfdev->sched_lock
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 &v3d->sched_lock
HALF_LOCKED2 &xdna->notifier_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &drm_unplug_srcu

fs/afs/rotate.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new s64min
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vnode->cb_lock.lock

mm/kasan/kasan_test_c.c raw_atomic_long_xchg() -> raw_atomic64_xchg()

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

mm/page_counter.c raw_atomic_long_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
CAPPED_DATA 1 new 1
CAPPED_DATA 1 new 1
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 new 1-s32max[c]

net/netfilter/nfnetlink_acct.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

kernel/sched/build_utility.c raw_atomic_long_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &jiffies_lock

drivers/scsi/lpfc/lpfc_init.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1

drivers/net/wwan/qcom_bam_dmux.c raw_atomic_long_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
HALF_LOCKED2 &pool->lock

drivers/pci/endpoint/functions/pci-epf-vntb.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new 0
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
HALF_LOCKED2 &pool->lock

fs/afs/dir.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new s64min
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dvnode->rmdir_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &target->i_rwsem

fs/afs/callback.c atomic64_xchg() -> raw_atomic64_xchg()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 new s64min
DATA_SOURCE 0 v $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &vnode->cb_lock.lock
HALF_LOCKED2 &volume->open_mmaps_lock