Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/vmalloc.c alloc_vmap_area() -> insert_vmap_area()

Type Parameter Key Value
PARAM_VALUE 0 va 4096-ptr_max
PARAM_VALUE 0 va->flags 0-1,3,256-257,259
PARAM_VALUE 0 va->list.next->prev 4096-ptr_max
PARAM_VALUE 0 va->list.prev->next 4096-ptr_max
PARAM_VALUE 0 va->subtree_max_size 0,4096-18446744073709547520
PARAM_VALUE 0 va->va_start 0-18446744073709547520
PARAM_VALUE 0 va->vm 0,4096-ptr_max
PARAM_VALUE 0 va->vm->addr 0-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
BUF_SIZE 0 va->vm 0,80
CAPPED_DATA 0 va->va_start 1
STR_LEN 0 va->vm->requested_size (-1),3,5-6,8,10-23,25,27,31-32
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 va->vm->requested_size 0,3-u64max[c]
USER_DATA 0 va->vm->requested_size 0-u64max
LOCK2 &vn->busy.lock
TYPE_LOCK (struct rb_list)->lock

mm/vmalloc.c free_vmap_area_noflush() -> insert_vmap_area()

Type Parameter Key Value
PARAM_VALUE 0 va 4096-ptr_max
PARAM_VALUE 0 va->list.next 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
CAPPED_DATA 0 &va->list 1
DATA_SOURCE 0 va $0
PARAM_COMPARE 0 &va->list == $0->list.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vn->lazy.lock
HALF_LOCKED2 global &vmap_purge_lock
TYPE_LOCK (struct rb_list)->lock

mm/vmalloc.c pcpu_get_vm_areas() -> insert_vmap_area()

Type Parameter Key Value
PARAM_VALUE 0 va 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &vn->busy.lock
LOCK2 global &pcpu_alloc_mutex
TYPE_LOCK (struct rb_list)->lock

mm/vmalloc.c vmalloc_init() -> insert_vmap_area()

Type Parameter Key Value
PARAM_VALUE 0 va 4096-ptr_max
PARAM_VALUE 0 va->subtree_max_size 4096-18446744073709547520
PARAM_VALUE 0 va->vm 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
DATA_SOURCE 0 va r kmem_cache_alloc_noprof
NOCHECK_CALL
LOCK2 irq