From: Markus Elfring Date: Sun, 21 Aug 2016 18:17:36 +0000 (+0200) Subject: Smack: Use memdup_user() rather than duplicating its implementation X-Git-Tag: v4.9-rc1~130^2~25^2~1 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=63e24c497158c066583b9c06378d89ace694265a;p=karo-tx-linux.git Smack: Use memdup_user() rather than duplicating its implementation Reuse existing functionality from memdup_user() instead of keeping duplicate source code. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring Acked-by: Casey Schaufler --- diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c index e249a66db533..6492fe96cae4 100644 --- a/security/smack/smackfs.c +++ b/security/smack/smackfs.c @@ -2523,14 +2523,9 @@ static ssize_t smk_write_revoke_subj(struct file *file, const char __user *buf, if (count == 0 || count > SMK_LONGLABEL) return -EINVAL; - data = kzalloc(count, GFP_KERNEL); - if (data == NULL) - return -ENOMEM; - - if (copy_from_user(data, buf, count) != 0) { - rc = -EFAULT; - goto out_data; - } + data = memdup_user(buf, count); + if (IS_ERR(data)) + return PTR_ERR(data); cp = smk_parse_smack(data, count); if (IS_ERR(cp)) {