diff mbox series

[v2,1/1] tpm: fix error return code in tpm2_get_cc_attrs_tbl()

Message ID 20210512133926.6326-2-thunder.leizhen@huawei.com (mailing list archive)
State New, archived
Headers show
Series tpm: fix error return code in tpm2_get_cc_attrs_tbl() | expand

Commit Message

Leizhen (ThunderTown) May 12, 2021, 1:39 p.m. UTC
If the total number of commands queried through TPM2_CAP_COMMANDS is
different from that queried through TPM2_CC_GET_CAPABILITY, it indicates
an unknown error. In this case, an appropriate error code -EFAULT should
be returned. However, we currently do not explicitly assign this error
code to 'rc'. As a result, 0 was incorrectly returned.

Fixes: 58472f5cd4f6("tpm: validate TPM 2.0 commands")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
---
 drivers/char/tpm/tpm2-cmd.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Jarkko Sakkinen May 12, 2021, 7:16 p.m. UTC | #1
On Wed, May 12, 2021 at 09:39:26PM +0800, Zhen Lei wrote:
> If the total number of commands queried through TPM2_CAP_COMMANDS is
> different from that queried through TPM2_CC_GET_CAPABILITY, it indicates
> an unknown error. In this case, an appropriate error code -EFAULT should
> be returned. However, we currently do not explicitly assign this error
> code to 'rc'. As a result, 0 was incorrectly returned.
> 
> Fixes: 58472f5cd4f6("tpm: validate TPM 2.0 commands")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
> ---
>  drivers/char/tpm/tpm2-cmd.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
> index eff1f12d981ab27..c84d239512197aa 100644
> --- a/drivers/char/tpm/tpm2-cmd.c
> +++ b/drivers/char/tpm/tpm2-cmd.c
> @@ -656,6 +656,7 @@ int tpm2_get_cc_attrs_tbl(struct tpm_chip *chip)
>  
>  	if (nr_commands !=
>  	    be32_to_cpup((__be32 *)&buf.data[TPM_HEADER_SIZE + 5])) {
> +		rc = -EFAULT;
>  		tpm_buf_destroy(&buf);
>  		goto out;
>  	}
> -- 
> 2.26.0.106.g9fadedd
> 
> 
> 

Thank you.

Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>

/Jarkko
diff mbox series

Patch

diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
index eff1f12d981ab27..c84d239512197aa 100644
--- a/drivers/char/tpm/tpm2-cmd.c
+++ b/drivers/char/tpm/tpm2-cmd.c
@@ -656,6 +656,7 @@  int tpm2_get_cc_attrs_tbl(struct tpm_chip *chip)
 
 	if (nr_commands !=
 	    be32_to_cpup((__be32 *)&buf.data[TPM_HEADER_SIZE + 5])) {
+		rc = -EFAULT;
 		tpm_buf_destroy(&buf);
 		goto out;
 	}