函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |