Defined in 2 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

mm/mmap.c do_munmap() -> do_vmi_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 4907233300821278720
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.depth 0
PARAM_VALUE 0 vmi->mas.end 0
PARAM_VALUE 0 vmi->mas.last 0
PARAM_VALUE 0 vmi->mas.ld_seq 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.max 0
PARAM_VALUE 0 vmi->mas.min 0
PARAM_VALUE 0 vmi->mas.node 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.offset 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 1
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 1 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 1 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 4 uf 0,1097532445584617472
PARAM_VALUE 5 unlock 0
BUF_SIZE 4 uf (-1),16
BUF_SIZE 4 uf (-1),16
DATA_SOURCE 1 mm $0
DATA_SOURCE 2 start $1
DATA_SOURCE 3 len $2
DATA_SOURCE 4 uf $3
NOSPEC 2 start
NOSPEC 3 len
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vmi->mas.index 0-u64max
USER_DATA 2 start 0-u64max
USER_DATA 3 len 0-u64max[c]
UNITS 1 mm unit_byte
UNITS 2 start unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &vmcore_cb_srcu
HALF_LOCKED2 1 &mm->mmap_lock

mm/mmap.c vm_brk_flags() -> do_vmi_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 1022776648951132160
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.depth 0
PARAM_VALUE 0 vmi->mas.end 0
PARAM_VALUE 0 vmi->mas.index 0,4096-u64max
PARAM_VALUE 0 vmi->mas.last 0
PARAM_VALUE 0 vmi->mas.ld_seq 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.max 0
PARAM_VALUE 0 vmi->mas.min 0
PARAM_VALUE 0 vmi->mas.node 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.offset 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 1
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 1 mm 4096-ptr_max
PARAM_VALUE 1 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 1 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 2 start 0,4096-u64max
PARAM_VALUE 4 uf 8191897851247865856
PARAM_VALUE 4 uf->next 8191897851247865856
PARAM_VALUE 4 uf->prev 8191897851247865856
PARAM_VALUE 5 unlock 0
CAPPED_DATA 2 start 1
CAPPED_DATA 2 start 1
CAPPED_DATA 3 len 1
CAPPED_DATA 3 len 1
DATA_SOURCE 2 start $0
BIT_INFO 2 start 0x0,0xfffffffffffff000
BIT_INFO 2 start 0x0,0xfffffffffffff000
BIT_INFO 3 len 0x0,0x0
NO_OVERFLOW_SIMPLE 3 len
UNITS 1 mm unit_byte
UNITS 2 start unit_byte
UNITS 3 len unit_byte
LOCK2 1 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/mremap.c shrink_vma() -> do_vmi_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 7547875335579738112
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.depth 0
PARAM_VALUE 0 vmi->mas.end 0
PARAM_VALUE 0 vmi->mas.last 0
PARAM_VALUE 0 vmi->mas.ld_seq 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.max 0
PARAM_VALUE 0 vmi->mas.min 0
PARAM_VALUE 0 vmi->mas.node 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.offset 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 1
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 4 uf 6922569882902003712
PARAM_VALUE 4 uf->prev 4096-ptr_max
BUF_SIZE 4 uf 16
DATA_SOURCE 5 unlock $1
USER_DATA 3 len 1-u64max[c]
UNITS 1 mm unit_byte
UNITS 2 start unit_byte
UNITS 3 len unit_byte
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/mremap.c unmap_source_vma() -> do_vmi_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 7107899751205675008
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.depth 0
PARAM_VALUE 0 vmi->mas.end 0
PARAM_VALUE 0 vmi->mas.last 0
PARAM_VALUE 0 vmi->mas.ld_seq 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.max 0
PARAM_VALUE 0 vmi->mas.min 0
PARAM_VALUE 0 vmi->mas.node 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.offset 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 1
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 4 uf 6922569882902003712
PARAM_VALUE 4 uf->prev 4096-ptr_max
PARAM_VALUE 5 unlock 0
BUF_SIZE 4 uf 16
NOSPEC 3 len
NOSPEC 3 len
USER_DATA 0 vmi->mas.index 0-u64max
USER_DATA 2 start 0-u64max
USER_DATA 3 len 0-u64max[c]
NO_OVERFLOW_SIMPLE 3 len
UNITS 1 mm unit_byte
UNITS 2 start unit_byte
UNITS 3 len unit_byte
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/vma.c __vm_munmap() -> do_vmi_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 5831082256766734336
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.depth 0
PARAM_VALUE 0 vmi->mas.end 0
PARAM_VALUE 0 vmi->mas.last 0
PARAM_VALUE 0 vmi->mas.ld_seq 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.max 0
PARAM_VALUE 0 vmi->mas.min 0
PARAM_VALUE 0 vmi->mas.node 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.offset 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 1
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 1 mm 4096-ptr_max
PARAM_VALUE 1 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 1 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 4 uf 3544304931398881280
PARAM_VALUE 4 uf->next 3544304931398881280
PARAM_VALUE 4 uf->prev 3544304931398881280
DATA_SOURCE 2 start $0
DATA_SOURCE 3 len $1
DATA_SOURCE 5 unlock $2
NOSPEC 3 len
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vmi->mas.index 0-u64max
USER_DATA 2 start 0-u64max
USER_DATA 3 len 0-u64max
UNITS 1 mm unit_byte
UNITS 2 start unit_byte
UNITS 3 len unit_byte
LOCK2 1 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock