drm/msm/gem: Add check for kmalloc
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Mon, 12 Dec 2022 09:11:17 +0000 (17:11 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:23 +0000 (09:39 +0100)
[ Upstream commit d839f0811a31322c087a859c2b181e2383daa7be ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/msm_gem_submit.c

index 1f74bab9e231aab2ff5bdf1fc3c7404a8664d34f..83e6ccad77286f297e2b214ffc96865368e8cdc8 100644 (file)
@@ -220,6 +220,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;