函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |