Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
mm/gup.c gup_fast_fallback() -> __gup_longterm_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | start | 0,4096-u64max |
| PARAM_VALUE | 2 | nr_pages | 0-u32max,18446744071562067969-u64max |
| PARAM_VALUE | 3 | pages | 4096-ptr_max |
| PARAM_VALUE | 4 | locked | 6184962975579254784 |
| PARAM_VALUE | 4 | *locked | 0 |
| PARAM_VALUE | 5 | gup_flags | 2162688-4259838 |
| DATA_SOURCE | 1 | start | $0 [m] |
| DATA_SOURCE | 3 | pages | $3 |
| BIT_INFO | 5 | gup_flags | 0x210000,0x29152b |
| NOSPEC | 1 | start | |
| NOSPEC | 1 | start | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | start | 0,4096-u64max[c] |
| USER_DATA | 2 | nr_pages | 0-u32max,18446744071562067969-u64max |
| USER_DATA | 3 | pages | 4096-ptr_max[c][u] |
| USER_DATA | 5 | gup_flags | 2162688-4259838[c] |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | nr_pages | unit_page |
| UNITS | 3 | pages | unit_byte |
mm/gup.c pin_user_pages() -> __gup_longterm_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | pages | 1-u64max |
| PARAM_VALUE | 4 | locked | 5056612732226711552 |
| PARAM_VALUE | 4 | *locked | 1 |
| BUF_SIZE | 3 | pages | (-1)-s32max |
| BUF_SIZE | 3 | pages | (-1)-s32max |
| DATA_SOURCE | 1 | start | $0 |
| DATA_SOURCE | 2 | nr_pages | $1 |
| DATA_SOURCE | 3 | pages | $3 |
| DATA_SOURCE | 5 | gup_flags | $2 [m] |
| NOSPEC | 1 | start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | start | 0-u64max |
| USER_DATA | 2 | nr_pages | 0-4503599627370495[c] |
| USER_DATA | 3 | pages | 4096-ptr_max[c][u] |
| USER_DATA | 5 | gup_flags | 0-u32max |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | start | unit_byte |
| ELEM_COUNT | 3 | ==pages2 | 8051 |
| HALF_LOCKED2 | &data->longterm_mutex | ||
| HALF_LOCKED2 | &dev->domain_lock | ||
| HALF_LOCKED2 | &dev->mm->mmap_lock | ||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &xs->mutex |
mm/gup.c pin_user_pages_remote() -> __gup_longterm_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 3 | pages | 1-u64max |
| PARAM_VALUE | 4 | locked | 1530185371693522944,3821547816021008384,5386030719981474044,6270772229982597372,8717662312254873852,8931018345647517732 |
| PARAM_VALUE | 4 | *locked | s32min-(-2),1-s32max |
| BUF_SIZE | 3 | pages | (-1)-s32max |
| BUF_SIZE | 3 | pages | (-1)-s32max |
| BUF_SIZE | 4 | locked | (-1),4 |
| CAPPED_DATA | 2 | nr_pages | 1 |
| CAPPED_DATA | 2 | nr_pages | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | start | $1 |
| DATA_SOURCE | 2 | nr_pages | $2 |
| DATA_SOURCE | 3 | pages | $4 |
| DATA_SOURCE | 5 | gup_flags | $3 [m] |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | start | 0-u64max |
| USER_DATA | 2 | nr_pages | 1-s32max[c] |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | start | unit_byte |
| UNITS | 3 | pages | unit_byte |
| HALF_LOCKED2 | &access->ioas_lock | ||
| HALF_LOCKED2 | &iommu->lock | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | 0 | &mm->mmap_lock |
mm/gup.c pin_user_pages_unlocked() -> __gup_longterm_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | nr_pages | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 4 | locked | 5722414775055343616 |
| PARAM_VALUE | 4 | *locked | 0 |
| BUF_SIZE | 3 | pages | (-1),5632 |
| BUF_SIZE | 3 | pages | (-1),5632 |
| DATA_SOURCE | 1 | start | $0 |
| DATA_SOURCE | 2 | nr_pages | $1 |
| DATA_SOURCE | 3 | pages | $2 |
| DATA_SOURCE | 5 | gup_flags | $3 [m] |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | start | 0-u64max[c] |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | nr_pages | unit_page |
| HALF_LOCKED2 | &itv->udma.lock |