efi_loader: Fix spec ID event creation
authorRuchika Gupta <ruchika.gupta@linaro.org>
Tue, 14 Sep 2021 06:44:31 +0000 (12:14 +0530)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 25 Sep 2021 10:31:08 +0000 (12:31 +0200)
commit346cee3ac5782fefeaeda2b54914b029547adf52
treeef6420bf3394a1114afe8c40fd31c646d1376a57
parent269d2d14d243f214e8eb5c63810d73272d6fd3f3
efi_loader: Fix spec ID event creation

TCG EFI Protocol Specification defines the number_of_algorithms
field in spec ID event to be equal to the number of active
algorithms supported by the TPM device. In current implementation,
this field is populated with the count of all algorithms supported
by the TPM which leads to incorrect spec ID event creation.

Similarly, the algorithm array in spec ID event should be a variable
length array with length being equal to the number_of_algorithms field.
In current implementation this is defined as a fixed length array
which has been fixed.

Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org>
CC: Masahisa Kojima <masahisa.kojima@linaro.org>
CC: Ilias Apalodimas <ilias.apalodimas@linaro.org>
CC: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
include/efi_tcg2.h
lib/efi_loader/efi_tcg2.c