summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuan Jinjie <ruanjinjie@huawei.com>2023-08-10 20:04:24 +0800
committerRob Clark <robdclark@chromium.org>2023-08-10 10:42:54 -0700
commita895037e1e98cd71f31ef3e4f266fb19d577b621 (patch)
tree7cd21e4eb10247379b9798261ab261ad3a77fafa
parent42854f8d2bff3f3a36f8f1c985c69618a13ed9ec (diff)
downloadlinux-stable-a895037e1e98cd71f31ef3e4f266fb19d577b621.tar.gz
linux-stable-a895037e1e98cd71f31ef3e4f266fb19d577b621.tar.bz2
linux-stable-a895037e1e98cd71f31ef3e4f266fb19d577b621.zip
drm/msm/adreno: adreno_gpu: 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> Reviewed-by: Bjorn Andersson <quic_bjorande@quicinc.com> Patchwork: https://patchwork.freedesktop.org/patch/552130/ Signed-off-by: Rob Clark <robdclark@chromium.org>
-rw-r--r--drivers/gpu/drm/msm/adreno/adreno_gpu.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
index 695cce82d914..8090dde03280 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
@@ -397,17 +397,9 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
case MSM_PARAM_CMDLINE: {
char *str, **paramp;
- str = kmalloc(len + 1, GFP_KERNEL);
- if (!str)
- return -ENOMEM;
-
- if (copy_from_user(str, u64_to_user_ptr(value), len)) {
- kfree(str);
- return -EFAULT;
- }
-
- /* Ensure string is null terminated: */
- str[len] = '\0';
+ str = memdup_user_nul(u64_to_user_ptr(value), len);
+ if (IS_ERR(str))
+ return PTR_ERR(str);
mutex_lock(&gpu->lock);