函数逻辑报告 |
Source Code:fs\userfaultfd.c |
Create Date:2022-07-29 10:52:42 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:serland asks for a certain API version and we return which bits* and ioctl commands are implemented in this kernel for such API* version or -EINVAL if unknown.
函数原型:static int userfaultfd_api(struct userfaultfd_ctx *ctx, unsigned long arg)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct userfaultfd_ctx * | ctx | |
| unsigned long | arg |
| 1832 | 如果state machine 不等于UFFD_STATE_WAIT_API则转到:out |
| 1835 | 如果copy_from_user( & uffdio_api, buf, uffdio_api的长度)则转到:out |
| 1842 | 如果features按位与UFFD_FEATURE_EVENT_FORK且非操作权限检查则转到:err_out |
| 1845 | features等于UFFD_API_FEATURES |
| 1846 | ioctls等于UFFD_API_IOCTLS |
| 1848 | 如果copy_to_user(buf, & uffdio_api, uffdio_api的长度)则转到:out |
| 1850 | state machine 等于UFFD_STATE_RUNNING |
| 1853 | ret等于0 |
| 1854 | out : |
| 1855 | 返回:ret |
| 1856 | err_out : |
| 1857 | memset( & uffdio_api, 0, uffdio_api的长度) |
| 1858 | 如果copy_to_user(buf, & uffdio_api, uffdio_api的长度)则ret等于负EFAULT |
| 1860 | 转到:out |
| 名称 | 描述 |
|---|---|
| userfaultfd_ioctl |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |