Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
mm/userfaultfd.c userfaultfd_register() -> vma_can_userfault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | vm_flags | 0,512,4096,4608,2199023255552,2199023256064,2199023259648,2199023260160,8796093022208,8796093022720,8796093026304,8796093026816,10995116277760,10995116278272,10995116281856,10995116282368 |
| DATA_SOURCE | 2 | wp_async | r userfaultfd_wp_async_ctx |
| FUZZY_MAX | 1 | vm_flags | 0 |
| BIT_INFO | 1 | vm_flags | 0x0,0xa0000001200 |
| BIT_INFO | 1 | vm_flags | 0x0,0xa0000001200 |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/userfaultfd.c userfaultfd_register_range() -> vma_can_userfault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 1-u64max |
| PARAM_VALUE | 0 | vma->flags.__vma_flags | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | vm_flags | 0,512,4096,4608,2199023255552,2199023256064,2199023259648,2199023260160,8796093022208,8796093022720,8796093026304,8796093026816,10995116277760,10995116278272,10995116281856,10995116282368 |
| DATA_SOURCE | 0 | vma | r vma_find |
| DATA_SOURCE | 1 | vm_flags | $2 |
| DATA_SOURCE | 2 | wp_async | $5 |
| FUZZY_MAX | 1 | vm_flags | 0 |
| BIT_INFO | 1 | vm_flags | 0x0,0xa0000001200 |
| BIT_INFO | 1 | vm_flags | 0x0,0xa0000001200 |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/userfaultfd.c userfaultfd_unregister() -> vma_can_userfault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->vm_userfaultfd_ctx.ctx | 0,4096-ptr_max |
| DATA_SOURCE | 2 | wp_async | r userfaultfd_wp_async_ctx |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/userfaultfd.c userfaultfd_unregister() -> vma_can_userfault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->flags.__vma_flags | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | vma->vm_userfaultfd_ctx.ctx | 1-u64max |
| DATA_SOURCE | 0 | vma | r vma_find |
| DATA_SOURCE | 2 | wp_async | r userfaultfd_wp_async_ctx |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |