Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

fs/ocfs2/quota_local.c ocfs2_recover_local_quota_file() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->usage.refs.counter s32min-s32max
BUF_SIZE 0 dquot (-1),400
BUF_SIZE 0 dquot (-1),400
DATA_SOURCE 0 dquot r dqget
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/quota/dquot.c dqget() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dquot->dq_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dquot->dq_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dquot->dq_sb 4096-ptr_max
BUF_SIZE 0 dquot (-1),400
BUF_SIZE 0 dquot (-1),400
BUF_SIZE 0 dquot->dq_sb (-1),2816,2880
STR_LEN 0 dquot->dq_sb (-1),8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem

fs/quota/dquot.c dqput_all() -> dqput()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/quota/dquot.c dquot_get_dqblk() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_dqb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_free.next->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->usage.refs.counter s32min-s32max
BUF_SIZE 0 dquot (-1),400
BUF_SIZE 0 dquot (-1),400
DATA_SOURCE 0 dquot r dqget
NOCHECK_CALL
HALF_LOCKED2 &sb->s_umount

fs/quota/dquot.c dquot_get_next_dqblk() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_dqb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_free.next->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->usage.refs.counter s32min-s32max
BUF_SIZE 0 dquot (-1),400
BUF_SIZE 0 dquot (-1),400
DATA_SOURCE 0 dquot r dqget
NOCHECK_CALL
HALF_LOCKED2 &sb->s_umount

fs/quota/dquot.c dquot_scan_active() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 0,4096-ptr_max
PARAM_VALUE 0 dquot->dq_sb 4096-ptr_max
NOCHECK_CALL
LOCK2 &sb->s_umount
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct super_block)->s_umount

fs/quota/dquot.c dquot_scan_active() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 0,4096-ptr_max
PARAM_VALUE 0 dquot->dq_sb 4096-ptr_max
NOCHECK_CALL
LOCK2 &sb->s_umount
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct super_block)->s_umount

fs/quota/dquot.c dquot_set_dqblk() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->usage.refs.counter s32min-s32max
BUF_SIZE 0 dquot (-1),400
BUF_SIZE 0 dquot (-1),400
DATA_SOURCE 0 dquot r dqget
NOCHECK_CALL
USER_DATA 0 dquot->dq_dqb.dqb_bhardlimit 512-s32max[c]
USER_DATA 0 dquot->dq_dqb.dqb_bsoftlimit 512-s32max[c]
USER_DATA 0 dquot->dq_dqb.dqb_btime s64min-s64max
USER_DATA 0 dquot->dq_dqb.dqb_curinodes s64min-s64max
USER_DATA 0 dquot->dq_dqb.dqb_ihardlimit 1-s32max[c]
USER_DATA 0 dquot->dq_dqb.dqb_isoftlimit 1-s32max[c]
USER_DATA 0 dquot->dq_dqb.dqb_itime s64min-s64max
HALF_LOCKED2 &sb->s_umount

fs/quota/dquot.c dquot_writeback_dquots() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_sb 4096-ptr_max
PARAM_VALUE 0 dquot->dq_sb->dq_op 4096-ptr_max
PARAM_VALUE 0 dquot->dq_sb->dq_op->write_dquot 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 &sbi->quota_sem.internal_rwsem

fs/quota/dquot.c invalidate_dquots() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_id.type 0-2
PARAM_VALUE 0 dquot->dq_sb 4096-ptr_max
PARAM_VALUE 0 dquot->dq_sb->dq_op->destroy_dquot 4096-ptr_max
CAPPED_DATA 0 dquot->dq_id.type 1
CAPPED_DATA 0 dquot->dq_sb 1
CAPPED_DATA 0 &dquot->dq_inuse 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sb->s_umount

fs/quota/dquot.c remove_dquot_ref() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sb->s_inode_list_lock
LOCK2 global &dq_data_lock
HALF_LOCKED2 &sb->s_umount
TYPE_LOCK (struct super_block)->s_inode_list_lock

fs/ocfs2/quota_global.c ocfs2_drop_dquot_refs() -> dqput()

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

fs/ocfs2/file.c ocfs2_setattr() -> dqput()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/f2fs/file.c f2fs_transfer_project_quota() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/ext4/ioctl.c ext4_ioctl_setproject() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/super.c f2fs_statfs_project() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_dqb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_free.next->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->usage.refs.counter s32min-s32max
BUF_SIZE 0 dquot (-1),400
BUF_SIZE 0 dquot (-1),400
DATA_SOURCE 0 dquot r dqget
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &s->s_umount

fs/ext4/super.c ext4_statfs_project() -> dqput()

Type Parameter Key Value
PARAM_VALUE 0 dquot 4096-ptr_max
PARAM_VALUE 0 dquot->dq_dqb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_free.next->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.next->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->next 4096-ptr_max
PARAM_VALUE 0 dquot->dq_free.prev->prev 4096-ptr_max
PARAM_VALUE 0 dquot->dq_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dquot->dq_lock.first_waiter->task->usage.refs.counter s32min-s32max
BUF_SIZE 0 dquot (-1),400
BUF_SIZE 0 dquot (-1),400
DATA_SOURCE 0 dquot r dqget
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &s->s_umount