Function report |
Source Code:mm\mmap.c |
Create Date:2022-07-28 14:49:08 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:This mmap-allocator allocates new areas top-down from below the* stack's low limit (the base):
Proto:unsigned long arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags)
Type:unsigned long
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct file * | filp | |
| unsigned long | addr | |
| unsigned long | len | |
| unsigned long | pgoff | |
| unsigned long | flags |
| 2124 | mmap_end = arch_get_mmap_end(addr) |
| 2127 | If len > mmap_end - mmap_min_addr Then Return -ENOMEM |
| 2130 | If flags & Interpret addr exactly Then Return addr |
| 2134 | If addr Then |
| 2137 | If mmap_end - len >= addr && addr >= mmap_min_addr && ( Not vma || addr + len <= vm_start_gap(vma) ) && ( Not prev || addr >= vm_end_gap(prev) ) Then Return addr |
| 2143 | flags = VM_UNMAPPED_AREA_TOPDOWN |
| 2145 | low_limit = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(PAGE_SIZE, mmap_min_addr) |
| 2146 | high_limit = arch_get_mmap_base(addr, base of mmap area ) |
| 2147 | align_mask = 0 |
| 2156 | If offset_in_page(addr) Then |
| 2164 | Return addr |
| 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 |