Documented in 1 files:

Defined in 1 files as a function:

Referenced in 24 files:

Smatch caller information:

lib/atomic64_test.c test_atomic64() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4852880703011659776
PARAM_VALUE 0 v->counter (-6151051535892492275)
NOCHECK_CALL

fs/xfs/libxfs/xfs_alloc_btree.c xfs_allocbt_free_block() -> atomic64_dec()

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

kernel/bpf/syscall.c bpf_map_write_active_dec() -> atomic64_dec()

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

drivers/misc/vmw_balloon.c vmballoon_migratepage() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &b->conf_sem
TYPE_LOCK (struct vmballoon)->conf_sem

fs/ceph/mds_client.c ceph_iterate_session_caps() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &session->s_cap_lock
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_mds_session)->s_cap_lock

fs/ceph/caps.c __ceph_remove_cap() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &session->s_cap_lock
HALF_LOCKED2 &ci->i_ceph_lock
TYPE_LOCK (struct ceph_mds_session)->s_cap_lock

fs/ceph/caps.c ceph_put_fmode() -> atomic64_dec()

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

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c __mlx5_eswitch_del_rule() -> atomic64_dec()

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

fs/ceph/quota.c ceph_adjust_quota_realms_count() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ci->i_ceph_lock
HALF_LOCKED2 &mdsc->snap_rwsem

drivers/block/zram/zram_drv.c slot_free() -> atomic64_dec()

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

drivers/block/zram/zram_drv.c slot_free() -> atomic64_dec()

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

drivers/block/zram/zram_drv.c slot_free() -> atomic64_dec()

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

drivers/block/zram/zram_drv.c zram_release_bdev_block() -> atomic64_dec()

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

drivers/block/zram/zram_drv.c zram_writeback_complete() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 _T->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/hfs/inode.c hfs_delete_inode() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &(dir->i_sb->s_fs_info)->cat_tree->tree_lock

fs/hfs/inode.c hfs_delete_inode() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &(dir->i_sb->s_fs_info)->cat_tree->tree_lock

fs/hfs/inode.c hfs_new_inode() -> atomic64_dec()

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

fs/hfs/inode.c hfs_new_inode() -> atomic64_dec()

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

fs/hfs/inode.c hfs_new_inode() -> atomic64_dec()

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

arch/x86/kvm/mmu/tdp_mmu.c tdp_unaccount_mmu_page() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &kvm->arch.apic_map_lock
HALF_LOCKED2 &kvm->arch.apicv_update_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_arch_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 &kvm->srcu
HALF_LOCKED2 rcu_read

drivers/scsi/fnic/fnic_scsi.c fnic_abort_cmd() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
NOCHECK_CALL

drivers/scsi/fnic/fnic_scsi.c fnic_abort_cmd() -> atomic64_dec()

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

drivers/scsi/fnic/fnic_scsi.c fnic_cleanup_io_iter() -> atomic64_dec()

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

drivers/scsi/fnic/fnic_scsi.c fnic_fcpio_cmpl_handler() -> atomic64_dec()

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

drivers/scsi/fnic/fnic_scsi.c fnic_fcpio_icmnd_cmpl_handler() -> atomic64_dec()

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

drivers/scsi/fnic/fnic_scsi.c fnic_fcpio_icmnd_cmpl_handler() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter s64min-(-1),1-s64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/fnic/fnic_scsi.c fnic_fcpio_itmf_cmpl_handler() -> atomic64_dec()

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

drivers/scsi/fnic/fnic_scsi.c fnic_fcpio_itmf_cmpl_handler() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter s64min-(-1),1-s64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/crypto/cavium/cpt/cptvf_reqmanager.c process_pending_queue() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pqueue->lock
LOCK2 bh
TYPE_LOCK (struct pending_queue)->lock

drivers/crypto/cavium/cpt/cptvf_reqmanager.c process_pending_queue() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pqueue->lock
LOCK2 bh
TYPE_LOCK (struct pending_queue)->lock

drivers/crypto/cavium/cpt/cptvf_reqmanager.c process_pending_queue() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pqueue->lock
LOCK2 bh
TYPE_LOCK (struct pending_queue)->lock

fs/ceph/dir.c ceph_d_release() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex

drivers/scsi/st.c st_do_stats() -> atomic64_dec()

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

drivers/scsi/fnic/fnic_nvme.c nvfnic_fcpio_nvme_itmf_cmpl_handler() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fnic->fnic_lock
LOCK2 fnic->lock_flags
TYPE_LOCK (struct fnic)->fnic_lock

drivers/scsi/fnic/fnic_nvme.c nvfnic_fcpio_nvme_itmf_cmpl_handler() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter s64min-(-1),1-s64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fnic->fnic_lock
LOCK2 fnic->lock_flags
TYPE_LOCK (struct fnic)->fnic_lock

drivers/scsi/fnic/fnic_nvme.c nvfnic_nvme_iodone_work() -> atomic64_dec()

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

drivers/scsi/fnic/fnic_nvme.c nvfnic_update_cmpl_stats() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fnic->fnic_lock
LOCK2 fnic->lock_flags
TYPE_LOCK (struct fnic)->fnic_lock

drivers/scsi/fnic/fnic_nvme.c nvfnic_update_cmpl_stats() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter s64min-(-1),1-s64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fnic->fnic_lock
LOCK2 fnic->lock_flags
TYPE_LOCK (struct fnic)->fnic_lock

drivers/scsi/snic/snic_scsi.c snic_io_cmpl_handler() -> atomic64_dec()

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

drivers/scsi/snic/snic_scsi.c snic_queue_icmnd_req() -> atomic64_dec()

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

drivers/scsi/snic/snic_scsi.c snic_stats_update_io_cmpl() -> atomic64_dec()

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

drivers/scsi/snic/snic_scsi.c snic_stats_update_io_cmpl() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter s64min-(-1),1-s64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nilfs2/inode.c nilfs_evict_inode() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sb->s_fs_info->ns_segctor_sem

kernel/bpf/core.c __bpf_free_used_maps() -> atomic64_dec()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
NOCHECK_CALL