函数逻辑报告 |
Source Code:mm\nommu.c |
Create Date:2022-07-27 16:04:08 |
Last Modify:2020-03-17 21:26:27 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: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
函数原型:int do_munmap(struct mm_struct *mm, unsigned long start, size_t len, struct list_head *uf)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct mm_struct * | mm | |
unsigned long | start | |
size_t | len | |
struct list_head * | uf |
1500 | 如果非vma则 |
1502 | 如果limit小于5则 |
1503 | 打印警告信息("munmap of memory not mmapped by process %d (%s): 0x%lx-0x%lx\n", pid, comm, start, start + len - 1) |
1506 | limit自加 |
1508 | 返回:负EINVAL |
1512 | 如果File we map to (can be NULL). 则 |
1521 | 否则 |
1523 | 如果start恒等于Our start address within vm_mm. 且end恒等于The first byte after our end addresswithin vm_mm. 则转到:erase_whole_vma |
1525 | 如果start小于Our start address within vm_mm. 或end大于The first byte after our end addresswithin vm_mm. 则返回:负EINVAL |
1527 | 如果offset_in_page(start)则返回:负EINVAL |
1529 | 如果end不等于The first byte after our end addresswithin vm_mm. 且offset_in_page(end)则返回:负EINVAL |
1539 | erase_whole_vma : |
1541 | destroy a VMA record |
1542 | 返回:0 |
名称 | 描述 |
---|---|
vm_munmap | |
ksys_shmdt | detach and kill segment if marked destroyed.* The work is done in shm_close. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |