drm/msm/adreno: adreno_gpu: Switch to memdup_user_nul() helper
authorRuan Jinjie <ruanjinjie@huawei.com>
Thu, 10 Aug 2023 12:04:24 +0000 (20:04 +0800)
committerRob Clark <robdclark@chromium.org>
Thu, 10 Aug 2023 17:42:54 +0000 (10:42 -0700)
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>
drivers/gpu/drm/msm/adreno/adreno_gpu.c

index 695cce82d9148894ac58489be15113a2995af588..8090dde032808244cb9eccabcfb313eb61189acb 100644 (file)
@@ -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);