Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
lib/test_hmm.c dmirror_range_fault() -> dmirror_do_fault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dmirror | 4096-ptr_max |
| PARAM_VALUE | 0 | dmirror->mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dmirror->mutex.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dmirror->mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dmirror->mutex.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | dmirror->mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dmirror->mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dmirror->mutex.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | dmirror->mutex.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm | 4096-ptr_max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->process_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->process_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->request_key_auth->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->request_key_auth->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->session_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->session_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->thread_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->thread_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mm_users.counter | 0-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mmap_lock.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | range | 3641042538669928448 |
| PARAM_VALUE | 1 | range->default_flags | 9223372036854775808,13835058055282163712 |
| PARAM_VALUE | 1 | range->end | 1-18446744073709551614 |
| PARAM_VALUE | 1 | range->hmm_pfns | 7499753129602740224 |
| PARAM_VALUE | 1 | range->notifier | 4096-ptr_max |
| PARAM_VALUE | 1 | range->notifier->mm | 4096-ptr_max |
| PARAM_VALUE | 1 | range->notifier->mm->notifier_subscriptions | 4096-ptr_max |
| PARAM_VALUE | 1 | range->notifier->mm->notifier_subscriptions->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | range->start | 0-18446744073709551613 |
| BUF_SIZE | 0 | dmirror | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | dmirror | s32min-(-2),1-s32max |
| CAPPED_DATA | 0 | &dmirror->mutex | 1 |
| CAPPED_DATA | 1 | range->end | 1 |
| CAPPED_DATA | 1 | range->notifier->invalidate_seq | 1 |
| CAPPED_DATA | 1 | range->notifier_seq | 1 |
| CAPPED_DATA | 1 | range->start | 1 |
| DATA_SOURCE | 0 | dmirror | $0 |
| DATA_SOURCE | 1 | range | $1 |
| PARAM_COMPARE | 1 | range->end | > $1->start |
| PARAM_COMPARE | 1 | range->notifier->invalidate_seq | == $1->notifier_seq |
| NOSPEC | 1 | range->end | |
| NOSPEC | 1 | range->start | |
| USER_DATA | 1 | range->end | 1-s32max[c] |
| USER_DATA | 1 | range->start | 0-18446744073709551613[c] |
| LOCK2 | 0 | &dmirror->mutex | |
| TYPE_LOCK | (struct dmirror)->mutex |
lib/test_hmm.c dmirror_range_fault_unlocked() -> dmirror_do_fault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dmirror | 4096-ptr_max |
| PARAM_VALUE | 0 | dmirror->mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dmirror->mutex.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dmirror->mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dmirror->mutex.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | dmirror->mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dmirror->mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dmirror->mutex.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | dmirror->mutex.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm | 4096-ptr_max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->process_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->process_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->request_key_auth->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->request_key_auth->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->session_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->session_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->thread_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->exe_file->f_cred->thread_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mm_users.counter | 0-s32max |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | dmirror->notifier.mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | range | 6446020192845598720 |
| PARAM_VALUE | 1 | range->default_flags | 9223372036854775808 |
| PARAM_VALUE | 1 | range->end | 1-18446744073709551614 |
| PARAM_VALUE | 1 | range->hmm_pfns | 789630165410365440 |
| PARAM_VALUE | 1 | range->notifier | 4096-ptr_max |
| PARAM_VALUE | 1 | range->notifier->mm | 4096-ptr_max |
| PARAM_VALUE | 1 | range->notifier->mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | range->notifier->mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | range->notifier->mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 1 | range->notifier->mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 1 | range->notifier->mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | range->notifier->mm->notifier_subscriptions->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | range->start | 0-18446744073709551613 |
| BUF_SIZE | 0 | dmirror | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | dmirror | s32min-(-2),1-s32max |
| CAPPED_DATA | 0 | &dmirror->mutex | 1 |
| CAPPED_DATA | 1 | range->end | 1 |
| CAPPED_DATA | 1 | range->notifier->invalidate_seq | 1 |
| CAPPED_DATA | 1 | range->notifier_seq | 1 |
| CAPPED_DATA | 1 | range->start | 1 |
| DATA_SOURCE | 0 | dmirror | $0 |
| DATA_SOURCE | 1 | range | $1 |
| PARAM_COMPARE | 1 | range->end | > $1->start |
| PARAM_COMPARE | 1 | range->notifier->invalidate_seq | == $1->notifier_seq |
| NOSPEC | 1 | range->end | |
| NOSPEC | 1 | range->start | |
| USER_DATA | 1 | range->end | 1-s32max[c] |
| USER_DATA | 1 | range->start | 0-18446744073709551613[c] |
| LOCK2 | 0 | &dmirror->mutex | |
| TYPE_LOCK | (struct dmirror)->mutex |