函数逻辑报告 |
Source Code:kernel\kexec_file.c |
Create Date:2022-07-27 12:05:41 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:SYSCALL_DEFINE5
函数原型:SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, unsigned long, cmdline_len, const char __user *, cmdline_ptr, unsigned long, flags)
返回类型:
参数:无
| 374 | ret等于0 |
| 378 | 如果非操作权限检查或kexec_load_disabled则返回:负EPERM |
| 382 | 如果prefix, newline flags 不等于prefix, newline flags 按位与List of defined/legal kexec file flags 的值则返回:负EINVAL |
| 385 | image = NULL |
| 387 | 如果非mutex_trylock - try to acquire the mutex, without waiting*@lock: the mutex to be acquired* Try to acquire the mutex atomically则返回:负EBUSY |
| 390 | dest_image等于kexec_image |
| 391 | 如果prefix, newline flags 按位与KEXEC_FILE_ON_CRASH则 |
| 405 | 如果prefix, newline flags 按位与KEXEC_FILE_ON_CRASH则kimage_free(xchg( & kexec_crash_image, NULL)) |
| 408 | ret等于kimage_file_alloc_init( & image, kernel_fd, initrd_fd, cmdline_ptr, cmdline_len, prefix, newline flags ) |
| 413 | ret等于A architecture hook called to validate the* proposed image and prepare the control pages* as needed |
| 429 | 以i小于nr_segments循环 |
| 433 | pr_debug("Loading segment %d: buf=0x%p bufsz=0x%zx mem=0x%lx memsz=0x%zx\n", i, buf, bufsz, mem, memsz) |
| 437 | ret等于kimage_load_segment(image, & segment[i]) |
| 442 | kimage_terminate(image) |
| 449 | exchange : |
| 450 | image等于xchg(dest_image, image) |
| 451 | out : |
| 456 | kimage_free(image) |
| 457 | 返回:ret |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |