diff options
author | Ruan Jinjie <ruanjinjie@huawei.com> | 2023-08-10 20:20:12 +0800 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2023-08-21 14:00:38 +0200 |
commit | 4316c64085ba04c124384adbd3373257ad2c7bfc (patch) | |
tree | 61d2a2296f7894018230e506c951856e45d57dce /drivers/platform/x86 | |
parent | 65c6ea33e7f63799090158866cdcfdfe8d63ce16 (diff) |
platform/x86: thinkpad_acpi: Switch to memdup_user_nul() helper
Use memdup_user_nul() helper instead of open-coding to simplify the code.
Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
Link: https://lore.kernel.org/r/20230810122012.2110410-1-ruanjinjie@huawei.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/platform/x86')
-rw-r--r-- | drivers/platform/x86/thinkpad_acpi.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 25cc86a4a36a..34b8b3fb5444 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -913,16 +913,9 @@ static ssize_t dispatch_proc_write(struct file *file, if (count > PAGE_SIZE - 1) return -EINVAL; - kernbuf = kmalloc(count + 1, GFP_KERNEL); - if (!kernbuf) - return -ENOMEM; - - if (copy_from_user(kernbuf, userbuf, count)) { - kfree(kernbuf); - return -EFAULT; - } - - kernbuf[count] = 0; + kernbuf = memdup_user_nul(userbuf, count); + if (IS_ERR(kernbuf)) + return PTR_ERR(kernbuf); ret = ibm->write(kernbuf); if (ret == 0) ret = count; |