Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/afs/flock.c afs_do_setlk() -> afs_next_locker()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
PARAM_VALUE 0 vnode->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vnode->lock_key 0,4096-ptr_max
PARAM_VALUE 0 vnode->lock_key->user->qnbytes s32min-s32max
PARAM_VALUE 0 vnode->lock_key->user->qnkeys s32min-s32max
PARAM_VALUE 0 vnode->lock_state 2
PARAM_VALUE 0 vnode->lock_type 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.dep_map->name 0-255
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vnode->pending_locks.prev 4096-ptr_max
PARAM_VALUE 0 vnode->pending_locks.prev->next 4096-ptr_max
PARAM_VALUE 0 vnode->pending_locks.prev->next->next 4096-ptr_max
PARAM_VALUE 0 vnode->symlink 0
PARAM_VALUE 0 vnode->validate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->validate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vnode->validate_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cb_v_break.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cell->anonymous_key->user->qnbytes s32min-s32max
PARAM_VALUE 1 error (-129)-(-127),(-13),(-1)
DATA_SOURCE 0 vnode r AFS_FS_I
DATA_SOURCE 1 error r afs_set_lock
BIT_INFO 1 error 0x0,0x7fff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vnode->lock
TYPE_LOCK (struct afs_vnode)->lock

fs/afs/flock.c afs_do_setlk() -> afs_next_locker()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
PARAM_VALUE 0 vnode->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vnode->lock_key 0,4096-ptr_max
PARAM_VALUE 0 vnode->lock_key->user->qnbytes s32min-s32max
PARAM_VALUE 0 vnode->lock_key->user->qnkeys s32min-s32max
PARAM_VALUE 0 vnode->lock_state 2
PARAM_VALUE 0 vnode->lock_type 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.dep_map->name 0-255
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vnode->pending_locks.prev 4096-ptr_max
PARAM_VALUE 0 vnode->pending_locks.prev->next 4096-ptr_max
PARAM_VALUE 0 vnode->pending_locks.prev->next->next 4096-ptr_max
PARAM_VALUE 0 vnode->symlink 0
PARAM_VALUE 0 vnode->validate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->validate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vnode->validate_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cb_v_break.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cell->anonymous_key->user->qnbytes s32min-s32max
PARAM_VALUE 1 error 0
DATA_SOURCE 0 vnode r AFS_FS_I
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vnode->lock
TYPE_LOCK (struct afs_vnode)->lock

fs/afs/flock.c afs_do_setlk() -> afs_next_locker()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
PARAM_VALUE 0 vnode->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vnode->lock_state 0,2
PARAM_VALUE 0 vnode->lock_type 0-255
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.dep_map->name 0-255
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 vnode->netfs.inode.i_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vnode->pending_locks.prev 4096-ptr_max
PARAM_VALUE 0 vnode->pending_locks.prev->next 4096-ptr_max
PARAM_VALUE 0 vnode->pending_locks.prev->next->next 4096-ptr_max
PARAM_VALUE 0 vnode->symlink 0
PARAM_VALUE 0 vnode->validate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->validate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vnode->validate_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 vnode->volume->cb_check_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cb_v_break.counter 0-s32max
PARAM_VALUE 0 vnode->volume->cell->anonymous_key->user->qnbytes s32min-s32max
PARAM_VALUE 1 error 0
DATA_SOURCE 0 vnode r AFS_FS_I
FUZZY_MAX 0 vnode->lock_type 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vnode->lock
TYPE_LOCK (struct afs_vnode)->lock

fs/afs/flock.c afs_lock_may_be_available() -> afs_next_locker()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
PARAM_VALUE 0 vnode->cb_lock.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vnode->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vnode->lock_state 1
PARAM_VALUE 0 vnode->permit_cache 0
PARAM_VALUE 0 vnode->permit_cache->hash_node->next->pprev 1-u64max
PARAM_VALUE 0 vnode->permit_cache->hash_node.pprev 0
PARAM_VALUE 0 vnode->permit_cache->rcu.func 1-u64max
PARAM_VALUE 0 vnode->permit_cache->rcu.next 0
PARAM_VALUE 0 vnode->volume 4096-ptr_max
PARAM_VALUE 1 error 0
DATA_SOURCE 0 vnode $0
BIT_INFO 0 vnode->cb_v_check 0x0,0x7fffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vnode->cb_lock.lock
LOCK2 0 &vnode->lock
TYPE_LOCK (struct afs_vnode)->lock
TYPE_LOCK (struct seqlock)->lock

fs/afs/flock.c afs_lock_work() -> afs_next_locker()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
PARAM_VALUE 0 vnode->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vnode->lock_key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->lock_key->sem.first_waiter->type 0-1
PARAM_VALUE 0 vnode->lock_state 6
PARAM_VALUE 1 error 0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &vnode->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct afs_vnode)->lock

fs/afs/flock.c afs_lock_work() -> afs_next_locker()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
PARAM_VALUE 0 vnode->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vnode->lock_key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->lock_key->sem.first_waiter->type 0-1
PARAM_VALUE 0 vnode->lock_state 1
PARAM_VALUE 1 error 0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &vnode->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct afs_vnode)->lock