Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- fs/file_table.c, line 68
- fs/internal.h, line 118
- fs/open.c, line 921
- include/linux/fs.h
- security/selinux/hooks.c, line 3984
Smatch caller information:
kernel/trace/trace_output.c file_user_path() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_mode | 0x1000000,0xffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &tracepoint_iter_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/proc/base.c file_user_path() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_mode | 0x1000000,0xffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &task->signal->exec_update_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct signal_struct)->exec_update_lock |
fs/proc/task_mmu.c file_user_inode() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_mode | 0x1000000,0xffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock |
fs/proc/task_mmu.c file_user_path() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_mode | 0x1000000,0xffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock |
fs/file_table.c file_put_write_access() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| BUF_SIZE | 0 | f | (-1),1-s32max |
| BUF_SIZE | 0 | f | (-1),1-s32max |
| BUF_SIZE | 0 | f->private_data | (-1),26 |
| CAPPED_DATA | 0 | f | 1 |
| CAPPED_DATA | 0 | f->f_owner | 1 |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_flags | 0x0,0xffffffff |
| BIT_INFO | 0 | f->f_mode | 0x1090000,0xffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | f->f_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.moved->d_inode->i_size | |
| UNITS | 0 | f | unit_byte |
kernel/events/core.c file_user_inode() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_mode | 0x1000000,0xffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &ifh->lock | ||
| HALF_LOCKED2 | flags |
kernel/events/core.c file_user_path() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_mode | 0x1000000,0xffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &vma->anon_vma->root->rwsem |
fs/open.c file_get_write_access() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| BUF_SIZE | 0 | f | (-1)-s32max |
| BUF_SIZE | 0 | f | (-1)-s32max |
| BUF_SIZE | 0 | f->__f_path.dentry | (-1),1-s32max |
| BUF_SIZE | 0 | f->private_data | (-1),232 |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_flags | 0x0,0xffdfffff |
| BIT_INFO | 0 | f->f_mode | 0x1000002,0xffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | f->__f_path.dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | f->f_flags | 0-u32max |
| USER_DATA | 0 | f->f_mode | 0-u32max |
| NO_OVERFLOW_SIMPLE | 0 | f->f_inode->i_blkbits | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.dentry->d_inode->i_blkbits | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.dentry->d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.moved->d_inode->i_size | |
| USER_PTR | 0 | f->__f_path.dentry->__d_name.name |
fs/open.c file_put_write_access() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| BUF_SIZE | 0 | f | (-1)-s32max |
| BUF_SIZE | 0 | f | (-1)-s32max |
| BUF_SIZE | 0 | f->__f_path.dentry | (-1)-s32max |
| BUF_SIZE | 0 | f->private_data | (-1),232 |
| CAPPED_DATA | 0 | f->f_path.dentry | 1 |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_flags | 0x0,0xffdfffff |
| BIT_INFO | 0 | f->f_mode | 0x1010000,0xffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | f->__f_path.dentry->__d_name.hash | 0-u32max[c] |
| USER_DATA | 0 | f->f_flags | 0-u32max |
| USER_DATA | 0 | f->f_mode | 0-u32max[c] |
| NO_OVERFLOW_SIMPLE | 0 | f->f_inode->i_blkbits | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.dentry->d_inode->i_blkbits | |
| NO_OVERFLOW_SIMPLE | 0 | f->f_path.moved->d_inode->i_size | |
| USER_PTR | 0 | f->__f_path.dentry->__d_name.name |
security/selinux/hooks.c __file_has_perm() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $1 |
| BIT_INFO | 0 | f->f_mode | 0x1000000,0xffffffffffffffff |
| RX_PATH |
security/selinux/hooks.c __file_map_prot_check() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $0 |
fs/backing-file.c file_user_path() -> backing_file_user_path()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | f | 4096-ptr_max |
| DATA_SOURCE | 0 | f | $0 |
| BIT_INFO | 0 | f->f_mode | 0x1000000,0xffffffff |