Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 12 files:
- block/bio-integrity.c, line 399
- drivers/tee/tee_shm.c, line 447
- fs/direct-io.c, line 172
- fs/fuse/file.c, line 1605
- fs/netfs/iterator.c, line 67
- lib/iov_iter.c
- lib/scatterlist.c, line 1130
- lib/tests/kunit_iov_iter.c
- net/core/skbuff.c, line 7399
- net/rds/info.c, line 214
- net/tls/tls_device.c, line 501
- net/tls/tls_sw.c, line 745
Smatch caller information:
net/rds/info.c rds_info_getsockopt() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 1266357494456262696 |
| PARAM_VALUE | 0 | i->iter_type | 0-1 |
| PARAM_VALUE | 1 | pages | 4913327897325600768 |
| PARAM_VALUE | 1 | *pages | 1-18446744073709551614 |
| PARAM_VALUE | 1 | *(*pages) | 1-18446744073709551614 |
| PARAM_VALUE | 2 | maxsize | 1-2147479552 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 4907958532206006272 |
| PARAM_VALUE | 5 | *offset0 | 0 |
| CAPPED_DATA | 3 | maxpages | 1 |
| DATA_SOURCE | 3 | maxpages | r iov_iter_npages |
| RX_PATH | |||
| NO_OVERFLOW_SIMPLE | 3 | maxpages | |
| UNITS | 2 | maxsize | unit_byte |
lib/iov_iter.c iov_iter_extract_bvecs() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4096-ptr_max |
| PARAM_VALUE | 1 | pages | 5400964188344377344 |
| PARAM_VALUE | 4 | extraction_flags | 0-1 |
| PARAM_VALUE | 5 | offset0 | 1697852324536877056 |
| DATA_SOURCE | 0 | i | $0 |
| DATA_SOURCE | 2 | maxsize | $2 |
| DATA_SOURCE | 4 | extraction_flags | $6 |
| NOSPEC | 0 | i->count | |
| NOSPEC | 2 | maxsize | |
| NOSPEC | 2 | maxsize | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | i->count | 0-u64max |
| USER_DATA | 0 | i->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | maxsize | 0-1048575[c] |
| USER_DATA | 3 | maxpages | 0-u16max |
| UNITS | 2 | maxsize | unit_byte |
drivers/tee/tee_shm.c register_shm_helper() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4867578423391514624,7748150700857266176 |
| PARAM_VALUE | 0 | i->count | 1-u64max |
| PARAM_VALUE | 0 | i->iter_type | 0-5 |
| PARAM_VALUE | 1 | pages | 4096-ptr_max |
| PARAM_VALUE | 1 | *pages | 4096-ptr_max |
| PARAM_VALUE | 1 | *(*pages) | 4096-ptr_max |
| PARAM_VALUE | 2 | maxsize | 9223372036854775807 |
| PARAM_VALUE | 3 | maxpages | 1-u32max |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 5483916871154634752 |
| CAPPED_DATA | 3 | maxpages | 1 |
| DATA_SOURCE | 0 | i | $1 |
| DATA_SOURCE | 3 | maxpages | r iov_iter_npages |
| BIT_INFO | 3 | maxpages | 0x0,0x7fffffff |
| NO_OVERFLOW_SIMPLE | 3 | maxpages | |
| UNITS | 3 | maxpages | unit_array_size |
net/core/skbuff.c skb_splice_from_iter() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4096-ptr_max |
| PARAM_VALUE | 0 | i->count | 1-u64max |
| PARAM_VALUE | 1 | pages | 6470935478010273792 |
| PARAM_VALUE | 3 | maxpages | 1-8 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 7919062786123567104 |
| DATA_SOURCE | 0 | i | $1 |
| DATA_SOURCE | 2 | maxsize | $2 |
| NOSPEC | 0 | i->count | |
| NOSPEC | 0 | i->iov_offset | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | i->count | 1-18446744073709551614 |
| USER_DATA | 0 | i->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | maxsize | 0-s32max,18446744071562067968-u64max |
| UNITS | 2 | maxsize | unit_byte |
| HALF_LOCKED2 | &kcm->tx_mutex | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
block/bio-integrity.c bio_integrity_map_user() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 2053489065843576832,2054009744978411520 |
| PARAM_VALUE | 1 | pages | 2463070094337495040 |
| PARAM_VALUE | 1 | *pages | 0,1571956620574855168 |
| PARAM_VALUE | 1 | *(*pages) | 0,1571956620574855168 |
| PARAM_VALUE | 3 | maxpages | 0-256 |
| PARAM_VALUE | 4 | extraction_flags | 0-1 |
| PARAM_VALUE | 5 | offset0 | 5051018018961330176 |
| CAPPED_DATA | 3 | maxpages | 1 |
| DATA_SOURCE | 0 | i | $1 |
| DATA_SOURCE | 3 | maxpages | r iov_iter_npages |
| FUZZY_MAX | 4 | extraction_flags | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 3 | maxpages | |
| UNITS | 2 | maxsize | unit_byte |
| UNITS | 3 | maxpages | unit_array_size |
lib/tests/kunit_iov_iter.c iov_kunit_extract_pages_bvec() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 246991904683884544 |
| PARAM_VALUE | 1 | pages | 3418594035980312576 |
| PARAM_VALUE | 2 | maxsize | 102400 |
| PARAM_VALUE | 3 | maxpages | 8 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 824501357625229312 |
| PARAM_VALUE | 5 | *offset0 | 9223372036854775807 |
| UNITS | 3 | maxpages | unit_array_size |
lib/tests/kunit_iov_iter.c iov_kunit_extract_pages_folioq() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 6036596409806766080 |
| PARAM_VALUE | 1 | pages | 6438941317128744960 |
| PARAM_VALUE | 2 | maxsize | 102400 |
| PARAM_VALUE | 3 | maxpages | 8 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 1376384541096095744 |
| PARAM_VALUE | 5 | *offset0 | 9223372036854775807 |
| UNITS | 3 | maxpages | unit_array_size |
lib/tests/kunit_iov_iter.c iov_kunit_extract_pages_kvec() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 7679935935756386304 |
| PARAM_VALUE | 1 | pages | 796142456641982464 |
| PARAM_VALUE | 2 | maxsize | 102400 |
| PARAM_VALUE | 3 | maxpages | 8 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 2532095216717189120 |
| PARAM_VALUE | 5 | *offset0 | 9223372036854775807 |
| UNITS | 3 | maxpages | unit_array_size |
lib/tests/kunit_iov_iter.c iov_kunit_extract_pages_xarray() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 656667635705540608 |
| PARAM_VALUE | 1 | pages | 2794772419555864576 |
| PARAM_VALUE | 2 | maxsize | 102400 |
| PARAM_VALUE | 3 | maxpages | 8 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 3602619479494811648 |
| PARAM_VALUE | 5 | *offset0 | 9223372036854775807 |
| UNITS | 3 | maxpages | unit_array_size |
net/tls/tls_sw.c tls_sw_sendmsg_splice() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4096-ptr_max |
| PARAM_VALUE | 1 | pages | 2721468551275630592 |
| PARAM_VALUE | 2 | maxsize | 1-u64max |
| PARAM_VALUE | 3 | maxpages | 1 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 6230571610548678656 |
| DATA_SOURCE | 2 | maxsize | $3 [m] |
| NOSPEC | 0 | i->count | |
| NOSPEC | 2 | maxsize | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | i->count | 0-u64max |
| USER_DATA | 0 | i->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | maxsize | 1-1000000000,18446744071562072065-u64max |
| UNITS | 2 | maxsize | unit_byte |
| LOCK2 | &tls_ctx->tx_lock | ||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex | ||
| TYPE_LOCK | (struct tls_context)->tx_lock |
net/tls/tls_device.c tls_push_data() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4096-ptr_max |
| PARAM_VALUE | 1 | pages | 186130762498449408 |
| PARAM_VALUE | 1 | *pages | 1814337343868653568 |
| PARAM_VALUE | 1 | *(*pages) | 1814337343868653568 |
| PARAM_VALUE | 2 | maxsize | 1-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 3 | maxpages | 1 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 5701355352605716480 |
| CAPPED_DATA | 2 | maxsize | 1 |
| DATA_SOURCE | 0 | i | $1 |
| NOSPEC | 0 | i->count | |
| NOSPEC | 0 | i->iov_offset | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | i->count | 1-18446744073709551614 |
| USER_DATA | 0 | i->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | maxsize | 1-s32max[c] |
| UNITS | 2 | maxsize | unit_byte |
| LOCK2 | sk | ||
| HALF_LOCKED2 | &tls_ctx->tx_lock |
fs/direct-io.c dio_refill_pages() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4096-ptr_max |
| PARAM_VALUE | 1 | pages | 4714220934328094720 |
| PARAM_VALUE | 1 | *pages | 0 |
| PARAM_VALUE | 1 | *(*pages) | 0 |
| PARAM_VALUE | 2 | maxsize | 9223372036854775807 |
| PARAM_VALUE | 3 | maxpages | 64 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 8554987485265027208 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 5 | *offset0 | 0-4095[c] |
| USER_PTR | 5 | offset0 | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock |
lib/scatterlist.c extract_user_to_sg() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4096-ptr_max |
| PARAM_VALUE | 1 | pages | 7536524178015907840 |
| PARAM_VALUE | 2 | maxsize | 1-9223372036854775807 |
| PARAM_VALUE | 3 | maxpages | 1-u32max |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 3924659614060838912 |
| BUF_SIZE | 0 | i | (-1),40 |
| BUF_SIZE | 0 | i | (-1),40 |
| DATA_SOURCE | 0 | i | $0 |
| DATA_SOURCE | 2 | maxsize | $1 [m] |
| DATA_SOURCE | 3 | maxpages | $3 |
| DATA_SOURCE | 4 | extraction_flags | $4 |
| NOSPEC | 0 | i->count | |
| NOSPEC | 0 | i->iov_offset | |
| NOSPEC | 3 | maxpages | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | i->count | 0-u64max |
| USER_DATA | 0 | i->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | maxsize | 1-1000000000 |
| USER_DATA | 3 | maxpages | 1-524289,4294443009-u32max |
| USER_DATA | 5 | *offset0 | 0-4095[c] |
| UNITS | 2 | maxsize | unit_byte |
| USER_PTR | 5 | offset0 | |
| HALF_LOCKED2 | &mr->mutex |
fs/netfs/iterator.c netfs_extract_user_iter() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4096-ptr_max |
| PARAM_VALUE | 0 | i->iter_type | 0-1 |
| PARAM_VALUE | 1 | pages | 8834975169319313408 |
| PARAM_VALUE | 2 | maxsize | 1-1000000000 |
| PARAM_VALUE | 3 | maxpages | 1-u32max |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 4540776699676590080 |
| CAPPED_DATA | 3 | maxpages | 1 |
| DATA_SOURCE | 0 | i | $0 |
| DATA_SOURCE | 4 | extraction_flags | $3 |
| NOSPEC | 0 | i->count | |
| NOSPEC | 0 | i->iov_offset | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | i->count | 1-1000000000 |
| USER_DATA | 0 | i->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | maxsize | 1-1000000000[c] |
| USER_DATA | 3 | maxpages | 1-524288[c] |
| UNITS | 2 | maxsize | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem |
fs/fuse/file.c fuse_get_user_pages() -> iov_iter_extract_pages()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 4096-ptr_max |
| PARAM_VALUE | 1 | pages | 5090924899623915520 |
| PARAM_VALUE | 2 | maxsize | 1-u32max |
| PARAM_VALUE | 3 | maxpages | 1-250000 |
| PARAM_VALUE | 4 | extraction_flags | 0 |
| PARAM_VALUE | 5 | offset0 | 6836901471776677888 |
| DATA_SOURCE | 0 | i | $1 |
| NOSPEC | 0 | i->count | |
| NOSPEC | 0 | i->iov_offset | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | i->count | 0-u64max |
| USER_DATA | 0 | i->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | maxsize | 1-1000000000[c] |
| USER_DATA | 3 | maxpages | 1-250000[c] |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &iocb->ki_filp->f_inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock |