Function report |
Source Code:fs\crypto\keysetup.c |
Create Date:2022-07-28 20:24:00 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Find the master key, then set up the inode's actual encryption key.* If the master key is found in the filesystem-level keyring, then the* corresponding 'struct key' is returned in *master_key_ret with* ->mk_secret_sem read-locked
Proto:static int setup_file_encryption_key(struct fscrypt_info *ci, struct key **master_key_ret)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct fscrypt_info * | ci | |
| struct key ** | master_key_ret |
| 236 | struct fscrypt_master_key * mk = NULL |
| 242 | of FSCRYPT_KEY_SPEC_TYPE_* = v1 policy keys are specified by an arbitrary 8-byte key "descriptor",* matching fscrypt_policy_v1::master_key_descriptor. |
| 246 | Break |
| 252 | Break |
| 253 | Default |
| 270 | Return fscrypt_setup_v1_file_key_via_subscribed_keyrings(ci) |
| 274 | lock for reading |
| 279 | Go to out_release_key |
| 289 | fscrypt_warn(NULL, "key with %s %*phN is too short (got %u bytes, need %u+ bytes)", master_key_spec_type( & mk_spec), master_key_spec_len( & mk_spec), (u8 * ) & u, Size of the raw key in bytes. Set even if ->raw isn't set. , keysize) |
| 295 | Go to out_release_key |
| 300 | err = fscrypt_setup_v1_file_key(ci, For v1 policy keys: the raw key. Wiped for v2 policy keys. ) |
| 301 | Break |
| 303 | err = fscrypt_setup_v2_file_key(ci, mk) |
| 304 | Break |
| 305 | Default |
| 310 | If err Then Go to out_release_key |
| 313 | master_key_ret = key |
| 314 | Return 0 |
| 316 | out_release_key : |
| 319 | Return err |
| Name | Describe |
|---|---|
| fscrypt_get_encryption_info |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |