On Tue, 2026-05-05 at 18:55 -0400, Paul Moore wrote:
> On Tue, May 5, 2026 at 5:05 PM Mimi Zohar <[email protected]> wrote:
> > On Mon, 2026-05-04 at 16:51 -0400, Paul Moore wrote:
> > > On Mon, May 4, 2026 at 8:03 AM Mimi Zohar <[email protected]> wrote:
> > > > On Sun, 2026-05-03 at 12:46 -0400, Paul Moore wrote:
> > > > > Regardless, assuming you always want IMA to leverage a TPMs when they
> > > > > exist, your reply suggests that using an initcall based IMA init
> > > > > scheme, even a late-sync initcall, may not be sufficient because
> > > > > deferred TPM initialization could happen later, yes?
> > > > 
> > > > Well yeah.  The TPM could be configured as a module, but that scenario 
> > > > is not of
> > > > interest.  That's way too late.  The case being addressed in this patch 
> > > > set is
> > > > when the TPM driver tries to initialize at device_initcall, returns
> > > > EPROBE_DEFER, and is retried at deferred_probe_initcall 
> > > > (late_initcall).  Since
> > > > ordering within an initcall is not supported, this patch attempts to 
> > > > initialize
> > > > IMA at late_initcall and similarly retries, in this case, at 
> > > > late_initcall_sync.
> > > 
> > > Okay, so from a TPM initialization perspective you are satisfied with
> > > a late-sync IMA initialization, yes?
> > 
> > No. On some architectures moving IMA initialization from the late_initcall 
> > to
> > late_initcall_sync does not miss any measurement records. However, as 
> > previously
> > mentioned, Linux running in a PowerVM LPAR the move would drop ~30 
> > measurement
> > records[1].  So no, only if the TPM is not initialized by late_initcall, 
> > should
> > IMA retry at late_initcall_sync.
> 
> What do you do in the PowerVM LPAR when the TPM is not avaiable at
> late initcall and you have to defer IMA initialization until
> late-sync?

Your question is hypothetical, as the TPM isn't deferred, so IMA doesn't go into
TPM-bypass mode.  Testing on a PowerVM LPAR demonstrated that it skips ~30
measurement list records.  So moving the initcall to late_initcall_sync would
cause a regression.

Mimi

Reply via email to