[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <50235394-58da-18a6-c149-c385efa080cc@huawei.com>
Date: Mon, 20 May 2019 14:18:52 +0200
From: Roberto Sassu <roberto.sassu@...wei.com>
To: prakhar srivastava <prsriva02@...il.com>
CC: <linux-integrity@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
"Mimi Zohar" <zohar@...ux.ibm.com>, <ebiederm@...ssion.com>,
<vgoyal@...hat.com>, Prakhar Srivastava <prsriva@...rosoft.com>
Subject: Re: [PATCH 2/3 v5] add a new template field buf to contain the buffer
On 5/18/2019 1:32 AM, prakhar srivastava wrote:
> On Tue, May 14, 2019 at 6:22 AM Roberto Sassu <roberto.sassu@...wei.com> wrote:
>>
>> On 5/14/2019 7:07 AM, prakhar srivastava wrote:
>>> On Mon, May 13, 2019 at 6:48 AM Roberto Sassu <roberto.sassu@...wei.com> wrote:
>>>>
>>>> On 5/11/2019 12:37 AM, Prakhar Srivastava wrote:
>>>>> From: Prakhar Srivastava <prsriva02@...il.com>
>>>>>
>>>>> The buffer(cmdline args) added to the ima log cannot be attested
>>>>> without having the actual buffer. Thus to make the measured buffer
>>>>> available to store/read a new ima template (buf) is added.
>>>>
>>>> Hi Prakhar
>>>>
>>>> please fix the typos. More comments below.
>>>>
>>>>
>>>>> + buffer_event_data->type = IMA_XATTR_BUFFER;
>>>>> + buffer_event_data->buf_length = size;
>>>>> + memcpy(buffer_event_data->buf, buf, size);
>>>>> +
>>>>> + event_data.xattr_value = (struct evm_ima_xattr_data *)buffer_event_data;
>>>>> + event_data.xattr_len = alloc_length;
>>>>
>>>> I would prefer that you introduce two new fields in the ima_event_data
>>>> structure. You can initialize them directly with the parameters of
>>>> process_buffer_measurement().
>>> I will make the edits, this will definitely save the kzalloc in this code
>>> path.
>>>>
>>>> ima_write_template_field_data() will make
>>>> a copy.
>>>>
>>> Since event_data->type is used to distinguish what the template field
>>> should contain.
>>> Removing the type and subsequent check in the template_init,
>>> buf template fmt will result in the whole event_Data structure
>>> being added to the log, which is not the expected output.
>>> For buffer entries, the buf template fmt will contains the buffer itself.
>
>>
>> The purpose of ima_event_data is to pass data to the init method of
>> template fields. Each method takes the data it needs.
>>
>> If you pass event_data->buf and event_data->buf_len to
>> ima_write_template_field_data() this should be fine.
>
> Hi Roberto,
> I did some testing after making the needed code changes,
> the output is as expected the buf template field only contains
> the buf when the ima_event_data.buf is set.
>
> However i just want to double check if adding two new fields to
> the struct ima_event_data is approach you want me to take?
> Mimi any concerns?
I think it should not be a problem. ima_event_data was introduced to
pass more information to a function for a new template field, without
changing the definition of existing functions.
> what all tests do i need to run to confirm i am not
> in-inadvertently breaking some thing else?
ima_event_data is not used for marshaling/unmarshaling. Adding two new
members to the structure won't change the behavior of existing code.
Roberto
> Thanks,
> Prakhar Srivastava
>>
>> Roberto
>>
>>
>>>>> + .field_show = ima_show_template_buf},
>>>>
>>>> Please update Documentation/security/IMA-templates.rst
>>> Will update the documentation.
>>>
>>> Thanks,
>>> Prakhar Srivastava
>>>>
>>>> Thanks
>>>>
>>>> Roberto
>>
>> --
>> HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063
>> Managing Director: Bo PENG, Jian LI, Yanli SHI
--
HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063
Managing Director: Bo PENG, Jian LI, Yanli SHI
Powered by blists - more mailing lists