函数逻辑报告 |
Source Code:fs\crypto\crypto.c |
Create Date:2022-07-29 10:56:50 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Encrypt or decrypt a single filesystem block of file contents
函数原型:int fscrypt_crypt_block(const struct inode *inode, fscrypt_direction_t rw, u64 lblk_num, struct page *src_page, struct page *dest_page, unsigned int len, unsigned int offs, gfp_t gfp_flags)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| const struct inode * | inode | |
| fscrypt_direction_t | rw | |
| u64 | lblk_num | |
| struct page * | src_page | |
| struct page * | dest_page | |
| unsigned int | len | |
| unsigned int | offs | |
| gfp_t | gfp_flags |
| 96 | struct skcipher_request * req = NULL |
| 99 | ci等于i_crypt_info |
| 101 | res等于0 |
| 103 | 如果WARN_ON_ONCE(len <= 0)则返回:负EINVAL |
| 105 | 如果WARN_ON_ONCE(len % ld names; don't add anything new here! != 0)则返回:负EINVAL |
| 108 | fscrypt_generate_iv( & iv, lblk_num, ci) |
| 110 | req等于skcipher_request_alloc() - allocate request data structure*@tfm: cipher handle to be registered with the request*@gfp: memory allocation flag that is handed to kmalloc by the API call |
| 118 | 初始化散列表 |
| 120 | 初始化散列表 |
| 128 | 如果res则 |
| 129 | fscrypt_err(inode, "%scryption failed for block %llu: %d", (rw == FS_DECRYPT ? "De" : "En"), lblk_num, res) |
| 131 | 返回:res |
| 133 | 返回:0 |
| 名称 | 描述 |
|---|---|
| fscrypt_encrypt_pagecache_blocks | scrypt_encrypt_pagecache_blocks() - Encrypt filesystem blocks from a pagecache page*@page: The locked pagecache page containing the block(s) to encrypt*@len: Total size of the block(s) to encrypt. Must be a nonzero* multiple of the filesystem's block size. |
| fscrypt_encrypt_block_inplace | scrypt_encrypt_block_inplace() - Encrypt a filesystem block in-place*@inode: The inode to which this block belongs*@page: The page containing the block to encrypt*@len: Size of block to encrypt. Doesn't need to be a multiple of the |
| fscrypt_decrypt_pagecache_blocks | scrypt_decrypt_pagecache_blocks() - Decrypt filesystem blocks in a pagecache page*@page: The locked pagecache page containing the block(s) to decrypt*@len: Total size of the block(s) to decrypt. Must be a nonzero* multiple of the filesystem's block size. |
| fscrypt_decrypt_block_inplace | scrypt_decrypt_block_inplace() - Decrypt a filesystem block in-place*@inode: The inode to which this block belongs*@page: The page containing the block to decrypt*@len: Size of block to decrypt. Doesn't need to be a multiple of the |
| fscrypt_zeroout_range |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |