Function report |
Source Code:fs\exec.c |
Create Date:2022-07-28 20:03:53 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__bprm_mm_init
Proto:static int __bprm_mm_init(struct linux_binprm *bprm)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct linux_binprm * | bprm |
245 | struct vm_area_struct * vma = NULL |
248 | vma = vma = vm_area_alloc(mm) |
251 | vma_set_anonymous(vma) |
253 | If lock for writing Then |
264 | BUILD_BUG_ON - break compile if a condition is true(VM_STACK_FLAGS & Bits set in the VMA until the stack is in its final location ) |
267 | Flags, see mm.h. = VM_SOFTDIRTY | VM_STACK_FLAGS | Bits set in the VMA until the stack is in its final location |
270 | err = Insert vm structure into process list sorted by address* and into the inode's i_mmap tree. If vm_file is non-NULL* then i_mmap_rwsem is taken here. |
274 | VM_STACK = Total pages mapped = 1 |
275 | arch_bprm_mm_init(mm, vma) |
277 | p = The first byte after our end addresswithin vm_mm. - size of * |
278 | Return 0 |
279 | err : |
281 | err_free : |
282 | vma = NULL |
283 | vm_area_free(vma) |
284 | Return err |
Name | Describe |
---|---|
bprm_mm_init | Create a new mm_struct and populate it with a temporary stack* vm_area_struct. We don't have enough context at this point to set the stack* flags, permissions, and offset, so we use temporary values. We'll update* them later in setup_arg_pages(). |
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 |