On Mon, Sep 22, 2025 at 07:43:15PM +0300, Jarkko Sakkinen wrote:
From: Jarkko Sakkinen <[email protected]>

In earlier bug fix, an extra parameter was by mistake to the function.

Fixes: 27184f8905ba ("tpm: Opt-in in disable PCR integrity protection")
Signed-off-by: Jarkko Sakkinen <[email protected]>
---
drivers/char/tpm/tpm2-cmd.c      |  2 +-
drivers/char/tpm/tpm2-sessions.c |  5 ++---
include/linux/tpm.h              | 25 +------------------------
3 files changed, 4 insertions(+), 28 deletions(-)

diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
index 7d77f6fbc152..61a4daaef292 100644
--- a/drivers/char/tpm/tpm2-cmd.c
+++ b/drivers/char/tpm/tpm2-cmd.c
@@ -191,7 +191,7 @@ int tpm2_pcr_extend(struct tpm_chip *chip, u32 pcr_idx,
                tpm_buf_append_hmac_session(chip, &buf, 0, NULL, 0);
        } else {
                tpm_buf_append_handle(chip, &buf, pcr_idx);
-               tpm_buf_append_auth(chip, &buf, 0, NULL, 0);
+               tpm_buf_append_auth(chip, &buf, NULL, 0);
        }

        tpm_buf_append_u32(&buf, chip->nr_allocated_banks);
diff --git a/drivers/char/tpm/tpm2-sessions.c b/drivers/char/tpm/tpm2-sessions.c
index 6d03c224e6b2..13f019d1312a 100644
--- a/drivers/char/tpm/tpm2-sessions.c
+++ b/drivers/char/tpm/tpm2-sessions.c
@@ -266,7 +266,7 @@ void tpm_buf_append_name(struct tpm_chip *chip, struct 
tpm_buf *buf,
EXPORT_SYMBOL_GPL(tpm_buf_append_name);

void tpm_buf_append_auth(struct tpm_chip *chip, struct tpm_buf *buf,
-                        u8 attributes, u8 *passphrase, int passphrase_len)
+                        u8 *passphrase, int passphrase_len)
{
        /* offset tells us where the sessions area begins */
        int offset = buf->handles * 4 + TPM_HEADER_SIZE;
@@ -327,8 +327,7 @@ void tpm_buf_append_hmac_session(struct tpm_chip *chip, 
struct tpm_buf *buf,
#endif

        if (!tpm2_chip_auth(chip)) {
-               tpm_buf_append_auth(chip, buf, attributes, passphrase,
-                                   passphrase_len);
+               tpm_buf_append_auth(chip, buf, passphrase, passphrase_len);
                return;
        }

This chunk below should be in patch 3/4 where you open code tpm_buf_append_hmac_session_opt, rather than here:

diff --git a/include/linux/tpm.h b/include/linux/tpm.h
index 667d290789ca..a8984d273c28 100644
--- a/include/linux/tpm.h
+++ b/include/linux/tpm.h
@@ -533,30 +533,7 @@ void tpm_buf_append_hmac_session(struct tpm_chip *chip, 
struct tpm_buf *buf,
                                 u8 attributes, u8 *passphrase,
                                 int passphraselen);
void tpm_buf_append_auth(struct tpm_chip *chip, struct tpm_buf *buf,
-                        u8 attributes, u8 *passphrase, int passphraselen);
-static inline void tpm_buf_append_hmac_session_opt(struct tpm_chip *chip,
-                                                  struct tpm_buf *buf,
-                                                  u8 attributes,
-                                                  u8 *passphrase,
-                                                  int passphraselen)
-{
-       struct tpm_header *head;
-       int offset;
-
-       if (tpm2_chip_auth(chip)) {
-               tpm_buf_append_hmac_session(chip, buf, attributes, passphrase, 
passphraselen);
-       } else  {
-               offset = buf->handles * 4 + TPM_HEADER_SIZE;
-               head = (struct tpm_header *)buf->data;
-
-               /*
-                * If the only sessions are optional, the command tag must 
change to
-                * TPM2_ST_NO_SESSIONS.
-                */
-               if (tpm_buf_length(buf) == offset)
-                       head->tag = cpu_to_be16(TPM2_ST_NO_SESSIONS);
-       }
-}
+                        u8 *passphrase, int passphraselen);

#ifdef CONFIG_TCG_TPM2_HMAC

--
2.39.5



J.

--
101 things you can't have too much of : 19 - A Good Thing.
This .sig brought to you by the letter V and the number 13
Product of the Republic of HuggieTag

Reply via email to