Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\mmap.c Create Date:2022-07-28 14:47:31
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:find_vma_links

Proto:static int find_vma_links(struct mm_struct *mm, unsigned long addr, unsigned long end, struct vm_area_struct **pprev, struct rb_node ***rb_link, struct rb_node **rb_parent)

Type:int

Parameter:

TypeParameterName
struct mm_struct *mm
unsigned longaddr
unsigned longend
struct vm_area_struct **pprev
struct rb_node ***rb_link
struct rb_node **rb_parent
532  __rb_link = rb_node
533  rb_prev = __rb_parent = NULL
535  When __rb_link cycle
538  __rb_parent = __rb_link
539  vma_tmp = rb_entry(__rb_parent, structvm_area_struct, vm_rb)
545  __rb_link = rb_left
546  Else
552  * pprev = NULL
553  If rb_prev Then pprev = rb_entry(rb_prev, structvm_area_struct, vm_rb)
555  rb_link = __rb_link
556  rb_parent = __rb_parent
557  Return 0
Caller
NameDescribe
__insert_vm_structHelper for vma_adjust() in the split_vma insert case: insert a vma into the* mm's list and rbtree. It has already been inserted into the interval tree.
mmap_region
do_brk_flagshis is really a simplified "do_mmap". it only handles* anonymous maps. eventually we may be able to do some* brk-specific accounting here.
insert_vm_structInsert vm structure into process list sorted by address* and into the inode's i_mmap tree. If vm_file is non-NULL* then i_mmap_rwsem is taken here.
copy_vmaCopy the vma structure to a new location in the same mm,* prior to moving page table entries, to effect an mremap move.