Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

fs/ocfs2/dlm/dlmconvert.c dlm_convert_lock_handler() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock 1
CAPPED_DATA 0 lock->ml.cookie 1
CAPPED_DATA 0 lock->ml.node 1
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmast.c __dlm_queue_ast() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.next->prev 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->bast_pending 0
PARAM_VALUE 0 lock->list.next 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->lksb->status 0
PARAM_VALUE 0 lock->ml.highest_blocked (-1)
PARAM_VALUE 0 lock->ml.type (-128)-4,6-127
PARAM_VALUE 0 lock->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 lock 1
CAPPED_DATA 0 &lock->ast_list 1
DATA_SOURCE 0 lock $1
PARAM_COMPARE 0 &lock->ast_list == $0->ast_list.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dlm->ast_lock
LOCK2 0 &lock->spinlock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ctxt)->ast_lock
TYPE_LOCK (struct dlm_lock)->spinlock

fs/ocfs2/dlm/dlmlock.c dlm_create_lock_handler() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->ast 0
PARAM_VALUE 0 lock->ast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->ast_pending 0
PARAM_VALUE 0 lock->astdata 0
PARAM_VALUE 0 lock->bast 0
PARAM_VALUE 0 lock->bast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->bast_pending 0
PARAM_VALUE 0 lock->cancel_pending 0
PARAM_VALUE 0 lock->convert_pending 0
PARAM_VALUE 0 lock->list.next 4096-ptr_max
PARAM_VALUE 0 lock->list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->list.prev 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->lksb 4096-ptr_max
PARAM_VALUE 0 lock->lock_pending 0
PARAM_VALUE 0 lock->lock_refs.refcount.refs.counter 1
PARAM_VALUE 0 lock->lockres->lockname.name 4096-ptr_max
PARAM_VALUE 0 lock->ml.convert_type (-1)
PARAM_VALUE 0 lock->ml.flags 0
PARAM_VALUE 0 lock->ml.highest_blocked (-1)
PARAM_VALUE 0 lock->ml.list 0
PARAM_VALUE 0 lock->ml.pad1 0
PARAM_VALUE 0 lock->unlock_pending 0
DATA_SOURCE 0 lock r dlm_new_lock
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmlock.c dlmlock() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->ast_pending 0
PARAM_VALUE 0 lock->astdata 0,4096-ptr_max
PARAM_VALUE 0 lock->bast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->bast_pending 0
PARAM_VALUE 0 lock->cancel_pending 0
PARAM_VALUE 0 lock->convert_pending 0
PARAM_VALUE 0 lock->list.next 4096-ptr_max
PARAM_VALUE 0 lock->list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->list.prev 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->lksb 4096-ptr_max
PARAM_VALUE 0 lock->lock_pending 0
PARAM_VALUE 0 lock->ml.convert_type (-1)
PARAM_VALUE 0 lock->ml.flags 0
PARAM_VALUE 0 lock->ml.highest_blocked (-1)
PARAM_VALUE 0 lock->ml.list 0
PARAM_VALUE 0 lock->ml.pad1 0
PARAM_VALUE 0 lock->unlock_pending 0
BUF_SIZE 0 lock->astdata (-1),128
CAPPED_DATA 0 lock->lksb 1
DATA_SOURCE 0 lock r dlm_new_lock
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ocfs2/dlm/dlmlock.c dlmlock_remote() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->ast_pending 0
PARAM_VALUE 0 lock->astdata 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->bast_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->bast_pending 0
PARAM_VALUE 0 lock->cancel_pending 0
PARAM_VALUE 0 lock->convert_pending 0
PARAM_VALUE 0 lock->list.next 4096-ptr_max
PARAM_VALUE 0 lock->list.next->next 4096-ptr_max
PARAM_VALUE 0 lock->list.next->prev 4096-ptr_max
PARAM_VALUE 0 lock->list.prev 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 lock->lksb 4096-ptr_max
PARAM_VALUE 0 lock->lock_pending 0
PARAM_VALUE 0 lock->lockres 0,4096-ptr_max
PARAM_VALUE 0 lock->lockres->hash_node.pprev 1-u64max
PARAM_VALUE 0 lock->ml.convert_type (-1)
PARAM_VALUE 0 lock->ml.flags 0
PARAM_VALUE 0 lock->ml.highest_blocked (-1)
PARAM_VALUE 0 lock->ml.list 0
PARAM_VALUE 0 lock->ml.pad1 0
PARAM_VALUE 0 lock->unlock_pending 0
BUF_SIZE 0 lock->astdata (-1),128
CAPPED_DATA 0 lock 1
DATA_SOURCE 0 lock $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &res->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_flush_asts() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->ast_pending 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &dlm->ast_lock
TYPE_LOCK (struct dlm_ctxt)->ast_lock

fs/ocfs2/dlm/dlmthread.c dlm_flush_asts() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->lksb 4096-ptr_max
PARAM_VALUE 0 lock->lockres 4096-ptr_max
PARAM_VALUE 0 lock->lockres->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *lock->lksb->lvb 0-255
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->ast_list 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &dlm->ast_lock
TYPE_LOCK (struct dlm_ctxt)->ast_lock

fs/ocfs2/dlm/dlmthread.c dlm_flush_asts() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->bast_pending 1
PARAM_VALUE 0 lock->ml.highest_blocked (-1)
PARAM_VALUE 0 lock->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *lock->lksb->lvb 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &dlm->ast_lock
TYPE_LOCK (struct dlm_ctxt)->ast_lock

fs/ocfs2/dlm/dlmthread.c dlm_flush_asts() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->ml.highest_blocked (-1)
PARAM_VALUE 0 lock->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *lock->lksb->lvb 0-255
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->bast_list 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &dlm->ast_lock
TYPE_LOCK (struct dlm_ctxt)->ast_lock

fs/ocfs2/dlm/dlmunlock.c dlm_unlock_lock_handler() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->cancel_pending 0
PARAM_VALUE 0 lock->list.next->prev 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->ml.convert_type (-1)
PARAM_VALUE 0 lock->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 lock 1
CAPPED_DATA 0 lock->ml.cookie 1
CAPPED_DATA 0 lock->ml.node 1
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmunlock.c dlmunlock() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ocfs2/dlm/dlmunlock.c dlmunlock_common() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->list.next->prev 4096-ptr_max
PARAM_VALUE 0 lock->list.prev->next 4096-ptr_max
PARAM_VALUE 0 lock->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 lock 1
CAPPED_DATA 0 &lock->ast_list 1
DATA_SOURCE 0 lock $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &res->spinlock
LOCK2 0 &lock->spinlock
TYPE_LOCK (struct dlm_lock)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmunlock.c dlmunlock_common() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 lock 1
CAPPED_DATA 0 &lock->ast_list 1
DATA_SOURCE 0 lock $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &res->spinlock
LOCK2 0 &lock->spinlock
TYPE_LOCK (struct dlm_lock)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmunlock.c dlmunlock_common() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 lock 1
CAPPED_DATA 0 &lock->ast_list 1
DATA_SOURCE 0 lock $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ocfs2/dlm/dlmmaster.c dlm_remove_nonlocal_locks() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->ast_pending 0
PARAM_VALUE 0 lock->bast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->bast_pending 0
CAPPED_DATA 0 &lock->ast_list 1
CAPPED_DATA 0 &lock->bast_list 1
CAPPED_DATA 0 &lock->list 1
PARAM_COMPARE 0 &lock->ast_list == $0->ast_list.next
PARAM_COMPARE 0 &lock->bast_list == $0->bast_list.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &res->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmmaster.c dlm_remove_nonlocal_locks() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->ast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->ast_pending 0
PARAM_VALUE 0 lock->bast_list.next 4096-ptr_max
PARAM_VALUE 0 lock->bast_pending 0
CAPPED_DATA 0 &lock->ast_list 1
CAPPED_DATA 0 &lock->bast_list 1
CAPPED_DATA 0 &lock->list 1
PARAM_COMPARE 0 &lock->ast_list == $0->ast_list.next
PARAM_COMPARE 0 &lock->bast_list == $0->bast_list.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &res->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_do_local_recovery_cleanup() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_do_local_recovery_cleanup() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_free_dead_locks() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_free_dead_locks() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_free_dead_locks() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_free_dead_locks() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_free_dead_locks() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_free_dead_locks() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_move_lockres_to_recovery_list() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->convert_pending 0
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_move_reco_locks_to_list() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_move_reco_locks_to_list() -> dlm_lock_put()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
CAPPED_DATA 0 lock->ml.node 1
CAPPED_DATA 0 &lock->list 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 &res->spinlock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock