Documented in 1 files:

Defined in 1 files as a function:

Referenced in 33 files:

Smatch caller information:

fs/erofs/zdata.c erofs_try_to_release_pcluster() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 3486703311589339136
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&sbi->managed_pslots)->xa_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &sbi->umount_mutex

fs/erofs/zdata.c z_erofs_get_pcluster() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 3486703311589339136
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pcl->lockref.lock
HALF_LOCKED2 &(&sbi->managed_pslots)->xa_lock
HALF_LOCKED2 &mapping->invalidate_lock
HALF_LOCKED2 &pcl->lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct lockref)->lock

mm/slub.c dec_slabs_node() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &n->list_lock
HALF_LOCKED2 flags

fs/nfs/delegation.c nfs_mark_delegation_revoked() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &delegation->lock
HALF_LOCKED2 rcu_read

net/packet/af_packet.c packet_mm_close() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/sunrpc/xprt.c xprt_request_dequeue_transmit_locked() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &xprt->queue_lock
TYPE_LOCK (struct rpc_xprt)->queue_lock

mm/kfence/core.c kfence_guarded_free() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 6987295999557009408
BUF_SIZE 0 v 64
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/inode.c __destroy_inode() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/inode.c inc_nlink() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &dir_f->sem
HALF_LOCKED2 &dir_ui->ui_mutex
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &info->bfs_lock
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 &sbi->hpfs_mutex
HALF_LOCKED2 &sbi->vh_mutex
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 &v9ses->rename_sem
HALF_LOCKED2 global &fuse_mutex
HALF_LOCKED2 global &selinux_state.policy_mutex

fs/inode.c set_nlink() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &ci->i_ceph_lock
HALF_LOCKED2 &delayed_node->mutex
HALF_LOCKED2 &dir->i_sb->s_fs_info->hpfs_mutex
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &fi->lock
HALF_LOCKED2 &info->bfs_lock
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &oi->ip_lock
HALF_LOCKED2 &orphan_dir_inode->i_rwsem
HALF_LOCKED2 &sbi->hpfs_mutex
HALF_LOCKED2 &sbi->vh_mutex
HALF_LOCKED2 &target->i_rwsem
HALF_LOCKED2 &vnode->cb_lock.lock
HALF_LOCKED2 global &cifs_mount_mutex

mm/zswap.c zswap_entry_free() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 1786556180034670592
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/zswap.c zswap_entry_free() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 5518317967423553536
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfsd/nfs4state.c __alloc_init_deleg() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 7019126119430201344
NOCHECK_CALL

fs/nfsd/nfs4state.c nfs4_free_deleg() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 7019126119430201344
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/ucount.c inc_ucount() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &group->mark_mutex

fs/nfs/nfs42xattr.c entry_lru_isolate() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bucket->lock
TYPE_LOCK (struct nfs4_xattr_bucket)->lock

fs/nfs/nfs42xattr.c nfs4_xattr_hash_remove() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bucket->lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &unused->d_inode->i_rwsem
TYPE_LOCK (struct nfs4_xattr_bucket)->lock

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

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

fs/ubifs/tnc_commit.c layout_in_empty_space() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &c->commit_sem
LOCK2 &c->tnc_mutex
HALF_LOCKED2 &c->umount_mutex
HALF_LOCKED2 &c->write_reserve_mutex
TYPE_LOCK (struct ubifs_info)->commit_sem
TYPE_LOCK (struct ubifs_info)->tnc_mutex

fs/ubifs/tnc_commit.c make_idx_node() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &c->commit_sem
LOCK2 &c->tnc_mutex
HALF_LOCKED2 &c->umount_mutex
HALF_LOCKED2 &c->write_reserve_mutex
TYPE_LOCK (struct ubifs_info)->commit_sem
TYPE_LOCK (struct ubifs_info)->tnc_mutex

net/unix/af_unix.c unix_create1() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 1696134431358308352
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/unix/af_unix.c unix_sock_destructor() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 1696134431358308352
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/list_lru.c __list_lru_del() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/list_lru.c __list_lru_walk_one() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/memory.c ksm_might_unmap_zero_page() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 6190261324310949888
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl
HALF_LOCKED2 vmf->ptl

mm/memory.c ksm_might_unmap_zero_page() -> atomic_long_dec()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl
HALF_LOCKED2 vmf->ptl

fs/nfs/dir.c nfs_access_free_entry() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 2207855199663185920
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/kernel/cpu/sgx/main.c __sgx_alloc_epc_page_from_node() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 3395242413915561984
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &encl->lock
HALF_LOCKED2 &vepc->lock

fs/nfs/write.c nfs_destroy_unlinked_subrequests() -> atomic_long_dec()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/nfs/write.c nfs_inode_remove_request() -> atomic_long_dec()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfs/write.c nfs_request_remove_commit_list() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ubifs/file.c do_writepage() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ubifs/file.c ubifs_invalidate_folio() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ubifs/file.c ubifs_release_folio() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &folio->private->lock
HALF_LOCKED2 global &mf_mutex

drivers/md/dm-bufio.c __scan() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter s64min-(-1),1-s64max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ubifs/tnc.c dirty_cow_znode() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &c->tnc_mutex
HALF_LOCKED2 &c->commit_sem
TYPE_LOCK (struct ubifs_info)->tnc_mutex

fs/ubifs/tnc.c dirty_cow_znode() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 1592116691373998080
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &c->tnc_mutex
HALF_LOCKED2 &c->commit_sem
TYPE_LOCK (struct ubifs_info)->tnc_mutex

fs/ubifs/tnc.c tnc_delete() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &c->tnc_mutex
TYPE_LOCK (struct ubifs_info)->tnc_mutex

fs/ubifs/tnc.c tnc_delete() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &c->tnc_mutex
TYPE_LOCK (struct ubifs_info)->tnc_mutex

net/sunrpc/clnt.c rpc_task_release_xprt() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/sunrpc/clnt.c rpc_task_release_xprt() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

fs/notify/mark.c fsnotify_update_sb_watchers() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &(*connp)->lock
HALF_LOCKED2 &conn->lock
HALF_LOCKED2 &mark->lock

mm/khugepaged.c ksm_might_unmap_zero_page() -> atomic_long_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 6190261324310949888
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->anon_vma->root->rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/khugepaged.c ksm_might_unmap_zero_page() -> atomic_long_dec()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->anon_vma->root->rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock