函数逻辑报告 |
Source Code:fs\exec.c |
Create Date:2022-07-29 10:33:49 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Finalizes the stack vm_area_struct. The flags and permissions are updated,* the stack is optionally relocated, and some extra space is added.
函数原型:int setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top, int executable_stack)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct linux_binprm * | bprm | |
| unsigned long | stack_top | |
| int | executable_stack |
| 698 | struct vm_area_struct * prev = NULL |
| 727 | 如果此条件成立可能性小(为编译器优化)(stack_top < mmap_min_addr)或此条件成立可能性小(为编译器优化)(The first byte after our end addresswithin vm_mm. - Our start address within vm_mm. >= stack_top - mmap_min_addr)则返回:负ENOMEM |
| 733 | p减等于stack_shift |
| 737 | 如果loader则loader减等于stack_shift |
| 739 | exec减等于stack_shift |
| 741 | 如果lock for writing则返回:负EINTR |
| 744 | vm_flags等于VM_STACK_FLAGS |
| 753 | 否则如果executable_stack恒等于Disable executable stacks 则vm_flags与等于VM_EXEC的反 |
| 758 | ret等于mprotect_fixup(vma, & prev, Our start address within vm_mm. , The first byte after our end addresswithin vm_mm. , vm_flags) |
| 760 | 如果ret则转到:out_unlock |
| 765 | 如果stack_shift则 |
| 767 | 如果ret则转到:out_unlock |
| 774 | stack_expand等于131072UL |
| 780 | rlim_stack等于rlim_cur按位与PAGE_MASK |
| 787 | 如果stack_size加stack_expand大于rlim_stack则stack_base等于The first byte after our end addresswithin vm_mm. 减rlim_stack |
| 792 | start_stack等于p |
| 797 | out_unlock : |
| 799 | 返回:ret |
| 名称 | 描述 |
|---|---|
| load_aout_binary | These are the functions used to load a.out style executables and shared* libraries. There is no binary dependent code anywhere else. |
| load_elf_binary | |
| load_elf_fdpic_binary | load an fdpic binary into various bits of memory |
| load_flat_binary | These are the functions used to load flat style executables and shared* libraries. There is no binary dependent code anywhere else. |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |