函数逻辑报告 |
Source Code:mm\vmalloc.c |
Create Date:2022-07-27 16:30:09 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:__vmalloc_node_range - allocate virtually contiguous memory*@size: allocation size*@align: desired alignment*@start: vm area range start*@end: vm area range end*@gfp_mask: flags for the page level allocator*@prot: protection mask for the allocated pages
函数原型:void *__vmalloc_node_range(unsigned long size, unsigned long align, unsigned long start, unsigned long end, gfp_t gfp_mask, pgprot_t prot, unsigned long vm_flags, int node, const void *caller)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| unsigned long | size | |
| unsigned long | align | |
| unsigned long | start | |
| unsigned long | end | |
| gfp_t | gfp_mask | |
| pgprot_t | prot | |
| unsigned long | vm_flags | |
| int | node | |
| const void * | caller |
| 2538 | 如果非size或size右移PAGE_SHIFT determines the page size 位大于totalram_pages()则转到:fail |
| 2541 | area等于__get_vm_area_node(real_size, align, vmalloc() | vm_struct is not fully initialized | vm_flags, start, end, node, gfp_mask, caller) |
| 2547 | 如果非addr则返回:NULL |
| 2557 | kmemleak_vmalloc(area, size, gfp_mask) |
| 2559 | 返回:addr |
| 2561 | fail : |
| 2562 | warn_alloc(gfp_mask, NULL, "vmalloc: allocation failure: %lu bytes", real_size) |
| 2564 | 返回:NULL |
| 名称 | 描述 |
|---|---|
| align_shift_alloc_test | This test case is supposed to be failed. |
| fix_align_alloc_test | |
| __vmalloc_node | |
| vmalloc_user | vmalloc_user - allocate zeroed virtually contiguous memory for userspace*@size: allocation size* The resulting memory area is zeroed so it can be mapped to userspace* without leaking data.* Return: pointer to the allocated memory or %NULL on error |
| vmalloc_user_node_flags | vmalloc_user_node_flags - allocate memory for userspace on a specific node*@size: allocation size*@node: numa node*@flags: flags for the page level allocator* The resulting memory area is zeroed so it can be mapped to userspace* without leaking data |
| vmalloc_exec | vmalloc_exec - allocate virtually contiguous, executable memory*@size: allocation size* Kernel-internal function to allocate enough pages to cover @size* the page level allocator and map them into contiguous and* executable kernel virtual space |
| vmalloc_32_user | vmalloc_32_user - allocate zeroed virtually contiguous 32bit memory*@size: allocation size* The resulting memory area is 32bit addressable and zeroed so it can be* mapped to userspace without leaking data |
| kasan_module_alloc | |
| kasan_mem_notifier | |
| random_size_align_alloc_test | |
| module_alloc |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |