[PATCH v3 7/7] ima: measure kexec load and exec events as critical data
Tushar Sugandhi
tusharsu at linux.microsoft.com
Thu Jan 11 09:56:03 PST 2024
On 1/7/24 06:24, Mimi Zohar wrote:
> On Fri, 2024-01-05 at 12:22 -0800, Tushar Sugandhi wrote:
>>>> @@ -194,6 +206,15 @@ static int ima_update_kexec_buffer(struct notifier_block *self,
>>>> return ret;
>>>> }
>>>>
>>>> + buf_size = ima_get_binary_runtime_size();
>>>> + scnprintf(ima_kexec_event, IMA_KEXEC_EVENT_LEN,
>>>> + "kexec_segment_size=%lu;ima_binary_runtime_size=%lu;",
>>>> + kexec_segment_size, buf_size);
>>>> +
>>>> + ima_measure_critical_data("ima_kexec", "kexec_execute",
>>>> + ima_kexec_event, strlen(ima_kexec_event),
>>>> + false, NULL, 0);
>>>> +
>>>
>>> Please consider including the number of measurement records as well.
>> Will do. I think that would be valuable information.
>>
>> Per my understanding, I will have to use the function
>> ima_show_measurements_count() or ima_show_htable_value() to get the
>> number of measurement records value[1]. So I will have to expose that
>> function from "ima_fs.c" to "ima_kexec.c". Hope that's ok.
>>
>> [1]
>> https://elixir.bootlin.com/linux/latest/sourcesecurity/integrity/ima/ima_fs.c
>>
>>
>> static ssize_t ima_show_measurements_count(struct file *filp,
>> char __user *buf,
>> size_t count, loff_t *ppos)
>> {
>> return ima_show_htable_value(buf, count, ppos, &ima_htable.len);
>
> I don't see a need to expose this function. ima_htable is defined in ima.h.
> You can read the ima_htable.len directly, as ima_show_htable_value does.
>
Agreed. Thanks for the pointer.
That's what I concluded too when I was implementing this change.
I will use ima_htable.len directly.
~Tushar
More information about the kexec
mailing list