[SLOF] [PATCH v2 2/3] tcgbios: Fix the vendorInfoSize to be of type uint8_t

Alexey Kardashevskiy aik at ozlabs.ru
Fri May 8 10:55:27 AEST 2020



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?


> 
> 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;
>  		}
> 

-- 
Alexey


More information about the SLOF mailing list