]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 May 2021 13:45:18 +0000 (15:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 May 2021 13:45:18 +0000 (15:45 +0200)
added patches:
tpm-fix-error-return-code-in-tpm2_get_cc_attrs_tbl.patch

queue-4.19/tpm-fix-error-return-code-in-tpm2_get_cc_attrs_tbl.patch [new file with mode: 0644]

diff --git a/queue-4.19/tpm-fix-error-return-code-in-tpm2_get_cc_attrs_tbl.patch b/queue-4.19/tpm-fix-error-return-code-in-tpm2_get_cc_attrs_tbl.patch
new file mode 100644 (file)
index 0000000..3299dfb
--- /dev/null
@@ -0,0 +1,36 @@
+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
+@@ -960,6 +960,7 @@ static int tpm2_get_cc_attrs_tbl(struct
+       if (nr_commands !=
+           be32_to_cpup((__be32 *)&buf.data[TPM_HEADER_SIZE + 5])) {
++              rc = -EFAULT;
+               tpm_buf_destroy(&buf);
+               goto out;
+       }