| From 1df83992d977355177810c2b711afc30546c81ce Mon Sep 17 00:00:00 2001 |
| From: Zhen Lei <thunder.leizhen@huawei.com> |
| Date: Wed, 12 May 2021 21:39:26 +0800 |
| Subject: tpm: fix error return code in tpm2_get_cc_attrs_tbl() |
| |
| From: Zhen Lei <thunder.leizhen@huawei.com> |
| |
| commit 1df83992d977355177810c2b711afc30546c81ce upstream. |
| |
| 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. |
| |
| Cc: stable@vger.kernel.org |
| Fixes: 58472f5cd4f6("tpm: validate TPM 2.0 commands") |
| Reported-by: Hulk Robot <hulkci@huawei.com> |
| Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> |
| Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> |
| Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/char/tpm/tpm2-cmd.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- 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_chi |
| |
| if (nr_commands != |
| be32_to_cpup((__be32 *)&buf.data[TPM_HEADER_SIZE + 5])) { |
| + rc = -EFAULT; |
| tpm_buf_destroy(&buf); |
| goto out; |
| } |