The TPM spec differentiates between an unknown bank and an unallocated bank. In terms of re-calculating the PCR, treat them as equivalent. Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxx> --- src/evmctl.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/evmctl.c b/src/evmctl.c index be59ead45189..704615694cec 100644 --- a/src/evmctl.c +++ b/src/evmctl.c @@ -1449,6 +1449,11 @@ static int tpm2_pcr_read(int idx, uint8_t *hwpcr, int len, char **errmsg) /* get the popen "cmd" return code */ ret = pclose(fp); + + /* Treat an unallocated bank as an error */ + if (!ret && (strlen(pcr) < SHA_DIGEST_LENGTH)) + ret = -1; + if (!ret) hex2bin(hwpcr, pcr, SHA_DIGEST_LENGTH); else -- 2.7.5