函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:security\keys\keyring.c Create Date:2022-07-27 19:53:06
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Preallocate memory so that a key can be linked into to a keyring.

函数原型:int __key_link_begin(struct key *keyring, const struct keyring_index_key *index_key, struct assoc_array_edit **_edit)

返回类型:int

参数:

类型参数名称
struct key *keyring
const struct keyring_index_key *index_key
struct assoc_array_edit **_edit
1301  kenter("%d,%s,%s,", key serial number , name, description)
1304  BUG_ON(desc_len == 0)
1305  BUG_ON( * _edit != NULL)
1307  * _edit = NULL
1309  ret等于负EKEYREVOKED
1310  如果st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from则转到:error
1316  edit等于assoc_array_insert - Script insertion of an object into an associative array*@array: The array to insert into
1320  如果是错误
1321  ret等于错误
1322  转到:error
1328  如果非dead_leaf
1329  ret等于key_payload_reserve - Adjust data quota reservation for the key's payload*@key: The key to make the reservation for
1331  如果ret小于0则转到:error_cancel
1335  _edit等于edit
1336  kleave(" = 0")
1337  返回:0
1339  error_cancel :
1340  assoc_array_cancel_edit - Discard an edit script
1341  error :
1342  kleave(" = %d", ret)
1343  返回:ret
调用者
名称描述
key_reject_and_linkkey_reject_and_link - Negatively instantiate a key and link it into the keyring.*@key: The key to instantiate.*@timeout: The timeout on the negative key.*@error: The error to return when the key is hit.
key_create_or_updatekey_create_or_update - Update or create and instantiate a key.*@keyring_ref: A pointer to the destination keyring with possession flag.*@type: The type of key.*@description: The searchable description for the key.
key_linkkey_link - Link a key to a keyring*@keyring: The keyring to make the link in
key_movekey_move - Move a key from one keyring to another*@key: The key to move*@from_keyring: The keyring to remove the link from
construct_alloc_keyAllocate a new key in under-construction state and attempt to link it in to* the requested keyring.* May return a key that's already under construction instead if there was a* race between two thread calling request_key().
key_instantiate_and_linkkey_instantiate_and_link - Instantiate a key and link it into the keyring.*@key: The key to instantiate.*@data: The data to use to instantiate the keyring.*@datalen: The length of @data.*@keyring: Keyring to create a link in on success (or NULL).