Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/afs/security.c afs_check_permit() -> afs_fetch_status()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
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->type 0-1
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->type 0-1
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->volume 4096-ptr_max
PARAM_VALUE 0 vnode->volume->cell 4096-ptr_max
PARAM_VALUE 1 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 key->sem.first_waiter->type 0-1
PARAM_VALUE 2 is_new 0
PARAM_VALUE 3 _caller_access 4938982269627019264,7783265635698126848
BUF_SIZE 1 key (-1)-s32max
BUF_SIZE 1 key (-1)-s32max
DATA_SOURCE 0 vnode $0
DATA_SOURCE 1 key $1
DATA_SOURCE 3 _caller_access $2
PARAM_COMPARE 1 key != $0->volume->cell->anonymous_key
PARAM_COMPARE 1 key != $0->volume->cell->anonymous_key
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 key->quotalen
UNITS 1 key unit_byte

fs/afs/flock.c afs_do_getlk() -> afs_fetch_status()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
PARAM_VALUE 0 vnode->lock_state 0-6,8-255
PARAM_VALUE 2 is_new 0
PARAM_VALUE 3 _caller_access 0
DATA_SOURCE 0 vnode r AFS_FS_I
DATA_SOURCE 1 key r afs_file_key
RX_PATH
TASK_NOT_RUNNING

fs/afs/validation.c afs_validate() -> afs_fetch_status()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
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->type 0-1
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->type 0-1
PARAM_VALUE 0 vnode->validate_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->validate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vnode->validate_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 vnode->validate_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 vnode->validate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vnode->validate_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 vnode->validate_lock.wait_lock.owner (-1)
PARAM_VALUE 0 vnode->validate_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 key->sem.first_waiter->type 0-1
PARAM_VALUE 2 is_new 0
PARAM_VALUE 3 _caller_access 0
BUF_SIZE 1 key (-1)-s32max
BUF_SIZE 1 key (-1)-s32max
DATA_SOURCE 0 vnode $0
DATA_SOURCE 1 key $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 key->quotalen
UNITS 1 key unit_byte
LOCK2 0 &vnode->validate_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &target->i_rwsem
HALF_LOCKED2 &volume->cb_check_lock
TYPE_LOCK (struct afs_vnode)->validate_lock