Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 nd 4096-ptr_max
PARAM_VALUE 0 nd->flags 256-4294966783
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
DATA_SOURCE 0 nd $0
BIT_INFO 0 nd->flags 0x100,0xfffffdff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 nd->dfd s32min-s32max
USER_DATA 0 nd->dir_mode 0-u16max
USER_DATA 0 nd->inode->i_mode 0-u16max
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 link_path_walk() -> try_to_unlazy()

Type Parameter Key Value
PARAM_VALUE 0 nd 522358671205986304,2024205125206544384,4342420360533635072,6489631671941296128
PARAM_VALUE 0 nd->last_type 0,2-3
PARAM_VALUE 0 nd->path.dentry 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
BUF_SIZE 0 nd->last.name (-1)-s32max
DATA_SOURCE 0 nd $1
FUZZY_MAX 0 nd->last_type 3
BIT_INFO 0 nd->flags 0x100,0xffffffff
HARD_MAX 0 nd->last_type 3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 nd->dfd s32min-s32max
USER_DATA 0 nd->dir_mode 0-u16max
USER_DATA 0 nd->inode->i_mode 0-u16max
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 lookup_fast() -> try_to_unlazy()

Type Parameter Key Value
PARAM_VALUE 0 nd 4096-ptr_max
PARAM_VALUE 0 nd->inode->i_sb->s_cop->inode_info_offs 1632,1808,2632,2648
PARAM_VALUE 0 nd->last_type 0
PARAM_VALUE 0 nd->path.dentry 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
BUF_SIZE 0 nd->last.name (-1),1-s32max
DATA_SOURCE 0 nd $0
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->inode->i_size
NO_OVERFLOW_SIMPLE 0 nd->path.dentry->d_inode->i_size

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

Type Parameter Key Value
PARAM_VALUE 0 nd 522358671205986304,2024205125206544384,4342420360533635072,6489631671941296128
PARAM_VALUE 0 nd->inode 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->path.mnt 4096-ptr_max
BUF_SIZE 0 nd->last.name (-1),1-s32max
DATA_SOURCE 0 nd $1
BIT_INFO 0 nd->flags 0x100,0xffffffff
RX_PATH
TASK_NOT_RUNNING
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 open_last_lookups() -> try_to_unlazy()

Type Parameter Key Value
PARAM_VALUE 0 nd 4342420360533635072,6489631671941296128
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
BIT_INFO 0 nd->flags 0x100,0xffffffff
RX_PATH
TASK_NOT_RUNNING
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() -> try_to_unlazy()

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
BIT_INFO 0 nd->flags 0x100,0xfeffffff
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 pick_link() -> try_to_unlazy()

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
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->inode->i_size
NO_OVERFLOW_SIMPLE 0 nd->path.dentry->d_inode->i_size

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

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
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
PARAM_COMPARE 0 nd->internal == $0->stack
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->path.dentry->d_inode->i_size