ima: Use kmemdup rather than kmalloc+memcpy
authorAlex Dewar <alex.dewar90@gmail.com>
Wed, 9 Sep 2020 19:09:06 +0000 (20:09 +0100)
committerMimi Zohar <zohar@linux.ibm.com>
Tue, 15 Sep 2020 13:57:48 +0000 (09:57 -0400)
Issue identified with Coccinelle.

Signed-off-by: Alex Dewar <alex.dewar90@gmail.com>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
security/integrity/ima/ima_policy.c

index 3422178..5b4bf17 100644 (file)
@@ -353,15 +353,14 @@ static struct ima_rule_entry *ima_lsm_copy_rule(struct ima_rule_entry *entry)
        struct ima_rule_entry *nentry;
        int i;
 
-       nentry = kmalloc(sizeof(*nentry), GFP_KERNEL);
-       if (!nentry)
-               return NULL;
-
        /*
         * Immutable elements are copied over as pointers and data; only
         * lsm rules can change
         */
-       memcpy(nentry, entry, sizeof(*nentry));
+       nentry = kmemdup(entry, sizeof(*nentry), GFP_KERNEL);
+       if (!nentry)
+               return NULL;
+
        memset(nentry->lsm, 0, sizeof_field(struct ima_rule_entry, lsm));
 
        for (i = 0; i < MAX_LSM_RULES; i++) {