函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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
注解内核,赢得工具下载SCCTEnglish

函数名称: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)
406  BUILD_BUG_ON - break compile if a condition is true(ffsetofend(TYPE, MEMBER)*@TYPE: The type of the structure*@MEMBER: The member within the structure to get the end offset of(typeof(arg), policy_size) != offsetof(typeof(arg), policy))
408  BUILD_BUG_ON - break compile if a condition is true(utput 的长度 != policy的长度)
410  err等于fscrypt_get_policy(file_inode(filp), policy)
411  如果err则返回:err
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