Re: [PATCH 1/7] ima: on soft reboot, restore the measurement list

From: Samuel Mendoza-Jonas
Date: Tue Aug 09 2016 - 19:23:59 EST


On Tue, 2016-08-09 at 10:19 -0300, Thiago Jung Bauermann wrote:
> Am Dienstag, 09 August 2016, 09:01:13 schrieb Mimi Zohar:
> >
> > On Tue, 2016-08-09 at 20:59 +1000, Michael Ellerman wrote:
> > >
> > > Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> writes:
> > > >
> > > > diff --git a/security/integrity/ima/ima.h
> > > > b/security/integrity/ima/ima.h
> > > > index b5728da..84e8d36 100644
> > > > --- a/security/integrity/ima/ima.h
> > > > +++ b/security/integrity/ima/ima.h
> > > > @@ -102,6 +102,13 @@ struct ima_queue_entry {
> > > >
> > > > };
> > > > extern struct list_head ima_measurements; /* list of all
> measurements
> >
> > >
> > > >
> > > > */
> > > >
> > > > +/* Some details preceding the binary serialized measurement list */
> > > > +struct ima_kexec_hdr {
> > > > + unsigned short version;
> > > > + unsigned long buffer_size;
> > > > + unsigned long count;
> > > > +} __packed;
> > > > +
> > >
> > > Am I understanding it correctly that this structure is passed between
> > > kernels?
> > Yes, the header prefixes the measurement list, which is being passed on
> > the same computer to the next kernel. Could the architecture (eg.
> > LE/BE) change between soft re-boots?
>
> Yes. I am able to boot a BE kernel from an LE kernel with my patches.
> Whether we want to support that or not is another question...

The answer to that question is almost certainly yes - on POWER the most
immediate example would be soft-rebooting from a BE host into an LE
Petitboot kernel, or vice versa.