From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Hao Ge <gehao@kylinos.cn>,
Jarkko Sakkinen <jarkko@kernel.org>
Subject: [PATCH 6.10 7/9] tpm: Use auth only after NULL check in tpm_buf_check_hmac_response()
Date: Tue, 23 Jul 2024 13:52:01 +0200 [thread overview]
Message-ID: <20240723114047.542651110@linuxfoundation.org> (raw)
In-Reply-To: <20240723114047.281580960@linuxfoundation.org>
6.10-stable review patch. If anyone has any objections, please let me know.
------------------
From: Hao Ge <gehao@kylinos.cn>
commit 7dc357d343f134bf59815ff6098b93503ec8a23b upstream.
Dereference auth after NULL check in tpm_buf_check_hmac_response().
Otherwise, unless tpm2_sessions_init() was called, a call can cause NULL
dereference, when TCG_TPM2_HMAC is enabled.
[jarkko: adjusted the commit message.]
Cc: stable@vger.kernel.org # v6.10+
Fixes: 7ca110f2679b ("tpm: Address !chip->auth in tpm_buf_append_hmac_session*()")
Signed-off-by: Hao Ge <gehao@kylinos.cn>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/char/tpm/tpm2-sessions.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/char/tpm/tpm2-sessions.c b/drivers/char/tpm/tpm2-sessions.c
index 2281d55df545..d3521aadd43e 100644
--- a/drivers/char/tpm/tpm2-sessions.c
+++ b/drivers/char/tpm/tpm2-sessions.c
@@ -746,15 +746,16 @@ int tpm_buf_check_hmac_response(struct tpm_chip *chip, struct tpm_buf *buf,
struct tpm2_auth *auth = chip->auth;
off_t offset_s, offset_p;
u8 rphash[SHA256_DIGEST_SIZE];
- u32 attrs;
+ u32 attrs, cc;
struct sha256_state sctx;
u16 tag = be16_to_cpu(head->tag);
- u32 cc = be32_to_cpu(auth->ordinal);
int parm_len, len, i, handles;
if (!auth)
return rc;
+ cc = be32_to_cpu(auth->ordinal);
+
if (auth->session >= TPM_HEADER_SIZE) {
WARN(1, "tpm session not filled correctly\n");
goto out;
--
2.45.2
next prev parent reply other threads:[~2024-07-23 11:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-23 11:51 [PATCH 6.10 0/9] 6.10.1-rc1 review Greg Kroah-Hartman
2024-07-23 11:51 ` [PATCH 6.10 1/9] ext4: use memtostr_pad() for s_volume_name Greg Kroah-Hartman
2024-07-23 11:51 ` [PATCH 6.10 2/9] cifs: Fix missing error code set Greg Kroah-Hartman
2024-07-23 11:51 ` [PATCH 6.10 3/9] cifs: Fix missing fscache invalidation Greg Kroah-Hartman
2024-07-23 11:51 ` [PATCH 6.10 4/9] cifs: fix noisy message on copy_file_range Greg Kroah-Hartman
2024-07-23 11:51 ` [PATCH 6.10 5/9] cifs: Fix server re-repick on subrequest retry Greg Kroah-Hartman
2024-07-23 11:52 ` [PATCH 6.10 6/9] cifs: Fix setting of zero_point after DIO write Greg Kroah-Hartman
2024-07-23 11:52 ` Greg Kroah-Hartman [this message]
2024-07-23 11:52 ` [PATCH 6.10 8/9] ASoC: cs35l56: Use header defines for Speaker Volume control definition Greg Kroah-Hartman
2024-07-23 11:52 ` [PATCH 6.10 9/9] ASoC: cs35l56: Limit Speaker Volume to +12dB maximum Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240723114047.542651110@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=gehao@kylinos.cn \
--cc=jarkko@kernel.org \
--cc=patches@lists.linux.dev \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.