ima: use static const char array definitions
authorMimi Zohar <zohar@linux.vnet.ibm.com>
Wed, 11 Dec 2013 19:44:04 +0000 (14:44 -0500)
committerMimi Zohar <zohar@linux.vnet.ibm.com>
Fri, 7 Mar 2014 16:30:36 +0000 (11:30 -0500)
A const char pointer allocates memory for a pointer as well as for
a string,  This patch replaces a number of the const char pointers
throughout IMA, with a static const char array.

Suggested-by: David Howells <dhowells@redhat.com>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
security/integrity/ima/ima_api.c
security/integrity/ima/ima_appraise.c
security/integrity/ima/ima_init.c
security/integrity/ima/ima_policy.c

index 6d76d4a015038a2f778e916545f0e3ee38051c2d..393b9d46c472d68ab0d69f4a66fa15aeb702a580 100644 (file)
@@ -92,8 +92,8 @@ int ima_store_template(struct ima_template_entry *entry,
                       int violation, struct inode *inode,
                       const unsigned char *filename)
 {
-       const char *op = "add_template_measure";
-       const char *audit_cause = "hashing_error";
+       static const char op[] = "add_template_measure";
+       static const char audit_cause[] = "hashing_error";
        char *template_name = entry->template_desc->name;
        int result;
        struct {
@@ -260,8 +260,8 @@ void ima_store_measurement(struct integrity_iint_cache *iint,
                           struct evm_ima_xattr_data *xattr_value,
                           int xattr_len)
 {
-       const char *op = "add_template_measure";
-       const char *audit_cause = "ENOMEM";
+       static const char op[] = "add_template_measure";
+       static const char audit_cause[] = "ENOMEM";
        int result = -ENOMEM;
        struct inode *inode = file_inode(file);
        struct ima_template_entry *entry;
index 734e9468aca01c9a3724a57136f6d8bf371951f3..291bf0f3a46d7989c1d4cf77fdba0237a6d0fb1f 100644 (file)
@@ -177,11 +177,11 @@ int ima_appraise_measurement(int func, struct integrity_iint_cache *iint,
                             struct evm_ima_xattr_data *xattr_value,
                             int xattr_len)
 {
+       static const char op[] = "appraise_data";
+       char *cause = "unknown";
        struct dentry *dentry = file->f_dentry;
        struct inode *inode = dentry->d_inode;
        enum integrity_status status = INTEGRITY_UNKNOWN;
-       const char *op = "appraise_data";
-       char *cause = "unknown";
        int rc = xattr_len, hash_start = 0;
 
        if (!ima_appraise)
index 37122768554a9e69d4866f9c9a72864f157afef3..315f2b96496fd689e764ce6dcc03f1660b6fdb85 100644 (file)
@@ -42,10 +42,10 @@ int ima_used_chip;
  */
 static void __init ima_add_boot_aggregate(void)
 {
+       static const char op[] = "add_boot_aggregate";
+       const char *audit_cause = "ENOMEM";
        struct ima_template_entry *entry;
        struct integrity_iint_cache tmp_iint, *iint = &tmp_iint;
-       const char *op = "add_boot_aggregate";
-       const char *audit_cause = "ENOMEM";
        int result = -ENOMEM;
        int violation = 0;
        struct {
index 354b125c6c9fa93535e7d67ce445ccef4b259e62..3f6b8a466368e01052d466aa826658fec78d5556 100644 (file)
@@ -329,7 +329,7 @@ void __init ima_init_policy(void)
  */
 void ima_update_policy(void)
 {
-       const char *op = "policy_update";
+       static const char op[] = "policy_update";
        const char *cause = "already exists";
        int result = 1;
        int audit_info = 0;
@@ -645,7 +645,7 @@ static int ima_parse_rule(char *rule, struct ima_rule_entry *entry)
  */
 ssize_t ima_parse_add_rule(char *rule)
 {
-       const char *op = "update_policy";
+       static const char op[] = "update_policy";
        char *p;
        struct ima_rule_entry *entry;
        ssize_t result, len;
This page took 0.02989 seconds and 5 git commands to generate.