From: Mimi Zohar <zohar@linux.vnet.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: Dave Young <dyoung@redhat.com>,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-ima-devel@lists.sourceforge.net,
linux-security-module@vger.kernel.org,
Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 1/7] ima: on soft reboot, restore the measurement list
Date: Wed, 10 Aug 2016 08:54:36 -0400 [thread overview]
Message-ID: <1470833676.2881.183.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <87vaz9rlx2.fsf@concordia.ellerman.id.au>
On Wed, 2016-08-10 at 19:52 +1000, Michael Ellerman wrote:
> Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> writes:
>
> > Am Mittwoch, 10 August 2016, 13:41:08 schrieb Michael Ellerman:
> >> Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> writes:
> >> > 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@linux.vnet.ibm.com> writes:
> >> >> > > +/* 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...
> >>
> >> Yes you must support that. BE -> LE and vice versa.
> >
> > I didn't test BE - LE yet, but will do.
>
> Thanks.
Ok. There have been requests for making the binary_runtime_measurements
architecture independent. As this was not a network facing interface,
we left it in native format. With the kernel now consuming this data,
it makes sense for the binary_runtime_measurements to be in an
architecture independent format.
Unfortunately, as the <securityfs>/ima/binary_runtime_measurements is
not prefixed with any metadata, this change would need to be Kconfig
based, but kexec would always use the architecture independent format.
> >> You should also consider the possibility that the next kernel is not
> >> Linux.
Oh!
> > If the next kernel is an ELF binary and it supports the kexec "calling
> > convention", it should work too. What could possibly go wrong? I can try
> > FreeBSD (I suppose it's an ELF kernel) and see what happens.
>
> At least for old style kexec (not sys_kexec_load()) I don't think it
> even needs to be an ELF binary.
>
> I think there are folks working on FreeBSD (or $?BSD), so I think the
> basic kexec part works.
>
> There's nothing (yet) that wants to use this measurement list obviously,
> but it should be designed such that it could be used by an unknown
> future kernel that knows the ABI.
>
> So given what you have above, you'd use something like:
>
> struct ima_kexec_hdr {
> u16 version;
> u16 _reserved0;
> u32 _reserved1;
> u64 buffer_size;
> u64 count;
> };
>
> cheers
Thanks, I'll make this change.
Mimi
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Mimi Zohar <zohar@linux.vnet.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>,
linux-security-module@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org,
linux-kernel@vger.kernel.org,
linux-ima-devel@lists.sourceforge.net,
Dave Young <dyoung@redhat.com>
Subject: Re: [PATCH 1/7] ima: on soft reboot, restore the measurement list
Date: Wed, 10 Aug 2016 08:54:36 -0400 [thread overview]
Message-ID: <1470833676.2881.183.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <87vaz9rlx2.fsf@concordia.ellerman.id.au>
On Wed, 2016-08-10 at 19:52 +1000, Michael Ellerman wrote:
> Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> writes:
>
> > Am Mittwoch, 10 August 2016, 13:41:08 schrieb Michael Ellerman:
> >> Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> writes:
> >> > 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@linux.vnet.ibm.com> writes:
> >> >> > > +/* 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...
> >>
> >> Yes you must support that. BE -> LE and vice versa.
> >
> > I didn't test BE - LE yet, but will do.
>
> Thanks.
Ok. There have been requests for making the binary_runtime_measurements
architecture independent. As this was not a network facing interface,
we left it in native format. With the kernel now consuming this data,
it makes sense for the binary_runtime_measurements to be in an
architecture independent format.
Unfortunately, as the <securityfs>/ima/binary_runtime_measurements is
not prefixed with any metadata, this change would need to be Kconfig
based, but kexec would always use the architecture independent format.
> >> You should also consider the possibility that the next kernel is not
> >> Linux.
Oh!
> > If the next kernel is an ELF binary and it supports the kexec "calling
> > convention", it should work too. What could possibly go wrong? I can try
> > FreeBSD (I suppose it's an ELF kernel) and see what happens.
>
> At least for old style kexec (not sys_kexec_load()) I don't think it
> even needs to be an ELF binary.
>
> I think there are folks working on FreeBSD (or $?BSD), so I think the
> basic kexec part works.
>
> There's nothing (yet) that wants to use this measurement list obviously,
> but it should be designed such that it could be used by an unknown
> future kernel that knows the ABI.
>
> So given what you have above, you'd use something like:
>
> struct ima_kexec_hdr {
> u16 version;
> u16 _reserved0;
> u32 _reserved1;
> u64 buffer_size;
> u64 count;
> };
>
> cheers
Thanks, I'll make this change.
Mimi
next prev parent reply other threads:[~2016-08-10 12:55 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-04 12:24 [PATCH 0/7] ima: carry the measurement list across kexec Mimi Zohar
2016-08-04 12:24 ` Mimi Zohar
2016-08-04 12:24 ` [PATCH 1/7] ima: on soft reboot, restore the measurement list Mimi Zohar
2016-08-04 12:24 ` Mimi Zohar
2016-08-05 8:44 ` Petko Manolov
2016-08-05 8:44 ` Petko Manolov
2016-08-05 13:34 ` Mimi Zohar
2016-08-05 13:34 ` Mimi Zohar
2016-08-05 15:56 ` Petko Manolov
2016-08-05 15:56 ` Petko Manolov
2016-08-09 10:59 ` Michael Ellerman
2016-08-09 10:59 ` Michael Ellerman
2016-08-09 13:01 ` Mimi Zohar
2016-08-09 13:01 ` Mimi Zohar
2016-08-09 13:19 ` Thiago Jung Bauermann
2016-08-09 13:19 ` Thiago Jung Bauermann
2016-08-09 13:35 ` David Laight
2016-08-09 13:35 ` David Laight
2016-08-09 13:35 ` David Laight
2016-08-09 14:02 ` Mimi Zohar
2016-08-09 14:02 ` Mimi Zohar
2016-08-09 13:55 ` Mimi Zohar
2016-08-09 13:55 ` Mimi Zohar
2016-08-09 14:06 ` Mimi Zohar
2016-08-09 14:06 ` Mimi Zohar
2016-08-09 23:13 ` Samuel Mendoza-Jonas
2016-08-09 23:13 ` Samuel Mendoza-Jonas
2016-08-10 3:41 ` Michael Ellerman
2016-08-10 3:41 ` Michael Ellerman
2016-08-10 5:05 ` Thiago Jung Bauermann
2016-08-10 5:05 ` Thiago Jung Bauermann
2016-08-10 9:52 ` Michael Ellerman
2016-08-10 9:52 ` Michael Ellerman
2016-08-10 12:54 ` Mimi Zohar [this message]
2016-08-10 12:54 ` Mimi Zohar
2016-08-10 14:32 ` [Linux-ima-devel] " Petko Manolov
2016-08-10 14:32 ` Petko Manolov
2016-08-10 14:40 ` David Laight
2016-08-10 14:40 ` David Laight
2016-08-10 14:40 ` David Laight
2016-08-10 15:48 ` Petko Manolov
2016-08-10 15:48 ` Petko Manolov
2016-08-04 12:24 ` [PATCH 2/7] ima: permit duplicate measurement list entries Mimi Zohar
2016-08-04 12:24 ` Mimi Zohar
2016-08-04 12:24 ` [PATCH 3/7] ima: maintain memory size needed for serializing the measurement list Mimi Zohar
2016-08-04 12:24 ` Mimi Zohar
2016-08-04 12:24 ` [PATCH 4/7] ima: serialize the binary_runtime_measurements Mimi Zohar
2016-08-04 12:24 ` Mimi Zohar
2016-08-04 12:24 ` [PATCH 5/7] ima: on soft reboot, save the measurement list Mimi Zohar
2016-08-04 12:24 ` Mimi Zohar
2016-08-04 12:24 ` [PATCH 6/7] ima: store the builtin/custom template definitions in a list Mimi Zohar
2016-08-04 12:24 ` Mimi Zohar
2016-08-04 12:24 ` [PATCH 7/7] ima: support restoring multiple template formats Mimi Zohar
2016-08-04 12:24 ` Mimi Zohar
2016-08-09 5:19 ` [PATCH 0/7] ima: carry the measurement list across kexec Balbir Singh
2016-08-09 5:19 ` Balbir Singh
2016-08-09 12:36 ` Mimi Zohar
2016-08-09 12:36 ` Mimi Zohar
2016-08-11 7:38 ` Balbir Singh
2016-08-11 7:38 ` Balbir Singh
2016-08-11 11:25 ` Mimi Zohar
2016-08-11 11:25 ` Mimi Zohar
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=1470833676.2881.183.camel@linux.vnet.ibm.com \
--to=zohar@linux.vnet.ibm.com \
--cc=bauerman@linux.vnet.ibm.com \
--cc=dyoung@redhat.com \
--cc=kexec@lists.infradead.org \
--cc=linux-ima-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
/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.