函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\nommu.c Create Date:2022-07-27 16:03:02
Last Modify:2020-03-17 21:26:27 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:delete a VMA from its owning mm_struct and address space

函数原型:static void delete_vma_from_mm(struct vm_area_struct *vma)

返回类型:void

参数:

类型参数名称
struct vm_area_struct *vma
661  mm等于The address space we belong to.
662  curr等于当前进程
664  number of VMAs 自减
665 i小于VMACACHE_SIZE循环
667  如果vmas[i]恒等于vma
669  退出
674  如果File we map to (can be NULL).
675  mapping等于f_mapping
677  i_mmap_lock_write(mapping)
678  flush_dcache_mmap_lock(mapping)
679  vma_interval_tree_remove(vma, & i_mmap)
680  flush_dcache_mmap_unlock(mapping)
681  i_mmap_unlock_write(mapping)
685  rb_erase( & vm_rb, & mm_rb)
687  __vma_unlink_list(mm, vma)
调用者
名称描述
split_vmasplit a vma into two pieces at address 'addr', a new vma is allocated either* for the first part or the tail.
shrink_vmashrink a VMA by removing the specified chunk from either the beginning or* the end
do_munmaplease a mapping* - under NOMMU conditions the chunk to be unmapped must be backed by a single* VMA, though it need not cover the whole VMA
exit_mmaplease all the mappings made in a process's VM space