[SLOF] [PATCH v2 2/3] tcgbios: Fix the vendorInfoSize to be of type uint8_t
Stefan Berger
stefanb at linux.ibm.com
Sat May 9 05:36:03 AEST 2020
On 5/7/20 8:55 PM, Alexey Kardashevskiy wrote:
>
> On 30/03/2020 23:10, Stefan Berger wrote:
>> From: Stefan Berger <stefanb at linux.ibm.com>
>>
>> The vendorInfoSize is a uint8_t rather than a uint32_t.
>
> What is the implication of this bug? Do we need to backport it to stable
> qemu 5.0.x?
No, we set the vendorInfoSize to '0' and it's the last field in the
structure, so it doesn't matter. The structure it is embedded in has its
own size indicator that is 3 bytes too large but from what I have seen
with clients tools so far, they don't care.
Stefan
>
>
>> Signed-off-by: Stefan Berger <stefanb at linux.ibm.com>
>> ---
>> lib/libtpm/tcgbios.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/lib/libtpm/tcgbios.c b/lib/libtpm/tcgbios.c
>> index 81f351c..c0e1b45 100644
>> --- a/lib/libtpm/tcgbios.c
>> +++ b/lib/libtpm/tcgbios.c
>> @@ -647,7 +647,7 @@ static int tpm20_write_EfiSpecIdEventStruct(void)
>> struct tpms_pcr_selection *sel;
>> void *nsel, *end;
>> int event_size;
>> - uint32_t *vendorInfoSize;
>> + uint8_t *vendorInfoSize;
>> struct tpm_log_entry le = {
>> .hdr.eventtype = cpu_to_log32(EV_NO_ACTION),
>> };
>> @@ -682,7 +682,7 @@ static int tpm20_write_EfiSpecIdEventStruct(void)
>>
>> event_size = offset_of(struct TCG_EfiSpecIdEventStruct,
>> digestSizes[count+1]);
>> - if (event_size > sizeof(event) - sizeof(uint32_t)) {
>> + if (event_size > sizeof(event) - sizeof(uint8_t)) {
>> dprintf("EfiSpecIdEventStruct pad too small\n");
>> return -1;
>> }
>>
More information about the SLOF
mailing list