All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yeoreum Yun <yeoreum.yun@arm.com>
To: Mimi Zohar <zohar@linux.ibm.com>
Cc: linux-security-module@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-integrity@vger.kernel.org,
	paul@paul-moore.com, roberto.sassu@huaweicloud.com,
	noodles@earth.li, jarkko@kernel.org, sudeep.holla@kernel.org,
	jmorris@namei.org, serge@hallyn.com, dmitry.kasatkin@gmail.com,
	eric.snowberg@oracle.com, jgg@ziepe.ca
Subject: Re: [PATCH v6 2/4] security: ima: introduce IMA_INIT_LATE_SYNC option
Date: Tue, 9 Jun 2026 12:13:09 +0100	[thread overview]
Message-ID: <aif1RaFsRvipxEDr@e129823.arm.com> (raw)
In-Reply-To: <f135eab04611432040e4ba66cef2786424af8cc8.camel@linux.ibm.com>

On Mon, Jun 08, 2026 at 01:40:00PM -0400, Mimi Zohar wrote:
> On Fri, 2026-06-05 at 15:43 +0100, Yeoreum Yun wrote:
> > To generate the boot_aggregate log in the IMA subsystem with
> > TPM PCR values, the TPM driver must be built as built-in and
> > must be probed before the IMA subsystem is initialized.
> > 
> > However, when the TPM device operates over the FF-A protocol using
> > the CRB interface, probing fails and returns -EPROBE_DEFER if
> > the tpm_crb_ffa device — an FF-A device that provides the communication
> > interface to the tpm_crb driver — has not yet been probed.
> > 
> > To ensure the TPM device operating over the FF-A protocol with
> > the CRB interface is probed before IMA initialization,
> > the following conditions must be met:
> > 
> > 1. The corresponding ffa_device must be registered,
> >    which is done via ffa_init().
> > 
> > 2. The tpm_crb_driver must successfully probe this device via
> >    tpm_crb_ffa_init().
> > 
> > 3. The tpm_crb driver using CRB over FF-A can then
> >    be probed successfully. (See crb_acpi_add() and
> >    tpm_crb_ffa_init() for reference.)
> > 
> > Unfortunately, ffa_init(), tpm_crb_ffa_init(), and crb_acpi_driver_init()
> > are all registered with device_initcall, which means
> > crb_acpi_driver_init() may be invoked before ffa_init() and
> > tpm_crb_ffa_init() are completed.
> > 
> > When this occurs, probing the TPM device is deferred.
> > However, the deferred probe can happen after the IMA subsystem
> > has already been initialized, since IMA initialization is performed
> > during late_initcall, and deferred_probe_initcall() is performed
> > at the same level.
> > 
> > And the similar situation is reported on TPM devices attached on SPI
> > bus[0].
> > 
> > To resolve this, introduce IMA_INIT_LATE_SYNC option to initialise
> > IMA at late_inicall_sync so that IMA is initialized with the TPM
> > device probed deferred.
> > 
> > When this option is enabled, modules that access files in the
> > initramfs through usermode helper calls such as request_module()
> > during initcall must not be built-in. Otherwise, IMA may miss
> > measuring those files [1].
> > 
> > Link: https://lore.kernel.org/all/aYXEepLhUouN5f99@earth.li/ [0]
> > Link: https://lore.kernel.org/all/2b3782398cc17ce9d355490a0c42ebce9120a9ae.camel@linux.ibm.com/ [1]
> > Suggested-by: Mimi Zohar <zohar@linux.ibm.com>
> > Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
> > Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
> > ---
> >  security/integrity/ima/Kconfig    | 10 ++++++++++
> >  security/integrity/ima/ima_main.c |  4 ++++
> >  2 files changed, 14 insertions(+)
> > 
> > diff --git a/security/integrity/ima/Kconfig b/security/integrity/ima/Kconfig
> > index 862fbee2b174..75f71401fba3 100644
> > --- a/security/integrity/ima/Kconfig
> > +++ b/security/integrity/ima/Kconfig
> > @@ -332,4 +332,14 @@ config IMA_KEXEC_EXTRA_MEMORY_KB
> >  	  If set to the default value of 0, an extra half page of memory for those
> >  	  additional measurements will be allocated.
> >  
> > +config IMA_INIT_LATE_SYNC
> > +	bool "Initialise IMA at late_initcall_sync"
> > +	default n
> > +	help
> > +	  This option initialises IMA at late_initcall_sync for platforms
> > +	  where TPM device probing is deferred.
> > +	  When this option is enabled, modules that access files in the
> > +	  initramfs through usermode helper calls such as request_module()
> > +	  during initcall must not be built-in. Otherwise, IMA may miss
> > +	  file measurements for them.
> >  endif
> 
> I fixed the merge conflict with the "ima: Exporting and deleting IMA measurement
> records from kernel memory" patch set.  These patches are now queued in next-
> integrity-testing awaiting Paul's Ack.

Thanks!

[...]

-- 
Sincerely,
Yeoreum Yun

  reply	other threads:[~2026-06-09 11:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-05 14:43 [PATCH v6 0/4] introduce IMA_INIT_LATE_SYNC option Yeoreum Yun
2026-06-05 14:43 ` [PATCH v6 1/4] security: lsm: allow LSMs to register for late_initcall_sync init Yeoreum Yun
2026-06-08 16:52   ` Mimi Zohar
2026-06-08 17:24     ` Paul Moore
2026-07-02 18:36   ` Paul Moore
2026-07-02 19:42     ` Yeoreum Yun
2026-06-05 14:43 ` [PATCH v6 2/4] security: ima: introduce IMA_INIT_LATE_SYNC option Yeoreum Yun
2026-06-08 17:40   ` Mimi Zohar
2026-06-09 11:13     ` Yeoreum Yun [this message]
2026-06-05 14:43 ` [PATCH v6 3/4] security: ima: rename boot_aggregate when ima is initialised at late_sync Yeoreum Yun
2026-06-05 14:43 ` [PATCH v6 4/4] tpm: tpm_crb_ffa: revert defered_probed when tpm_crb_ffa is built-in Yeoreum Yun
2026-06-08  4:45   ` Jarkko Sakkinen
2026-06-08  7:15     ` Yeoreum Yun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aif1RaFsRvipxEDr@e129823.arm.com \
    --to=yeoreum.yun@arm.com \
    --cc=dmitry.kasatkin@gmail.com \
    --cc=eric.snowberg@oracle.com \
    --cc=jarkko@kernel.org \
    --cc=jgg@ziepe.ca \
    --cc=jmorris@namei.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=noodles@earth.li \
    --cc=paul@paul-moore.com \
    --cc=roberto.sassu@huaweicloud.com \
    --cc=serge@hallyn.com \
    --cc=sudeep.holla@kernel.org \
    --cc=zohar@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.