Function report |
Source Code:mm\mmap.c |
Create Date:2022-07-28 14:49:24 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:vma is the first one with address < vma->vm_start. Have to extend vma.
Proto:int expand_downwards(struct vm_area_struct *vma, unsigned long address)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct vm_area_struct * | vma | |
| unsigned long | address |
| 2413 | error = 0 |
| 2416 | If address < mmap_min_addr Then Return -EPERM |
| 2422 | If prev && Not (Flags, see mm.h. & general info on the segment ) && Flags, see mm.h. & ( VM_WRITE | currently active flags | VM_EXEC) Then |
| 2424 | If address - The first byte after our end addresswithin vm_mm. < stack_guard_gap Then Return -ENOMEM |
| 2429 | If Value for the false possibility is greater at compile time(anon_vma_prepare(vma)) Then Return -ENOMEM |
| 2440 | If address < Our start address within vm_mm. Then |
| 2447 | If grow <= Offset (within vm_file) in PAGE_SIZEunits Then |
| 2448 | error = Verify that the stack growth is acceptable and* update accounting. This is shared with both the |
| 2449 | If Not error Then |
| 2462 | If Flags, see mm.h. & VM_LOCKED Then Pages that have PG_mlocked set += grow |
| 2464 | vm_stat_account(mm, Flags, see mm.h. , grow) |
| 2472 | perf_event_mmap(vma) |
| 2478 | validate_mm(mm) |
| 2479 | Return error |
| Name | Describe |
|---|---|
| expand_stack |
| 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 |