diff options
author | Alex Dewar <alex.dewar90@gmail.com> | 2020-09-09 21:09:06 +0200 |
---|---|---|
committer | Mimi Zohar <zohar@linux.ibm.com> | 2020-09-15 15:57:48 +0200 |
commit | f60c826d031817772b634c0cda37794ce6d7946a (patch) | |
tree | e26c876c637443ae896c42f7a915db5eb6b7f512 | |
parent | integrity: include keyring name for unknown key request (diff) | |
download | linux-f60c826d031817772b634c0cda37794ce6d7946a.tar.xz linux-f60c826d031817772b634c0cda37794ce6d7946a.zip |
ima: Use kmemdup rather than kmalloc+memcpy
Issue identified with Coccinelle.
Signed-off-by: Alex Dewar <alex.dewar90@gmail.com>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
-rw-r--r-- | security/integrity/ima/ima_policy.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c index 34221789c092..5b4bf1790e47 100644 --- a/security/integrity/ima/ima_policy.c +++ b/security/integrity/ima/ima_policy.c @@ -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++) { |