Replace call to kmalloc followed by memcpy with a direct call
to kmemdup to achieve same functionality.

Signed-off-by: Saiyam Doshi <saiyamdoshi...@gmail.com>
---
 security/integrity/ima/ima_policy.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/security/integrity/ima/ima_policy.c 
b/security/integrity/ima/ima_policy.c
index 6df7f641ff66..1bd77c5eaeb7 100644
--- a/security/integrity/ima/ima_policy.c
+++ b/security/integrity/ima/ima_policy.c
@@ -262,15 +262,14 @@ static struct ima_rule_entry *ima_lsm_copy_rule(struct 
ima_rule_entry *entry)
        struct ima_rule_entry *nentry;
        int i, result;
 
-       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, FIELD_SIZEOF(struct ima_rule_entry, lsm));
 
        for (i = 0; i < MAX_LSM_RULES; i++) {
-- 
2.20.1

Reply via email to