linux-integrity.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ima_tpm_chip is queried and saved only at IMA init, but never later
@ 2019-09-24 22:31 Lakshmi Ramasubramanian
  2019-09-24 22:37 ` James Bottomley
  0 siblings, 1 reply; 6+ messages in thread
From: Lakshmi Ramasubramanian @ 2019-09-24 22:31 UTC (permalink / raw)
  To: Mimi Zohar, linux-integrity

When IMA is initialized the default TPM is queried and saved.
If at this point a TPM wasn't available, but is detected and surfaced 
later by the system, IMA doesn't update the TPM information.

security/integrity/ima/ima_init.c
int __init ima_init(void)
{
	int rc;

	ima_tpm_chip = tpm_default_chip();
	if (!ima_tpm_chip)
		pr_info("No TPM chip found, activating TPM-bypass!\n");
	...
}

TPM PCR update function in IMA is essentially a NOP if TPM wasn't 
detected during IMA init.

security/integrity/ima/ima_queue.c
static int ima_pcr_extend(const u8 *hash, int pcr)
{
	int result = 0;

	if (!ima_tpm_chip)
		return result;
	...
}

In one configuration I am testing, I see the TPM appear post IMA Init. 
Likely this is rare, but I was wondering if there was a reason why TPM 
information is only queried during IMA init, but never updated at a 
later point.

Thanks,
  -lakshmi

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-10-04  0:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-24 22:31 ima_tpm_chip is queried and saved only at IMA init, but never later Lakshmi Ramasubramanian
2019-09-24 22:37 ` James Bottomley
2019-10-03 15:40   ` Lakshmi Ramasubramanian
2019-10-03 15:49     ` Mimi Zohar
2019-10-04  0:39       ` Lakshmi Ramasubramanian
2019-10-03 15:58     ` James Bottomley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).