[PATCH 0/3] ima: Provide more info about buffer measurement

From: Roberto Sassu
Date: Wed Jun 30 2021 - 10:16:56 EST


This patch set provides more information about buffer measurement.

First, it introduces the new function ima_get_current_hash_algo(), to
obtain the algorithm used to calculate the buffer digest (patch 1).

Second, it changes the type of return value of ima_measure_critical_data()
and process_buffer_measurement() from void to int, to signal to the callers
whether or not the buffer has been measured, or just the digest has been
calculated and written to the supplied location (patch 2).

Lastly, it adds a new parameter to the functions above, so that those
functions can write the buffer digest to the location supplied by the
callers (patch 3).

This patch set replaces the patch 'ima: Add digest, algo, measured
parameters to ima_measure_critical_data()' in:

https://lore.kernel.org/linux-integrity/20210625165614.2284243-1-roberto.sassu@xxxxxxxxxx/

Changelog

Huawei Digest Lists patch set:
- introduce ima_get_current_hash_algo() (suggested by Mimi)
- remove algo and measured parameters from ima_measure_critical_data() and
process_buffer_measurement() (suggested by Mimi)
- return an integer from ima_measure_critical_data() and
process_buffer_measurement() (suggested by Mimi)
- correctly check when process_buffer_measurement() should return earlier

Roberto Sassu (3):
ima: Introduce ima_get_current_hash_algo()
ima: Return int in the functions to measure a buffer
ima: Add digest parameter to the functions to measure a buffer

include/linux/ima.h | 22 +++++--
security/integrity/ima/ima.h | 10 +--
security/integrity/ima/ima_appraise.c | 6 +-
security/integrity/ima/ima_asymmetric_keys.c | 6 +-
security/integrity/ima/ima_init.c | 6 +-
security/integrity/ima/ima_main.c | 66 +++++++++++++-------
security/integrity/ima/ima_queue_keys.c | 15 ++---
security/selinux/ima.c | 10 +--
8 files changed, 92 insertions(+), 49 deletions(-)

--
2.25.1