函数逻辑报告 | 
Source Code:fs\crypto\policy.c | 
Create Date:2022-07-29 10:57:52 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:Extended ioctl version; can get policies of any version
函数原型:int fscrypt_ioctl_get_policy_ex(struct file *filp, void __user *uarg)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct file * | filp | |
| void __user * | uarg | 
| 400 | union fscrypt_policy * policy = (union fscrypt_policy * ) & utput | 
| 405 | BUILD_BUG_ON - break compile if a condition is true(offsetof(typeof(arg), policy_size) != 0) | 
| 408 | BUILD_BUG_ON - break compile if a condition is true(utput 的长度 != policy的长度) | 
| 410 | err等于fscrypt_get_policy(file_inode(filp), policy) | 
| 413 | policy_size等于Return the size expected for the given fscrypt_policy based on its version* number, or 0 if the policy version is unrecognized. | 
| 415 | 如果copy_from_user( & arg, uarg, put/output 的长度)则返回:负EFAULT | 
| 418 | 如果policy_size大于put/output 则返回:负EOVERFLOW | 
| 420 | put/output 等于policy_size | 
| 422 | 如果copy_to_user(uarg, & arg, put/output 的长度 + policy_size)则返回:负EFAULT | 
| 424 | 返回:0 | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |