From: Jarkko Sakkinen <jarkko@kernel.org>
To: linux-integrity@vger.kernel.org
Cc: James.Bottomley@HansenPartnership.com, roberto.sassu@huawei.com,
mapengyu@gmail.com, Jarkko Sakkinen <jarkko@kernel.org>,
stable@vger.kernel.org, Mimi Zohar <zohar@linux.ibm.com>,
David Howells <dhowells@redhat.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
keyrings@vger.kernel.org, linux-security-module@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v3 2/7] tpm: Return on tpm2_create_null_primary() failure
Date: Tue, 17 Sep 2024 18:44:31 +0300 [thread overview]
Message-ID: <20240917154444.702370-3-jarkko@kernel.org> (raw)
In-Reply-To: <20240917154444.702370-1-jarkko@kernel.org>
tpm2_sessions_init() does not ignores the result of saving the null key.
Address this by printing either TPM or POSIX error code, and returning
-ENODEV back to the caller.
Cc: stable@vger.kernel.org # v6.11+
Fixes: d2add27cf2b8 ("tpm: Add NULL primary creation")
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
---
v3:
- Handle TPM and POSIX error separately and return -ENODEV always back
to the caller.
v2:
- Refined the commit message.
---
drivers/char/tpm/tpm2-sessions.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/char/tpm/tpm2-sessions.c b/drivers/char/tpm/tpm2-sessions.c
index 6cc1ea81c57c..0993d18ee886 100644
--- a/drivers/char/tpm/tpm2-sessions.c
+++ b/drivers/char/tpm/tpm2-sessions.c
@@ -1273,7 +1273,13 @@ static int tpm2_create_null_primary(struct tpm_chip *chip)
tpm2_flush_context(chip, null_key);
}
- return rc;
+ if (rc < 0)
+ dev_err(&chip->dev, "saving the null key failed with error %d\n", rc);
+ else if (rc > 0)
+ dev_err(&chip->dev, "saving the null key failed with TPM error 0x%04X\n", rc);
+
+ /* Map all errors to -ENODEV: */
+ return rc ? -ENODEV : rc;
}
/**
@@ -1289,7 +1295,7 @@ int tpm2_sessions_init(struct tpm_chip *chip)
rc = tpm2_create_null_primary(chip);
if (rc)
- dev_err(&chip->dev, "TPM: security failed (NULL seed derivation): %d\n", rc);
+ return rc;
chip->auth = kmalloc(sizeof(*chip->auth), GFP_KERNEL);
if (!chip->auth)
--
2.46.0
next prev parent reply other threads:[~2024-09-17 15:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-17 15:44 [PATCH v3 0/7] Lazy flush for the auth session Jarkko Sakkinen
2024-09-17 15:44 ` [PATCH v3 1/7] tpm: Remove the top-level documentation tpm2-sessions.c Jarkko Sakkinen
2024-09-17 15:44 ` Jarkko Sakkinen [this message]
2024-09-17 15:44 ` [PATCH v3 3/7] tpm: Return on tpm2_create_primary() failure in tpm2_load_null() Jarkko Sakkinen
2024-09-17 15:44 ` [PATCH v3 4/7] tpm: flush the null key only when /dev/tpm0 is accessed Jarkko Sakkinen
2024-09-17 15:44 ` [PATCH v3 5/7] tpm: Allocate chip->auth in tpm2_start_auth_session() Jarkko Sakkinen
2024-09-17 15:44 ` [PATCH v3 6/7] tpm: flush the auth session only when /dev/tpm0 is open Jarkko Sakkinen
2024-09-17 15:44 ` [PATCH v3 7/7] tpm: open code tpm2_create_null_primary() Jarkko Sakkinen
2024-09-18 6:47 ` [PATCH v3 0/7] Lazy flush for the auth session Pengyu Ma
2024-09-18 20:38 ` Jarkko Sakkinen
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=20240917154444.702370-3-jarkko@kernel.org \
--to=jarkko@kernel.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=dhowells@redhat.com \
--cc=jmorris@namei.org \
--cc=keyrings@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mapengyu@gmail.com \
--cc=paul@paul-moore.com \
--cc=roberto.sassu@huawei.com \
--cc=serge@hallyn.com \
--cc=stable@vger.kernel.org \
--cc=zohar@linux.ibm.com \
/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.