On Tue, May 14, 2019 at 6:22 AM Roberto Sassu <roberto.sassu@xxxxxxxxxx> wrote: > > On 5/14/2019 7:07 AM, prakhar srivastava wrote: > > On Mon, May 13, 2019 at 6:48 AM Roberto Sassu <roberto.sassu@xxxxxxxxxx> wrote: > >> > >> On 5/11/2019 12:37 AM, Prakhar Srivastava wrote: > >>> From: Prakhar Srivastava <prsriva02@xxxxxxxxx> > >>> > >>> 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? what all tests do i need to run to confirm i am not in-inadvertently breaking some thing else? 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