Function report |
Source Code:mm\nommu.c |
Create Date:2022-07-28 14:37:50 |
| Last Modify:2020-03-17 21:26:27 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name: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
Proto:int do_munmap(struct mm_struct *mm, unsigned long start, size_t len, struct list_head *uf)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct mm_struct * | mm | |
| unsigned long | start | |
| size_t | len | |
| struct list_head * | uf |
| 1500 | If Not vma Then |
| 1502 | If limit < 5 Then |
| 1503 | pr_warn("munmap of memory not mmapped by process %d (%s): 0x%lx-0x%lx\n", pid, comm, start, start + len - 1) |
| 1506 | limit++ |
| 1508 | Return -EINVAL |
| 1512 | If File we map to (can be NULL). Then |
| 1513 | Do |
| 1514 | If start > Our start address within vm_mm. Then Return -EINVAL |
| 1516 | If end == The first byte after our end addresswithin vm_mm. Then Go to erase_whole_vma |
| 1520 | Return -EINVAL |
| 1521 | Else |
| 1523 | If start == Our start address within vm_mm. && end == The first byte after our end addresswithin vm_mm. Then Go to erase_whole_vma |
| 1525 | If start < Our start address within vm_mm. || end > The first byte after our end addresswithin vm_mm. Then Return -EINVAL |
| 1527 | If offset_in_page(start) Then Return -EINVAL |
| 1529 | If end != The first byte after our end addresswithin vm_mm. && offset_in_page(end) Then Return -EINVAL |
| 1531 | If start != Our start address within vm_mm. && end != The first byte after our end addresswithin vm_mm. Then |
| 1539 | erase_whole_vma : |
| 1541 | destroy a VMA record |
| 1542 | Return 0 |
| Name | Describe |
|---|---|
| vm_munmap |
| 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 |