| 函数逻辑报告 | 
| Source Code: fs\crypto\keysetup.c | Create Date:2022-07-29 10:57:31 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:setup_per_mode_key
函数原型:static int setup_per_mode_key(struct fscrypt_info *ci, struct fscrypt_master_key *mk, struct crypto_skcipher **tfms, u8 hkdf_context, bool include_fs_uuid)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct fscrypt_info * | ci | |
| struct fscrypt_master_key * | mk | |
| struct crypto_skcipher ** | tfms | |
| u8 | hkdf_context | |
| bool | include_fs_uuid | 
| 128 | mode等于Encryption mode used for this inode. It corresponds to either the* contents or filenames encryption mode, depending on the inode type. | 
| 129 | mode_num等于mode减available_modes | 
| 133 | hkdf_infolen等于0 | 
| 136 | 如果WARN_ON(mode_num > __FSCRYPT_MODE_MAX)则返回:负EINVAL | 
| 141 | 如果此条件成立可能性大(为编译器优化)(tfm != NULL)则转到:done | 
| 145 | BUILD_BUG_ON - break compile if a condition is true(s_uuid的长度 != 16) | 
| 146 | BUILD_BUG_ON - break compile if a condition is true(hkdf_info的长度 != 17) | 
| 147 | hkdf_info[hkdf_infolen++]等于mode_num | 
| 148 | 如果include_fs_uuid则 | 
| 149 | memcpy( & hkdf_info[hkdf_infolen], & s_uuid, s_uuid的长度) | 
| 151 | hkdf_infolen加等于s_uuid的长度 | 
| 165 | 如果(prev_tfm != NULL)则 | 
| 169 | done : | 
| 171 | 返回:0 | 
| 名称 | 描述 | 
|---|---|
| fscrypt_setup_v2_file_key | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |