函数逻辑报告 |
Source Code:mm\migrate.c |
Create Date:2022-07-27 17:33:53 |
Last Modify:2022-05-20 09:53:13 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Move a list of pages in the address space of the currently executing* process.
函数原型:static int kernel_move_pages(pid_t pid, unsigned long nr_pages, const void __user *__user *pages, const int __user *nodes, int __user *status, int flags)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
pid_t | pid | |
unsigned long | nr_pages | |
const void __user *__user * | pages | |
const int __user * | nodes | |
int __user * | status | |
int | flags |
1793 | 如果flags按位与Move pages owned by this process to conformto policy 按位或Move every page to conform to policy 的值的反则返回:负EINVAL |
1796 | 如果flags按位与Move every page to conform to policy 且非操作权限检查则返回:负EPERM |
1801 | task等于如果pid则find_task_by_vpid(pid)否则当前进程 |
1802 | 如果非task则 |
1804 | 返回:负ESRCH |
1806 | get_task_struct(task) |
1812 | 如果非ptrace_may_access(task, PTRACE_MODE_READ_REALCREDS)则 |
1815 | 转到:out |
1819 | err等于security_task_movememory(task) |
1825 | put_task_struct(task) |
1830 | 如果nodes则err等于Migrate an array of page address onto an array of nodes and fill* the corresponding array of status. |
1837 | 返回:err |
1839 | out : |
1840 | put_task_struct(task) |
1841 | 返回:err |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |