ima - wait for tpm load

From: Jorge Ramirez-Ortiz, Foundries
Date: Thu Jun 10 2021 - 03:17:38 EST


I am enabling IMA on a ZynqMP based platform using an SPI based TPM
from Infineon.

The SPI TPM driver is built-in but since the IMA is initalized from a
late_initcall, IMA never finds the TPM.

Is there a recomended way to work around this issue?

fio@uz3cg-dwg:~$ dmesg | grep tpm
[ 3.381181] tpm_tis_spi spi1.1: 2.0 TPM (device-id 0x1B, rev-id 22)
[ 3.423608] tpm tpm0: A TPM error (256) occurred attempting the self test
[ 3.430406] tpm tpm0: starting up the TPM manually

fio@uz3cg-dwg:~$ dmesg | grep ima
[ 3.525741] ima: No TPM chip found, activating TPM-bypass!
[ 3.531233] ima: Allocated hash algorithm: sha1

TIA

jorge