| Function report | 
| Source Code: mm\nommu.c | Create Date:2022-07-28 14:37:43 | 
| Last Modify:2020-03-17 21:26:27 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:split a vma into two pieces at address 'addr', a new vma is allocated either* for the first part or the tail.
Proto:int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, unsigned long addr, int new_below)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct mm_struct * | mm | |
| struct vm_area_struct * | vma | |
| unsigned long | addr | |
| int | new_below | 
| 1393 | If File we map to (can be NULL). Then Return -ENOMEM | 
| 1396 | If number of VMAs >= sysctl_max_map_count Then Return -ENOMEM | 
| 1403 | new = vm_area_dup(vma) | 
| 1404 | If Not new Then | 
| 1406 | Return -ENOMEM | 
| 1415 | If new_below Then | 
| 1417 | Else | 
| 1422 | If Function pointers to deal with this struct. && open Then open(new) | 
| 1426 | lock for writing | 
| 1428 | If new_below Then | 
| 1429 | vm_start = Our start address within vm_mm. = addr | 
| 1431 | Else | 
| 1437 | lease a write lock | 
| 1440 | Return 0 | 
| Name | Describe | 
|---|---|
| do_munmap | lease 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 | 
| mlock_fixup | mlock_fixup - handle mlock[all]/munlock[all] requests.* Filters out "special" vmas -- VM_LOCKED never gets set for these, and* munlock is a no-op. However, for some special vmas, we go ahead and* populate the ptes. | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |