| 函数逻辑报告 | 
| Source Code: fs\verity\enable.c | Create Date:2022-07-29 10:58:13 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:enable_verity
函数原型:static int enable_verity(struct file *filp, const struct fsverity_enable_arg *arg)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct file * | filp | |
| const struct fsverity_enable_arg * | arg | 
| 160 | inode等于file_inode(filp) | 
| 162 | struct merkle_tree_params params = {} | 
| 172 | must be 1 等于1 | 
| 177 | 如果salt_size且copy_from_user(salt prepended to each hashed block , (constu8__user * )(uintptr_t)salt_ptr, salt_size)则 | 
| 187 | 如果sig_size且copy_from_user(ptional PKCS#7 signature , (constu8__user * )(uintptr_t)sig_ptr, sig_size)则 | 
| 210 | inode_lock(inode) | 
| 213 | 否则err等于begin_enable_verity(filp) | 
| 215 | inode_unlock(inode) | 
| 228 | pr_debug("Building Merkle tree...\n") | 
| 231 | 如果err则 | 
| 232 | fsverity_err(inode, "Error %d building Merkle tree", err) | 
| 233 | 转到:rollback | 
| 235 | pr_debug("Done building Merkle tree. Root hash is %s:%*phN\n", crypto API name, e.g. sha256 , same as hash_alg->digest_size , Merkle tree root hash ) | 
| 245 | vi等于Validate the given fsverity_descriptor and create a new fsverity_info from* it. The signature (if present) is also checked. | 
| 246 | 如果是错误则 | 
| 259 | inode_lock(inode) | 
| 261 | inode_unlock(inode) | 
| 262 | 如果err则 | 
| 263 | fsverity_err(inode, "%ps() failed with err %d", end_enable_verity, err) | 
| 265 | fsverity_free_info(vi) | 
| 268 | fsverity_free_info(vi) | 
| 269 | 否则 | 
| 277 | fsverity_set_info(inode, vi) | 
| 279 | out : | 
| 280 | 释放内存 | 
| 281 | 释放内存 | 
| 282 | 返回:err | 
| 284 | rollback : | 
| 285 | inode_lock(inode) | 
| 286 | end_enable_verity(filp, NULL, 0, Merkle tree size in bytes ) | 
| 287 | inode_unlock(inode) | 
| 288 | 转到:out | 
| 名称 | 描述 | 
|---|---|
| fsverity_ioctl_enable | sverity_ioctl_enable() - enable verity on a file* Enable fs-verity on a file. See the "FS_IOC_ENABLE_VERITY" section of* Documentation/filesystems/fsverity.rst for the documentation.* Return: 0 on success, -errno on failure | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |