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