Message ID | 20190418035120.2354-7-bauerman@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Appended signatures support for IMA appraisal | expand |
On Thu, 2019-04-18 at 00:51 -0300, Thiago Jung Bauermann wrote: > 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> Reviewed-by: Mimi Zohar <zohar@linux.ibm.com> > --- > security/integrity/ima/ima_api.c | 11 +++++++---- > security/integrity/ima/ima_init.c | 4 ++-- > 2 files changed, 9 insertions(+), 6 deletions(-) > > diff --git a/security/integrity/ima/ima_api.c b/security/integrity/ima/ima_api.c > index c7505fb122d4..0639d0631f2c 100644 > --- a/security/integrity/ima/ima_api.c > +++ b/security/integrity/ima/ima_api.c > @@ -133,8 +133,9 @@ 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 +285,10 @@ 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)) > diff --git a/security/integrity/ima/ima_init.c b/security/integrity/ima/ima_init.c > index 6c9295449751..ef6c3a26296e 100644 > --- a/security/integrity/ima/ima_init.c > +++ b/security/integrity/ima/ima_init.c > @@ -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 {
diff --git a/security/integrity/ima/ima_api.c b/security/integrity/ima/ima_api.c index c7505fb122d4..0639d0631f2c 100644 --- a/security/integrity/ima/ima_api.c +++ b/security/integrity/ima/ima_api.c @@ -133,8 +133,9 @@ 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 +285,10 @@ 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)) diff --git a/security/integrity/ima/ima_init.c b/security/integrity/ima/ima_init.c index 6c9295449751..ef6c3a26296e 100644 --- a/security/integrity/ima/ima_init.c +++ b/security/integrity/ima/ima_init.c @@ -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 {
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> --- security/integrity/ima/ima_api.c | 11 +++++++---- security/integrity/ima/ima_init.c | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-)