mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
IMA: extend critical data hook to limit the measurement based on a label
The IMA hook ima_measure_critical_data() does not support a way to specify the source of the critical data provider. Thus, the data measurement cannot be constrained based on the data source label in the IMA policy. Extend the IMA hook ima_measure_critical_data() to support passing the data source label as an input parameter, so that the policy rule can be used to limit the measurements based on the label. Signed-off-by: Tushar Sugandhi <tusharsu@linux.microsoft.com> Reviewed-by: Tyler Hicks <tyhicks@linux.microsoft.com> Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
This commit is contained in:
committed by
Mimi Zohar
parent
47d76a4840
commit
9f5d7d23cc
@@ -945,6 +945,7 @@ void ima_kexec_cmdline(int kernel_fd, const void *buf, int size)
|
||||
|
||||
/**
|
||||
* ima_measure_critical_data - measure kernel integrity critical data
|
||||
* @event_label: unique event label for grouping and limiting critical data
|
||||
* @event_name: event name for the record in the IMA measurement list
|
||||
* @buf: pointer to buffer data
|
||||
* @buf_len: length of buffer data (in bytes)
|
||||
@@ -955,15 +956,16 @@ void ima_kexec_cmdline(int kernel_fd, const void *buf, int size)
|
||||
* structures, policies, and states stored in kernel memory that can
|
||||
* impact the integrity of the system.
|
||||
*/
|
||||
void ima_measure_critical_data(const char *event_name,
|
||||
void ima_measure_critical_data(const char *event_label,
|
||||
const char *event_name,
|
||||
const void *buf, size_t buf_len,
|
||||
bool hash)
|
||||
{
|
||||
if (!event_name || !buf || !buf_len)
|
||||
if (!event_name || !event_label || !buf || !buf_len)
|
||||
return;
|
||||
|
||||
process_buffer_measurement(NULL, buf, buf_len, event_name,
|
||||
CRITICAL_DATA, 0, NULL,
|
||||
CRITICAL_DATA, 0, event_label,
|
||||
hash);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user