Thread (13 messages) 13 messages, 2 authors, 2025-06-12

Re: [PATCH v2 0/2] fix failure of integration IMA with tpm_crb_ffa

From: Jarkko Sakkinen <jarkko@kernel.org>
Date: 2025-06-10 13:58:34
Also in: linux-integrity, lkml

On Tue, Jun 10, 2025 at 02:18:29PM +0100, Yeoreum Yun wrote:
  module_ffa_driver(tpm_crb_ffa_driver);
Oops, I missed this statement. Sorry, my bad.
quoted
quoted
  0000000000000a9c l  .initcall6.init>  ffa_init

In this situation, the IMA subsystem fails to integrate with the TPM device
because the TPM was not available at the time ima_init() was called.
As a result, you may see the following message in the kernel log:

  | ima: No TPM chip found, activating TPM-bypass!
TPM initializes before IMA, so there should not be a problem.
If you see my commit message it describes the situation why this happen.
when crb_acpi_driver_init() is called but before tpm_crb_ffa_init() is
called, the secure partition doesn't probe. so crb_acpi_driver_init()
would be failed wiith -EPROBE.
What is "secure partition" and why it doesn't probe at the time of
crb_acpi_driver_init()?
In this situation, init_ima() which call ima_init() can be called first.
NOTE, init_ima() is deployed in late_initcall and
the "deferred_probe device" is tried again in
deferred_probe late initcall.
However, even the deferred_probe can be call later then init_ima().

000000000000012c l       .initcall7.init>-------0000000000000000 init_ima
000000000000016c l       .initcall7.init>-------0000000000000000 deferred_probe_initcall7

That's why init_ima() is failed to init with TPM when It is deffered.

Would you let me know why you said it's not a problem?
What has deferred_probe_initcall has to do with this? Not actually
asking just pointing out stuff that you should open up.
--
Sincerely,
Yeoreum Yun
BR, Jarkko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help