From: Lennart Poettering Date: Fri, 19 Aug 2022 19:51:47 +0000 (+0200) Subject: Merge pull request #24368 from poettering/tpm2-json-pcr-array-rework X-Git-Tag: v252-rc1~400 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=82b0039eb0b5237a8651b3a2e70487207835bdcd;p=thirdparty%2Fsystemd.git Merge pull request #24368 from poettering/tpm2-json-pcr-array-rework tpm2: add helpers for building/parsing JSON arrays of PCR indexes --- 82b0039eb0b5237a8651b3a2e70487207835bdcd diff --cc src/shared/tpm2-util.h index c62a0843bad,3e9464ea674..4030f2a8049 --- a/src/shared/tpm2-util.h +++ b/src/shared/tpm2-util.h @@@ -54,13 -54,12 +54,16 @@@ int tpm2_find_device_auto(int log_level int tpm2_parse_pcrs(const char *s, uint32_t *ret); + int tpm2_make_pcr_json_array(uint32_t pcr_mask, JsonVariant **ret); + int tpm2_parse_pcr_json_array(JsonVariant *v, uint32_t *ret); + int tpm2_make_luks2_json(int keyslot, uint32_t pcr_mask, uint16_t pcr_bank, uint16_t primary_alg, const void *blob, size_t blob_size, const void *policy_hash, size_t policy_hash_size, TPM2Flags flags, JsonVariant **ret); -#define TPM2_PCRS_MAX 24 +#define TPM2_PCRS_MAX 24U + +static inline bool TPM2_PCR_MASK_VALID(uint64_t pcr_mask) { + return pcr_mask < (UINT64_C(1) << TPM2_PCRS_MAX); /* Support 24 PCR banks */ +} /* Default to PCR 7 only */ #define TPM2_PCR_MASK_DEFAULT (UINT32_C(1) << 7)