Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/namei.c open_last_lookups() -> put_link()

Type Parameter Key Value
PARAM_VALUE 0 nd 4342420360533635072,6489631671941296128
PARAM_VALUE 0 nd->depth 1-u32max
PARAM_VALUE 0 nd->last_type 1-3
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->type 0-1
DATA_SOURCE 0 nd $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 nd->dfd s32min-s32max
USER_DATA 0 nd->last.hash 0-u32max[c]
USER_DATA 0 nd->path.dentry->__d_name.hash 0-u32max[c]

fs/namei.c open_last_lookups() -> put_link()

Type Parameter Key Value
PARAM_VALUE 0 nd 4342420360533635072,6489631671941296128
PARAM_VALUE 0 nd->depth 1-u32max
PARAM_VALUE 0 nd->last_type 0
PARAM_VALUE 0 nd->path.dentry 4096-ptr_max
PARAM_VALUE 0 nd->path.dentry->d_children->first->pprev 1-u64max
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.dep_map->name 0-255
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->type 0-1
DATA_SOURCE 0 nd $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 nd->dfd s32min-s32max
USER_DATA 0 nd->last.hash 0-u32max[c]
USER_DATA 0 nd->path.dentry->__d_name.hash 0-u32max[c]

fs/namei.c pick_link() -> put_link()

Type Parameter Key Value
PARAM_VALUE 0 nd 4096-ptr_max
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 nd->total_link_count s32min-40
BUF_SIZE 0 nd->last.name s32min,(-1),1-s32max
DATA_SOURCE 0 nd $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 nd->dfd s32min-s32max
USER_DATA 0 nd->last->name 0-255
USER_DATA 0 nd->last.hash 0-u32max[c]
USER_DATA 0 nd->path.dentry->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 nd->inode->i_size
NO_OVERFLOW_SIMPLE 0 nd->path.dentry->d_inode->i_size

fs/namei.c walk_component() -> put_link()

Type Parameter Key Value
PARAM_VALUE 0 nd 522358671205986304,2024205125206544384,4342420360533635072,6489631671941296128
PARAM_VALUE 0 nd->depth 1-u32max
PARAM_VALUE 0 nd->last_type 1-3
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->type 0-1
BUF_SIZE 0 nd->last.name (-1),1-s32max
DATA_SOURCE 0 nd $0
FUZZY_MAX 0 nd->last_type 3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 nd->dfd s32min-s32max
USER_DATA 0 nd->last.hash 0-u32max[c]
USER_DATA 0 nd->path.dentry->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 nd->inode->i_size
NO_OVERFLOW_SIMPLE 0 nd->path.dentry->d_inode->i_size

fs/namei.c walk_component() -> put_link()

Type Parameter Key Value
PARAM_VALUE 0 nd 522358671205986304,2024205125206544384,4342420360533635072,6489631671941296128
PARAM_VALUE 0 nd->depth 1-u32max
PARAM_VALUE 0 nd->last_type 0
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 nd->path.dentry->d_inode->i_rwsem.first_waiter->type 0-1
DATA_SOURCE 0 nd $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 nd->dfd s32min-s32max
USER_DATA 0 nd->last->name 0-255
USER_DATA 0 nd->last.hash 0-u32max[c]
USER_DATA 0 nd->path.dentry->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 nd->inode->i_size
NO_OVERFLOW_SIMPLE 0 nd->path.dentry->d_inode->i_size