Function report |
Source Code:fs\exec.c |
Create Date:2022-07-28 20:03:56 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Finalizes the stack vm_area_struct. The flags and permissions are updated,* the stack is optionally relocated, and some extra space is added.
Proto:int setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top, int executable_stack)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct linux_binprm * | bprm | |
| unsigned long | stack_top | |
| int | executable_stack |
| 698 | struct vm_area_struct * prev = NULL |
| 724 | stack_top = arch_align_stack(stack_top) |
| 733 | p -= stack_shift |
| 737 | If loader Then loader -= stack_shift |
| 739 | exec -= stack_shift |
| 741 | If lock for writing Then Return -EINTR |
| 744 | vm_flags = VM_STACK_FLAGS |
| 751 | If Value for the false possibility is greater at compile time(executable_stack == Enable executable stacks ) Then vm_flags |= VM_EXEC |
| 753 | Else if executable_stack == Disable executable stacks Then 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 | If ret Then Go to out_unlock |
| 765 | If stack_shift Then |
| 767 | If ret Then Go to out_unlock |
| 774 | stack_expand = 131072UL |
| 775 | stack_size = The first byte after our end addresswithin vm_mm. - Our start address within vm_mm. |
| 780 | rlim_stack = rlim_cur & PAGE_MASK |
| 787 | If stack_size + stack_expand > rlim_stack Then stack_base = The first byte after our end addresswithin vm_mm. - rlim_stack |
| 789 | Else stack_base = Our start address within vm_mm. - stack_expand |
| 792 | start_stack = p |
| 797 | out_unlock : |
| 799 | Return ret |
| Name | Describe |
|---|---|
| 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. |
| 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 |