OSDN Git Service

drm/msm/gem: Add check for kmalloc
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Mon, 12 Dec 2022 09:11:17 +0000 (17:11 +0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Wed, 18 Jan 2023 01:07:07 +0000 (03:07 +0200)
Add the check for the return value of kmalloc in order to avoid
NULL pointer dereference in copy_from_user.

Fixes: 20224d715a88 ("drm/msm/submit: Move copy_from_user ahead of locking bos")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/514678/
Link: https://lore.kernel.org/r/20221212091117.43511-1-jiasheng@iscas.ac.cn
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/msm_gem_submit.c

index 45a3e5c..7c2cc12 100644 (file)
@@ -209,6 +209,10 @@ static int submit_lookup_cmds(struct msm_gem_submit *submit,
                        goto out;
                }
                submit->cmd[i].relocs = kmalloc(sz, GFP_KERNEL);
+               if (!submit->cmd[i].relocs) {
+                       ret = -ENOMEM;
+                       goto out;
+               }
                ret = copy_from_user(submit->cmd[i].relocs, userptr, sz);
                if (ret) {
                        ret = -EFAULT;