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_sys_brk() -> do_vmi_align_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 5394055068851789824
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 0,2-3
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_start 0-18446744073709551614
PARAM_VALUE 2 mm 4096-ptr_max
PARAM_VALUE 2 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 3 start 0,4096-u64max
PARAM_VALUE 4 end 4096-u64max
PARAM_VALUE 5 uf 295339261841039360
PARAM_VALUE 5 uf->next 295339261841039360
PARAM_VALUE 5 uf->prev 295339261841039360
PARAM_VALUE 6 unlock 1
CAPPED_DATA 1 vma->vm_start 1
CAPPED_DATA 2 mm->brk 1
DATA_SOURCE 1 vma r vma_find
PARAM_COMPARE 1 vma->vm_start < $4
PARAM_COMPARE 3 start != $4
PARAM_COMPARE 3 start != $4
PARAM_COMPARE 4 end != $3
PARAM_COMPARE 4 end > $1->vm_start
BIT_INFO 3 start 0x0,0xfffffffffffff000
BIT_INFO 3 start 0x0,0xfffffffffffff000
BIT_INFO 4 end 0x0,0xfffffffffffff000
BIT_INFO 4 end 0x0,0xfffffffffffff000
USER_DATA 0 vmi->mas.last 0,4096-u64max
USER_DATA 2 mm->brk 0-s32max[c]
USER_DATA 3 start 0,4096-u64max[c]
UNITS 2 mm unit_byte
UNITS 4 end unit_byte
LOCK2 2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/mmap.c __do_sys_brk() -> do_vmi_align_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 5394055068851789824
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 0,2-3
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_start 0-18446744073709551614
PARAM_VALUE 2 mm 4096-ptr_max
PARAM_VALUE 2 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 3 start 0,4096-u64max
PARAM_VALUE 4 end 4096-u64max
PARAM_VALUE 5 uf 295339261841039360
PARAM_VALUE 5 uf->next 295339261841039360
PARAM_VALUE 5 uf->prev 295339261841039360
PARAM_VALUE 6 unlock 1
CAPPED_DATA 1 vma->vm_start 1
CAPPED_DATA 2 mm->brk 1
DATA_SOURCE 1 vma r vma_find
PARAM_COMPARE 1 vma->vm_start < $4
PARAM_COMPARE 3 start != $4
PARAM_COMPARE 3 start != $4
PARAM_COMPARE 4 end != $3
PARAM_COMPARE 4 end > $1->vm_start
BIT_INFO 3 start 0x0,0xfffffffffffff000
BIT_INFO 3 start 0x0,0xfffffffffffff000
BIT_INFO 4 end 0x0,0xfffffffffffff000
BIT_INFO 4 end 0x0,0xfffffffffffff000
USER_DATA 0 vmi->mas.last 0,4096-u64max
USER_DATA 2 mm->brk 0-s32max[c]
USER_DATA 3 start 0,4096-u64max[c]
UNITS 2 mm unit_byte
UNITS 4 end unit_byte
LOCK2 2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

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

Type Parameter Key Value
PARAM_VALUE 0 vmi 1022776648951132160,4907233300821278720,5831082256766734336,7107899751205675008,7547875335579738112
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 0,2-3
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 1 vma 1-u64max
PARAM_VALUE 2 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 2 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 5 uf 0,1097532445584617472,3544304931398881280,6922569882902003712,8191897851247865856
BUF_SIZE 5 uf (-1),16
BUF_SIZE 5 uf (-1),16
CAPPED_DATA 3 start 1
CAPPED_DATA 3 start 1
CAPPED_DATA 4 end 1
CAPPED_DATA 4 end 1
DATA_SOURCE 0 vmi $0
DATA_SOURCE 1 vma r vma_find
DATA_SOURCE 2 mm $1
DATA_SOURCE 3 start $2
DATA_SOURCE 5 uf $4
DATA_SOURCE 6 unlock $5
PARAM_COMPARE 3 start < $4
PARAM_COMPARE 4 end > $3
PARAM_COMPARE 4 end > $3
BIT_INFO 3 start 0x0,0xfffffffffffff000
BIT_INFO 3 start 0x0,0xfffffffffffff000
NOSPEC 3 start
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vmi->mas.index 0-u64max
USER_DATA 0 vmi->mas.last 0-u64max
USER_DATA 3 start 0-s32max[c]
USER_DATA 4 end 0-u32max[c]
UNITS 2 mm unit_byte
UNITS 3 start unit_byte
UNITS 4 end unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 2 &mm->mmap_lock

ipc/shm.c ksys_shmdt() -> do_vmi_align_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 134236606698369024
PARAM_VALUE 0 vmi->mas.alloc 0
PARAM_VALUE 0 vmi->mas.mas_flags 0
PARAM_VALUE 0 vmi->mas.node_request 0
PARAM_VALUE 0 vmi->mas.sheaf 0
PARAM_VALUE 0 vmi->mas.status 0,2-3
PARAM_VALUE 0 vmi->mas.store_type 0
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_file 4096-ptr_max
PARAM_VALUE 1 vma->vm_ops 8106034954689921024
PARAM_VALUE 2 mm 4096-ptr_max
PARAM_VALUE 2 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 5 uf 0
PARAM_VALUE 6 unlock 0
CAPPED_DATA 1 vma->vm_pgoff 1
DATA_SOURCE 1 vma r vma_next
NOCHECK_CALL
USER_DATA 0 vmi->mas.index 0-u64max
USER_DATA 0 vmi->mas.last 0-u64max
UNITS 2 mm unit_byte
UNITS 3 start unit_byte
UNITS 4 end unit_byte
LOCK2 2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

ipc/shm.c ksys_shmdt() -> do_vmi_align_munmap()

Type Parameter Key Value
PARAM_VALUE 0 vmi 134236606698369024
PARAM_VALUE 0 vmi->mas.status 0,2-3
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_file 4096-ptr_max
PARAM_VALUE 1 vma->vm_ops 8106034954689921024
PARAM_VALUE 2 mm 4096-ptr_max
PARAM_VALUE 2 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 5 uf 0
PARAM_VALUE 6 unlock 0
CAPPED_DATA 1 vma->vm_file 1
CAPPED_DATA 1 vma->vm_pgoff 1
DATA_SOURCE 1 vma r vma_next
NOCHECK_CALL
UNITS 2 mm unit_byte
UNITS 3 start unit_byte
UNITS 4 end unit_byte
LOCK2 2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock