ima: Use designated initializers for struct ima_event_data
authorThiago Jung Bauermann <bauerman@linux.ibm.com>
Tue, 11 Jun 2019 06:28:10 +0000 (03:28 -0300)
committerMimi Zohar <zohar@linux.ibm.com>
Fri, 14 Jun 2019 13:02:44 +0000 (09:02 -0400)
Designated initializers allow specifying only the members of the struct
that need initialization. Non-mentioned members are initialized to zero.

This makes the code a bit clearer (particularly in ima_add_boot_aggregate)
and also allows adding a new member to the struct without having to update
all struct initializations.

Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
security/integrity/ima/ima_api.c
security/integrity/ima/ima_init.c

index c7505fb..4aec6b0 100644 (file)
@@ -133,8 +133,10 @@ void ima_add_violation(struct file *file, const unsigned char *filename,
 {
        struct ima_template_entry *entry;
        struct inode *inode = file_inode(file);
-       struct ima_event_data event_data = {iint, file, filename, NULL, 0,
-                                           cause};
+       struct ima_event_data event_data = { .iint = iint,
+                                            .file = file,
+                                            .filename = filename,
+                                            .violation = cause };
        int violation = 1;
        int result;
 
@@ -284,8 +286,11 @@ void ima_store_measurement(struct integrity_iint_cache *iint,
        int result = -ENOMEM;
        struct inode *inode = file_inode(file);
        struct ima_template_entry *entry;
-       struct ima_event_data event_data = {iint, file, filename, xattr_value,
-                                           xattr_len, NULL};
+       struct ima_event_data event_data = { .iint = iint,
+                                            .file = file,
+                                            .filename = filename,
+                                            .xattr_value = xattr_value,
+                                            .xattr_len = xattr_len };
        int violation = 0;
 
        if (iint->measured_pcrs & (0x1 << pcr))
index 6c92954..ef6c3a2 100644 (file)
@@ -49,8 +49,8 @@ static int __init ima_add_boot_aggregate(void)
        const char *audit_cause = "ENOMEM";
        struct ima_template_entry *entry;
        struct integrity_iint_cache tmp_iint, *iint = &tmp_iint;
-       struct ima_event_data event_data = {iint, NULL, boot_aggregate_name,
-                                           NULL, 0, NULL};
+       struct ima_event_data event_data = { .iint = iint,
+                                            .filename = boot_aggregate_name };
        int result = -ENOMEM;
        int violation = 0;
        struct {