| 函数逻辑报告 | 
| Source Code: fs\exec.c | Create Date:2022-07-29 10:33:46 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:__bprm_mm_init
函数原型:static int __bprm_mm_init(struct linux_binprm *bprm)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct linux_binprm * | bprm | 
| 245 | struct vm_area_struct * vma = NULL | 
| 248 | vma等于vma等于vm_area_alloc(mm) | 
| 251 | vma_set_anonymous(vma) | 
| 253 | 如果lock for writing则 | 
| 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) | 
| 278 | 返回:0 | 
| 279 | err : | 
| 281 | err_free : | 
| 282 | vma = NULL | 
| 283 | vm_area_free(vma) | 
| 284 | 返回:err | 
| 名称 | 描述 | 
|---|---|
| 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(). | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |