Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 14 files:
- arch/arm/mm/fault.c, line 398
- arch/arm64/mm/fault.c, line 681
- arch/loongarch/mm/fault.c, line 222
- arch/powerpc/mm/fault.c, line 490
- arch/riscv/mm/fault.c, line 350
- arch/s390/mm/fault.c, line 297
- arch/x86/mm/fault.c, line 1334
- drivers/android/binder_alloc.c
- kernel/bpf/stackmap.c, line 292
- kernel/bpf/task_iter.c, line 966
- mm/damon/vaddr.c, line 244
- mm/madvise.c, line 1634
- mm/userfaultfd.c
- net/ipv4/tcp.c, line 2173
Smatch caller information:
mm/madvise.c try_vma_read_lock() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
mm/userfaultfd.c uffd_lock_vma() -> lock_vma_under_rcu()
| 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 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | address | $1 |
| NOSPEC | 1 | address | |
| USER_DATA | 1 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 1 | address | |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
mm/userfaultfd.c uffd_move_lock() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mm_users.counter | 0-s32max |
| 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 | 0 | mm->task_size | 1-u64max |
| PARAM_VALUE | 1 | address | 0-18446744073709551614 |
| CAPPED_DATA | 0 | mm | 1 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | address | $2 |
| NOSPEC | 1 | address | |
| USER_DATA | 1 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 1 | address | |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
kernel/bpf/stackmap.c stack_map_lock_vma() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | address | $1 |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
mm/damon/vaddr.c damon_va_walk_page_range() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 1-u64max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | address | $1 |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &ctx->walk_control_lock |
arch/x86/mm/fault.c do_user_addr_fault() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 1-u64max |
| DATA_SOURCE | 1 | address | $2 |
| UNITS | 0 | mm | unit_byte |
net/ipv4/tcp.c find_tcp_vma() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | address | $1 |
| BIT_INFO | 1 | address | 0x0,0xfffffffffffff000 |
| BIT_INFO | 1 | address | 0x0,0xfffffffffffff000 |
| RX_PATH | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | sk |
drivers/android/binder_alloc.c binder_alloc_free_page() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mm_users.counter | 0-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
drivers/android/binder_alloc.c binder_page_insert() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mm_users.counter | 0-s32max |
| PARAM_VALUE | 1 | address | 0,4096-18446744073709551614 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 1 | address | $1 |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
kernel/bpf/task_iter.c bpf_iter_task_vma_find_next() -> lock_vma_under_rcu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |