Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/namei.c legitimize_links() -> legitimize_path()

Type Parameter Key Value
PARAM_VALUE 0 nd 4096-ptr_max
PARAM_VALUE 0 nd->depth 1-u32max
PARAM_VALUE 0 nd->inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 nd->last_type 0-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
PARAM_VALUE 1 path 4096-ptr_max
BUF_SIZE 0 nd->last.name s32min,(-1),1-s32max
DATA_SOURCE 0 nd $0
FUZZY_MAX 0 nd->last_type 3
BIT_INFO 0 nd->flags 0x100,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
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 legitimize_root() -> legitimize_path()

Type Parameter Key Value
PARAM_VALUE 0 nd 4096-ptr_max
PARAM_VALUE 0 nd->depth 0-s32max
PARAM_VALUE 0 nd->inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 nd->last_type 0-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
PARAM_VALUE 0 nd->path.dentry->d_lockref.count 1-s32max
PARAM_VALUE 0 nd->root.mnt 1-u64max
PARAM_VALUE 0 nd->state 0,2-u32max
PARAM_VALUE 1 path 4096-ptr_max
PARAM_VALUE 1 path->mnt 1-u64max
BUF_SIZE 0 nd->last.name s32min,(-1),1-s32max
CAPPED_DATA 0 nd->depth 1
CAPPED_DATA 0 nd->m_seq 1
DATA_SOURCE 0 nd $0
FUZZY_MAX 0 nd->last_type 3
BIT_INFO 0 nd->flags 0x100,0xffffffffffffffff
BIT_INFO 0 nd->state 0x2,0xfffffffe
RX_PATH
TASK_NOT_RUNNING
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 reserve_stack() -> legitimize_path()

Type Parameter Key Value
PARAM_VALUE 0 nd 4096-ptr_max
PARAM_VALUE 0 nd->depth 2
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
PARAM_VALUE 1 path 4385562092739477504
PARAM_VALUE 1 path->dentry 4096-ptr_max
BUF_SIZE 0 nd->last.name s32min,(-1),1-s32max
CAPPED_DATA 0 nd->internal 1
CAPPED_DATA 0 nd->stack 1
DATA_SOURCE 0 nd $0
DATA_SOURCE 1 path $1
PARAM_COMPARE 0 nd->internal == $0->stack
BIT_INFO 0 nd->flags 0x100,0xffffffff
RX_PATH
TASK_NOT_RUNNING
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->path.dentry->d_inode->i_size

fs/namei.c try_to_unlazy() -> legitimize_path()

Type Parameter Key Value
PARAM_VALUE 0 nd 4096-ptr_max
PARAM_VALUE 0 nd->depth 0-s32max
PARAM_VALUE 0 nd->inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 nd->last_type 0-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
PARAM_VALUE 1 path 4096-ptr_max
BUF_SIZE 0 nd->last.name s32min,(-1),1-s32max
CAPPED_DATA 0 nd->depth 1
DATA_SOURCE 0 nd $0
BIT_INFO 0 nd->flags 0x100,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
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