Re: [PATCH] ima: debugging late_initcall_sync measurements
Paul Moore <[email protected]>
| Newsgroups | org.kernel.vger.linux-integrity,dev.linux.lists.kvmarm,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-security-module |
|---|---|
| Message-ID | <[email protected]> |
On May 5, 2026 9:57:23 PM Mimi Zohar <[email protected]> wrote: > 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 ... <heavy eye roll> > ... 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. Let me rephrase to make the question clear - how do you plan to handle a system where you lose measurements by waiting until late-sync, but the TPM is not available at the late initcall. -- paul-moore.com