Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 3 files as a function:

Referenced in 6 files:

Smatch caller information:

mm/mmap.c dup_mmap() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->exe_file 0,4096-ptr_max
PARAM_VALUE 0 mm->exe_file->f_cred->process_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->process_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->request_key_auth->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->request_key_auth->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->session_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->session_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->thread_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->thread_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_security 0
PARAM_VALUE 0 mm->exe_file->f_task_work.func 5179756662909861888
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 pages 0-4503599627370495
DATA_SOURCE 0 mm $1
DATA_SOURCE 1 pages r vma_pages
RX_PATH
TASK_NOT_RUNNING
UNITS 0 mm unit_byte
LOCK2 &mm->mmap_lock
LOCK2 0 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/swapfile.c __do_sys_swapoff() -> security_vm_enough_memory_mm()

Type Parameter Key Value
CAPABLE 0 21
PREEMPT_ADD <- disables preempt
UNITS 0 mm unit_byte
UNITS 1 pages unit_page
LOCK2 global &swap_lock

mm/swapfile.c __do_sys_swapoff() -> security_vm_enough_memory_mm()

Type Parameter Key Value
CAPABLE 0 21
PREEMPT_ADD <- disables preempt
UNITS 0 mm unit_byte
UNITS 1 pages unit_page
LOCK2 global &swap_lock

mm/mprotect.c mprotect_fixup() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pages 0-4503599627370495
USER_DATA 1 pages 2-4503599627370495[c]
UNITS 0 mm unit_byte
UNITS 1 pages unit_page
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

mm/shmem.c shmem_acct_blocks() -> security_vm_enough_memory_mm()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 mm unit_byte
HALF_LOCKED2 &session->mutex
HALF_LOCKED2 &state.ctx->map_changing_lock
HALF_LOCKED2 _T->lock

mm/shmem.c shmem_acct_size() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 1 pages (-2251799813685248)-2251799813685247
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 pages (-2251799813685248)-2251799813685247[c]
UNITS 0 mm unit_byte

mm/shmem.c shmem_reacct_size() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 1 pages (-4503599627370495)-4503599627370495
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 pages (-4503599627370494)-2251799813685248
UNITS 0 mm unit_byte
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

mm/mremap.c vrm_calc_charge() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 1 pages 0-4503599627370495
USER_DATA 1 pages 1-4503599627370495[c]
UNITS 0 mm unit_byte
UNITS 1 pages unit_page
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/vma.c __mmap_setup() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pages s64min-(-1),1-s64max
UNITS 0 mm unit_byte

mm/vma.c acct_stack_growth() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pages 0-4503599627370495
CAPPED_DATA 1 pages 1
DATA_SOURCE 1 pages $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 pages 1-s32max[c]
UNITS 0 mm unit_byte
UNITS 1 pages unit_page
LOCK2 &vma->anon_vma->root->rwsem
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct anon_vma)->rwsem

mm/vma.c do_brk_flags() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->map_count s32min-65530
PARAM_VALUE 1 pages 0-4503599627370495
USER_DATA 1 pages 1-4503599627370495[c]
UNITS 0 mm unit_byte
UNITS 1 pages unit_page
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/vma.c insert_vm_struct() -> security_vm_enough_memory_mm()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 pages 0-4503599627370495
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 pages r vma_pages
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 pages 1-4503599627370495[c]
UNITS 0 mm unit_byte
LOCK2 0 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock