[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1572135202.4532.88.camel@linux.ibm.com>
Date: Sat, 26 Oct 2019 20:13:22 -0400
From: Mimi Zohar <zohar@...ux.ibm.com>
To: Lakshmi Ramasubramanian <nramas@...ux.microsoft.com>,
Nayna Jain <nayna@...ux.vnet.ibm.com>,
Nayna Jain <nayna@...ux.ibm.com>, linuxppc-dev@...abs.org,
linux-efi@...r.kernel.org, linux-integrity@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
Michael Ellerman <mpe@...erman.id.au>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Jeremy Kerr <jk@...abs.org>,
Matthew Garret <matthew.garret@...ula.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Claudio Carvalho <cclaudio@...ux.ibm.com>,
George Wilson <gcwilson@...ux.ibm.com>,
Elaine Palmer <erpalmer@...ibm.com>,
Eric Ricther <erichte@...ux.ibm.com>,
"Oliver O'Halloran" <oohall@...il.com>,
Prakhar Srivastava <prsriva02@...il.com>
Subject: Re: [PATCH v9 5/8] ima: make process_buffer_measurement() generic
On Fri, 2019-10-25 at 10:32 -0700, Lakshmi Ramasubramanian wrote:
>
> On 10/25/2019 10:24 AM, Nayna Jain wrote:
> >
> > On 10/24/19 10:20 AM, Lakshmi Ramasubramanian wrote:
> >> On 10/23/19 8:47 PM, Nayna Jain wrote:
> >>
> >> Hi Nayna,
> >>
> >>> +void process_buffer_measurement(const void *buf, int size,
> >>> + const char *eventname, enum ima_hooks func,
> >>> + int pcr)
> >>> {
> >>> int ret = 0;
> >>> struct ima_template_entry *entry = NULL;
> >>
> >>> + if (func) {
Let's comment this line. Perhaps something like /*Unnecessary for
auxiliary buffer measurements */
> >>> + security_task_getsecid(current, &secid);
> >>> + action = ima_get_action(NULL, current_cred(), secid, 0, func,
> >>> + &pcr, &template);
> >>> + if (!(action & IMA_MEASURE))
> >>> + return;
> >>> + }
> >>
> >> In your change set process_buffer_measurement is called with NONE for
> >> the parameter func. So ima_get_action (the above if block) will not be
> >> executed.
> >>
> >> Wouldn't it better to update ima_get_action (and related functions) to
> >> handle the ima policy (func param)?
> >
> >
> > The idea is to use ima-buf template for the auxiliary measurement
> > record. The auxiliary measurement record is an additional record to the
> > one already created based on the existing policy. When func is passed as
> > NONE, it represents it is an additional record. I am not sure what you
> > mean by updating ima_get_action, it is already handling the ima policy.
> >
>
> I was referring to using "func" in process_buffer_measurement to
> determine ima action. In my opinion, process_buffer_measurement should
> be generic.
>
> ima_get_action() should instead determine the required ima action,
> template, pcr, etc. based on "func" passed to it.
Nayna's original patch moved ima_get_action() into the caller, but
that resulted in code duplication in each of the callers. This
solution differentiates between the initial, which requires calling
ima_get_action(), and auxiliary buffer measurement records.
Mimi
Powered by blists - more mailing lists