[Skiboot] [PATCH] tpm_i2c_nuvoton: fix tpm_read_fifo overflow check

Klaus Heinrich Kiwi klaus at linux.vnet.ibm.com
Fri Mar 6 23:52:47 AEDT 2020



On 2/27/2020 2:15 PM, Mauro S. M. Rodrigues wrote:
> The tpm_read_fifo expects buflen parameter which is the size of buf
> parameter. Later it uses buflen to check for an overflow in the case tpm
> response is bigger than buf capacity.
> 
> The check is fine, but it doesn't interrupt the code flow, so even though
> we see error messages about the overflow, it doesn't prevent it.
> 
> Adding a goto after specifying the error return code fixes it.

LGTM,

Reviewed-by: Klaus Heinrich Kiwi <klausk at linux.vnet.ibm.com>


> Signed-off-by: Mauro S. M. Rodrigues <maurosr at linux.vnet.ibm.com>
> ---
>   libstb/drivers/tpm_i2c_nuvoton.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/libstb/drivers/tpm_i2c_nuvoton.c b/libstb/drivers/tpm_i2c_nuvoton.c
> index 3679ddafc..d668000e4 100644
> --- a/libstb/drivers/tpm_i2c_nuvoton.c
> +++ b/libstb/drivers/tpm_i2c_nuvoton.c
> @@ -383,6 +383,7 @@ static int tpm_read_fifo(uint8_t* buf, size_t* buflen)
>   			prlog(PR_ERR, "NUVOTON: overflow on fifo read, c=%zd, "
>   			      "bc=%d, bl=%zd\n", count, burst_count, *buflen);
>   			rc = STB_TPM_OVERFLOW;
> +			goto error;
>   		}
>   		rc = tpm_i2c_request_send(tpm_device,
>   					  SMBUS_READ,
> 

-- 
Klaus Heinrich Kiwi <klaus at linux.vnet.ibm.com>


More information about the Skiboot mailing list