Message ID | 20200707040522.4013885-3-stefanb@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tpm: Some fixes | expand |
On Tue, Jul 07, 2020 at 12:05:22AM -0400, Stefan Berger wrote: > Due to a change in the TPM 2 code the pcrUpdate counter in the > PCRRead response is now different, so we skip comparison of the > 14th byte. Can you elaborate on this a bit, both in the code comment and the commit message. > > Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> > --- > tests/qtest/tpm-util.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/tests/qtest/tpm-util.c b/tests/qtest/tpm-util.c > index 34efae8f18..58a9593745 100644 > --- a/tests/qtest/tpm-util.c > +++ b/tests/qtest/tpm-util.c > @@ -139,7 +139,11 @@ void tpm_util_pcrread(QTestState *s, tx_func *tx, > > tx(s, tpm_pcrread, sizeof(tpm_pcrread), buffer, sizeof(buffer)); > > - g_assert_cmpmem(buffer, exp_resp_size, exp_resp, exp_resp_size); > + /* skip pcrUpdateCounter (14th byte) in comparison */ > + g_assert(exp_resp_size >= 15); > + g_assert_cmpmem(buffer, 13, exp_resp, 13); > + g_assert_cmpmem(&buffer[14], exp_resp_size - 14, > + &exp_resp[14], exp_resp_size - 14); > } > > bool tpm_util_swtpm_has_tpm2(void)
On 7/7/20 4:19 AM, David Gibson wrote: > On Tue, Jul 07, 2020 at 12:05:22AM -0400, Stefan Berger wrote: >> Due to a change in the TPM 2 code the pcrUpdate counter in the >> PCRRead response is now different, so we skip comparison of the >> 14th byte. > Can you elaborate on this a bit, both in the code comment and the > commit message. Will do in v3. Basically the TPM 2 code has been 'fixed' to reflect the pcclient profile more closely and due to the change in PCRs that belong to the 'TCB group' the response of the TPM2_Pcrread command now returns a slightly different value for the pcrUpdateCounter value, which unfortunately breaks the test cases. Leaving the TPM 2 as it was wasn't a long-term option. https://github.com/stefanberger/libtpms/commit/0f5d791a7d3431a6831086f5a186cc53149f695f
diff --git a/tests/qtest/tpm-util.c b/tests/qtest/tpm-util.c index 34efae8f18..58a9593745 100644 --- a/tests/qtest/tpm-util.c +++ b/tests/qtest/tpm-util.c @@ -139,7 +139,11 @@ void tpm_util_pcrread(QTestState *s, tx_func *tx, tx(s, tpm_pcrread, sizeof(tpm_pcrread), buffer, sizeof(buffer)); - g_assert_cmpmem(buffer, exp_resp_size, exp_resp, exp_resp_size); + /* skip pcrUpdateCounter (14th byte) in comparison */ + g_assert(exp_resp_size >= 15); + g_assert_cmpmem(buffer, 13, exp_resp, 13); + g_assert_cmpmem(&buffer[14], exp_resp_size - 14, + &exp_resp[14], exp_resp_size - 14); } bool tpm_util_swtpm_has_tpm2(void)
Due to a change in the TPM 2 code the pcrUpdate counter in the PCRRead response is now different, so we skip comparison of the 14th byte. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> --- tests/qtest/tpm-util.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)