powerpc/powernv: use memdup_user

Use memdup_user() helper instead of open-coding to simplify the code.

Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Geliang Tang 2017-04-29 09:45:14 +08:00 committed by Michael Ellerman
parent 31f8eb7535
commit 5588b29a5c

View File

@ -241,15 +241,9 @@ static ssize_t opal_prd_write(struct file *file, const char __user *buf,
size = be16_to_cpu(hdr.size);
msg = kmalloc(size, GFP_KERNEL);
if (!msg)
return -ENOMEM;
rc = copy_from_user(msg, buf, size);
if (rc) {
size = -EFAULT;
goto out_free;
}
msg = memdup_user(buf, size);
if (IS_ERR(msg))
return PTR_ERR(msg);
rc = opal_prd_msg(msg);
if (rc) {
@ -257,7 +251,6 @@ static ssize_t opal_prd_write(struct file *file, const char __user *buf,
size = -EIO;
}
out_free:
kfree(msg);
return size;