函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:an have zero or more token= options

函数原型:static int getoptions(char *c, struct trusted_key_payload *pay, struct trusted_key_options *opt)

返回类型:int

参数:

类型参数名称
char *c
struct trusted_key_payload *pay
struct trusted_key_options *opt
735  p等于c
740  token_mask等于0
745  tpm2等于tpm_is_tpm2(chip)
746  如果tpm2小于0则返回:tpm2
749  hash等于如果tpm2HASH_ALGO_SHA256否则HASH_ALGO_SHA1
751 p等于分割字符串循环
752  如果p恒等于'\0'或p恒等于' '或p恒等于'\t'则继续下一循环
754  token等于match_token(p, key_tokens, args)
755  如果st_and_set_bit - Set a bit and return its old value*@nr: Bit to set*@addr: Address to count from* This is an atomic fully-ordered operation (implied full memory barrier).则返回:负EINVAL
759  :token恒等于Opt_pcrinfo
761  如果pcrinfo_len大于MAX_PCRINFO_SIZE则返回:负EINVAL
765  如果res小于0则返回:负EINVAL
767  退出
768  :token恒等于Opt_keyhandle
770  如果res小于0则返回:负EINVAL
772  keytype等于SEAL_keytype
773  keyhandle等于handle
774  退出
775  :token恒等于Opt_keyauth
780  如果res小于0则返回:负EINVAL
782  退出
783  :token恒等于Opt_blobauth
788  如果res小于0则返回:负EINVAL
790  退出
791  :token恒等于Opt_migratable
792  如果from恒等于'0'则migratable等于0
794  否则返回:负EINVAL
796  退出
797  :token恒等于Opt_pcrlock
799  如果res小于0则返回:负EINVAL
801  pcrlock等于lock
802  退出
803  :token恒等于Opt_hash
806 i小于HASH_ALGO__LAST循环
807  如果非字符串比较
808  hash等于i
809  退出
812  如果i恒等于HASH_ALGO__LAST则返回:负EINVAL
814  如果非tpm2i不等于HASH_ALGO_SHA1
815  打印信息("trusted_key: TPM 1.x only supports SHA-1.\n")
816  返回:负EINVAL
818  退出
819  :token恒等于Opt_policydigest
825  如果res小于0则返回:负EINVAL
828  退出
829  :token恒等于Opt_policyhandle
830  如果非tpm2则返回:负EINVAL
833  如果res小于0则返回:负EINVAL
835  policyhandle等于handle
836  退出
837  默认
838  返回:负EINVAL
841  返回:0
调用者
名称描述
datablob_parsedatablob_parse - parse the keyctl data and fill in the* payload and options structures* On success returns 0, otherwise -EINVAL.