diff options
author | 2019-12-12 12:58:35 -0500 | |
---|---|---|
committer | 2019-12-17 11:46:43 +0200 | |
commit | 45477b3fe3d10376b649b1b85fce72b2f9f1da84 (patch) | |
tree | f69752a69b3338d21d95331963c7c86133d62cbf /include | |
parent | tpm_tis: reserve chip for duration of tpm_tis_core_init (diff) | |
download | linux-45477b3fe3d10376b649b1b85fce72b2f9f1da84.tar.gz linux-45477b3fe3d10376b649b1b85fce72b2f9f1da84.tar.bz2 linux-45477b3fe3d10376b649b1b85fce72b2f9f1da84.zip |
security: keys: trusted: fix lost handle flush
The original code, before it was moved into security/keys/trusted-keys
had a flush after the blob unseal. Without that flush, the volatile
handles increase in the TPM until it becomes unusable and the system
either has to be rebooted or the TPM volatile area manually flushed.
Fix by adding back the lost flush, which we now have to export because
of the relocation of the trusted key code may cause the consumer to be
modular.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Fixes: 2e19e10131a0 ("KEYS: trusted: Move TPM2 trusted keys code")
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/tpm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/tpm.h b/include/linux/tpm.h index 0d6e949ba315..03e9b184411b 100644 --- a/include/linux/tpm.h +++ b/include/linux/tpm.h @@ -403,6 +403,7 @@ extern int tpm_pcr_extend(struct tpm_chip *chip, u32 pcr_idx, extern int tpm_send(struct tpm_chip *chip, void *cmd, size_t buflen); extern int tpm_get_random(struct tpm_chip *chip, u8 *data, size_t max); extern struct tpm_chip *tpm_default_chip(void); +void tpm2_flush_context(struct tpm_chip *chip, u32 handle); #else static inline int tpm_is_tpm2(struct tpm_chip *chip) { |