Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 9 files:
- block/fops.c, line 834
- fs/afs/file.c, line 574
- fs/btrfs/file.c, line 3804
- fs/erofs/data.c, line 466
- fs/erofs/ishare.c, line 132
- fs/f2fs/file.c, line 4969
- fs/netfs/buffered_read.c, line 802
- fs/smb/client/file.c, line 3157
- mm/filemap.c
Smatch caller information:
fs/btrfs/file.c btrfs_file_read_iter() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 2 | already_read | 0-s64max |
| BUF_SIZE | 0 | iocb | (-1),48 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| DATA_SOURCE | 0 | iocb | $0 |
| DATA_SOURCE | 1 | iter | $1 |
| FUZZY_MAX | 2 | already_read | 0 |
| NOSPEC | 0 | iocb->ki_pos | |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | iocb->ki_flags | 0-s32max[c][u] |
| USER_DATA | 0 | iocb->ki_ioprio | 0-u16max |
| USER_DATA | 0 | iocb->ki_pos | 0-13442450941 |
| USER_DATA | 1 | iter->count | 1-1000000000 |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | already_read | 6-s64max |
| HALF_LOCKED2 | &pool->lock |
fs/afs/file.c afs_file_read_iter() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->list.next | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->list.prev | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->private_data | 4096-ptr_max |
| PARAM_VALUE | 2 | already_read | 0 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| DATA_SOURCE | 0 | iocb | $0 |
| DATA_SOURCE | 1 | iter | $1 |
| BIT_INFO | 0 | iocb->ki_flags | 0x0,0x7ffdffff |
| NOSPEC | 0 | iocb->ki_pos | |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | iocb->ki_flags | 0-s32max[c][u] |
| USER_DATA | 0 | iocb->ki_ioprio | 0-u16max |
| USER_DATA | 0 | iocb->ki_pos | 0-13442450941 |
| USER_DATA | 1 | iter->count | 1-1000000000 |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/erofs/ishare.c erofs_ishare_file_read_iter() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4427526334527262720 |
| PARAM_VALUE | 1 | iter | 4096-ptr_max |
| PARAM_VALUE | 2 | already_read | 0 |
| DATA_SOURCE | 1 | iter | $1 |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | iter->count | 1-1000000000 |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| HALF_LOCKED2 | &pool->lock |
mm/filemap.c generic_file_read_iter() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_sb->s_umount.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_sb->s_umount.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->host->i_sb->s_export_op->fh_to_parent | 0,4672,148606482432692224,436469935444291584,457356038048772096,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000-s64max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->host->i_sb->s_export_op->get_parent | 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->invalidate_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->invalidate_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_path.dentry->d_inode->i_sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_path.dentry->d_inode->i_sb->s_export_op->fh_to_parent | 0,5297,148606482432692224,436469935444291584,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000,3511613614414655488-s64max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_path.dentry->d_inode->i_sb->s_export_op->get_parent | 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max |
| PARAM_VALUE | 1 | iter | 4096-ptr_max |
| PARAM_VALUE | 2 | already_read | 0-s64max |
| BUF_SIZE | 0 | iocb | (-1),48 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| DATA_SOURCE | 0 | iocb | $0 |
| DATA_SOURCE | 1 | iter | $1 |
| FUZZY_MAX | 2 | already_read | 0 |
| NOSPEC | 0 | iocb->ki_pos | |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | iocb->ki_filp->f_inode->i_blocks | 0-18014398509481984[c] |
| USER_DATA | 0 | iocb->ki_filp->f_ra.prev_pos | s64min-(-9223372036854743042),0-s64max[c] |
| USER_DATA | 0 | iocb->ki_flags | 0-s32max[c][u] |
| USER_DATA | 0 | iocb->ki_ioprio | 0-u16max |
| USER_DATA | 0 | iocb->ki_pos | 0-13442450941 |
| USER_DATA | 1 | iter->count | 0-u64max |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | iocb->ki_filp->f_path.d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | iocb->ki_filp->f_path.moved->d_inode->i_size | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &vi->i_rwsem |
fs/smb/client/file.c cifs_strict_readv() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->list.next | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->list.prev | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->private_data | 4096-ptr_max |
| PARAM_VALUE | 1 | iter | 4096-ptr_max |
| PARAM_VALUE | 2 | already_read | 0 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| DATA_SOURCE | 0 | iocb | $0 |
| DATA_SOURCE | 1 | iter | $1 |
| BIT_INFO | 0 | iocb->ki_flags | 0x0,0x7ffdffff |
| NOSPEC | 0 | iocb->ki_pos | |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | iocb->ki_flags | 0-s32max[c][u] |
| USER_DATA | 0 | iocb->ki_ioprio | 0-u16max |
| USER_DATA | 0 | iocb->ki_pos | 0-13442450941 |
| USER_DATA | 1 | iter->count | 1-1000000000 |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| LOCK2 | &cinode->lock_sem | ||
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct cifsInodeInfo)->lock_sem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/netfs/buffered_read.c netfs_buffered_read_iter() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_mapping->invalidate_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_mapping->invalidate_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->list.next | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->list.prev | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 2 | already_read | 0 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| DATA_SOURCE | 0 | iocb | $0 |
| DATA_SOURCE | 1 | iter | $1 |
| BIT_INFO | 0 | iocb->ki_flags | 0x0,0xfffdffff |
| NOSPEC | 0 | iocb->ki_pos | |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | iocb->ki_flags | 0-s32max[c][u] |
| USER_DATA | 0 | iocb->ki_ioprio | 0-u16max |
| USER_DATA | 0 | iocb->ki_pos | 0-13442450941 |
| USER_DATA | 1 | iter->count | 1-1000000000 |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | iocb->ki_filp->f_path.d_inode->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | iocb->ki_filp->f_path.moved->d_inode->i_size | |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/erofs/data.c erofs_file_read_iter() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | iter | 4096-ptr_max |
| PARAM_VALUE | 2 | already_read | 0 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| DATA_SOURCE | 0 | iocb | $0 |
| DATA_SOURCE | 1 | iter | $1 |
| NOSPEC | 0 | iocb->ki_pos | |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | iocb->ki_flags | 0-s32max[c][u] |
| USER_DATA | 0 | iocb->ki_ioprio | 0-u16max |
| USER_DATA | 0 | iocb->ki_pos | 0-13442450941 |
| USER_DATA | 1 | iter->count | 1-1000000000 |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| HALF_LOCKED2 | &pool->lock |
fs/f2fs/file.c f2fs_file_read_iter() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_inode->i_sb | 4096-ptr_max |
| PARAM_VALUE | 2 | already_read | 0 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| DATA_SOURCE | 0 | iocb | $0 |
| DATA_SOURCE | 1 | iter | $1 |
| NOSPEC | 0 | iocb->ki_pos | |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | iocb->ki_flags | 0-s32max[c][u] |
| USER_DATA | 0 | iocb->ki_ioprio | 0-u16max |
| USER_DATA | 0 | iocb->ki_pos | 0-13442450941 |
| USER_DATA | 1 | iter->count | 1-1000000000 |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| HALF_LOCKED2 | &pool->lock |
block/fops.c blkdev_read_iter() -> filemap_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iocb | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping | 4096-ptr_max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->host->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->host->i_rwsem.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->host->i_rwsem.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_mapping->host->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_path.dentry->d_inode->i_sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648 |
| PARAM_VALUE | 0 | iocb->ki_filp->f_path.dentry->d_inode->i_sb->s_export_op->fh_to_parent | 0,5297,148606482432692224,436469935444291584,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000,3511613614414655488-s64max |
| PARAM_VALUE | 0 | iocb->ki_filp->f_path.dentry->d_inode->i_sb->s_export_op->get_parent | 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max |
| PARAM_VALUE | 1 | iter | 4096-ptr_max |
| PARAM_VALUE | 2 | already_read | 0-4294967295 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| BUF_SIZE | 0 | iocb | (-1),48 |
| CAPPED_DATA | 2 | already_read | 1 |
| CAPPED_DATA | 2 | already_read | 1 |
| DATA_SOURCE | 0 | iocb | $0 |
| DATA_SOURCE | 1 | iter | $1 |
| FUZZY_MAX | 2 | already_read | 0 |
| NOSPEC | 0 | iocb->ki_pos | |
| NOSPEC | 1 | iter->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | iocb->ki_flags | 0-s32max[c][u] |
| USER_DATA | 0 | iocb->ki_ioprio | 0-u16max |
| USER_DATA | 0 | iocb->ki_pos | 0-17737418236 |
| USER_DATA | 1 | iter->count | 1-18446744073709551614 |
| USER_DATA | 1 | iter->iov_offset | 0-u64max[c] |
| LOCK2 | &bd_inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |