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 v1->v2: - use the kref of the device via get_device()/put_device() Stefan Berger (4): tpm: Implement tpm_chip_find() and tpm_chip_put() for other subsystems 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 | 37 +++++++++++++++++++++++++++++++++++++ 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 ++++++--- 6 files changed, 92 insertions(+), 17 deletions(-) -- 2.13.6