summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJordan Crouse <jcrouse@codeaurora.org>2019-02-19 11:40:19 -0700
committerRob Clark <robdclark@gmail.com>2019-02-19 14:54:08 -0500
commit860433ed2a55dcd18f36c61b3c4fdb12dc76c869 (patch)
tree86a3ec5a53285fa192fd0a6ab8d99ecf4797cb27 /drivers
parent7cce8e4efe5e782e130f79f8d55fdad48f2db52d (diff)
downloadlinux-860433ed2a55dcd18f36c61b3c4fdb12dc76c869.tar.gz
drm/msm: Truncate the buffer object name if the copy from user failed
(Resend since there was a compile error that I forgot to commit before sending) If there is a error while doing a copy_from_user() for MSM_INFO_SET_NAME make sure to truncate the object name so that there isn't a chance that we'll have random data in the string. This is on top of [1] reported and fixed by Dan Carpenter. [1] https://patchwork.freedesktop.org/series/56656/ Fixes: f05c83e77460 ("drm/msm: add uapi to get/set debug name") Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/msm/msm_drv.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 87eae44a1006..906b2bb79f6a 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -852,8 +852,11 @@ static int msm_ioctl_gem_info(struct drm_device *dev, void *data,
break;
}
if (copy_from_user(msm_obj->name, u64_to_user_ptr(args->value),
- args->len))
+ args->len)) {
+ msm_obj->name[0] = '\0';
ret = -EFAULT;
+ break;
+ }
msm_obj->name[args->len] = '\0';
for (i = 0; i < args->len; i++) {
if (!isprint(msm_obj->name[i])) {