This series of patches converts IMA's usage of the tpm_chip to find a TPM chip initially and use it until the machine is shut down. To do this we need to introduce a kref for the tpm_chip that IMA and all other users of a tpm_chip hold onto until they don't need the TPM chip anymore. Stefan Stefan Berger (6): tpm: Introduce a kref for the tpm_chip tpm: Get additional kref with every call to tpm_try_get_ops() tpm: Implement tpm_chip_find() for other subsystems to call ima: Implement ima_shutdown and register it as a reboot_notifier ima: Use tpm_chip_find() and access TPM functions using it ima: Get rid of ima_used_chip and use ima_tpm_chip != NULL instead drivers/char/tpm/tpm-chip.c | 54 +++++++++++++++++++++++++++++++++---- drivers/char/tpm/tpm.h | 1 + include/linux/tpm.h | 9 +++++++ security/integrity/ima/ima.h | 4 ++- security/integrity/ima/ima_crypto.c | 14 +++++++--- security/integrity/ima/ima_init.c | 36 ++++++++++++++++++------- security/integrity/ima/ima_queue.c | 9 ++++--- 7 files changed, 105 insertions(+), 22 deletions(-) -- 2.13.6