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 |