aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ima.h
diff options
context:
space:
mode:
authorTushar Sugandhi <tusharsu@linux.microsoft.com>2021-01-07 20:07:06 -0800
committerMimi Zohar <zohar@linux.ibm.com>2021-01-14 23:41:38 -0500
commit9f5d7d23cc5ec61a92076b73665fcb9aaa5bb5a0 (patch)
tree9316944e029c026b05f592657a08e7ff146caa47 /include/linux/ima.h
parentIMA: limit critical data measurement based on a label (diff)
downloadlinux-dev-9f5d7d23cc5ec61a92076b73665fcb9aaa5bb5a0.tar.xz
linux-dev-9f5d7d23cc5ec61a92076b73665fcb9aaa5bb5a0.zip
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>
Diffstat (limited to 'include/linux/ima.h')
-rw-r--r--include/linux/ima.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/ima.h b/include/linux/ima.h
index 59bd90ac3c35..2ac834badbbe 100644
--- a/include/linux/ima.h
+++ b/include/linux/ima.h
@@ -31,7 +31,8 @@ extern void ima_post_path_mknod(struct dentry *dentry);
extern int ima_file_hash(struct file *file, char *buf, size_t buf_size);
extern int ima_inode_hash(struct inode *inode, char *buf, size_t buf_size);
extern void ima_kexec_cmdline(int kernel_fd, const void *buf, int size);
-extern void ima_measure_critical_data(const char *event_name,
+extern void ima_measure_critical_data(const char *event_label,
+ const char *event_name,
const void *buf, size_t buf_len,
bool hash);
@@ -132,9 +133,11 @@ static inline int ima_inode_hash(struct inode *inode, char *buf, size_t buf_size
static inline void ima_kexec_cmdline(int kernel_fd, const void *buf, int size) {}
-static inline void ima_measure_critical_data(const char *event_name,
+static inline void ima_measure_critical_data(const char *event_label,
+ const char *event_name,
const void *buf, size_t buf_len,
bool hash) {}
+
#endif /* CONFIG_IMA */
#ifndef CONFIG_IMA_KEXEC