[PATCH] tpm: consolidate the TPM startup code
From: Stefan Berger <hidden>
Date: 2017-06-20 21:26:08
Also in:
lkml
On 06/20/2017 04:55 PM, Jarkko Sakkinen wrote:
On Tue, Jun 20, 2017 at 01:31:52PM -0600, Jason Gunthorpe wrote:quoted
On Tue, Jun 20, 2017 at 08:13:34PM +0200, Jarkko Sakkinen wrote:quoted
Consolidated all the "manual" TPM startup code to a single function in order to make code flows a bit cleaner and migrate to tpm_buf. Signed-off-by: Jarkko Sakkinen <redacted> drivers/char/tpm/tpm-interface.c | 67 +++++++++++++++++++++++++--------------- drivers/char/tpm/tpm.h | 6 +--- drivers/char/tpm/tpm2-cmd.c | 32 +------------------ 3 files changed, 44 insertions(+), 61 deletions(-)Makes sense to mequoted
diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c index d2b4df6d9894..fbef47d8bd06 100644 +++ b/drivers/char/tpm/tpm-interface.c@@ -540,6 +540,47 @@ ssize_t tpm_transmit_cmd(struct tpm_chip *chip, struct tpm_space *space, } EXPORT_SYMBOL_GPL(tpm_transmit_cmd); +#define TPM_ORD_STARTUP 153 +#define TPM_ST_CLEAR 1We should really have a tpm1.h and tpm2.h that has all these various constants and things instead of open coding them randomly all over.. JasonI agree. Is this patch acceptable to be applied? Stefan, can you peer test this with a TPM emulator? For convenient testing I created 'readpubek' branch that includes also my readpubek bug fixes. Seeing that the module loads and you can output pubek sysfs attribute is sufficient for seeing that all the three patches work.
Doesn't work. The startup_type is be16, but you are appending a u32 now
for both TPM1.2 and TPM2.
+ tpm_buf_append_u32(&buf, TPM_ST_CLEAR);
-struct tpm_startup_in {
- __be16 startup_type;
-} __packed;
-
struct tpm2_startup_in can probably be removed as well?
Stefan
/Jarkko
-- To unsubscribe from this list: send the line "unsubscribe linux-security-module" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html