security/tpm: Report tpm_unmarshal_response warning

In procedure tpm_unmarshal_response(), variable "rc" is used early to
decide if it should return NULL. Later however, the code proceeds to its
end even if one subroutine reports error. If "rc" is not 0, report that
there was a partial error in the procedure.

BUG=b:112253891
TEST=Build and boot grunt.

Change-Id: I7575bc75104fd97f138224aa57561e68f6548e58
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/27931
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Richard Spiegel 2018-08-07 09:24:14 -07:00 committed by Philipp Deppenwiese
parent 486df4612d
commit 248c60a672
1 changed files with 3 additions and 0 deletions

View File

@ -554,6 +554,9 @@ struct tpm2_response *tpm_unmarshal_response(TPM_CC command, struct ibuf *ib)
command, ibuf_remaining(ib));
return NULL;
}
if (rc)
printk(BIOS_WARNING, "Warning: %s had one or more failures.\n",
__func__);
/* The entire message have been parsed. */
return tpm2_resp;