Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e85aeed authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: Fix arbitrary kernel write"

parents ccdf0081 d87b566e
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -570,15 +570,13 @@ static long msm_buf_mngr_subdev_ioctl(struct v4l2_subdev *sd,
		k_ioctl = *ptr;
		switch (k_ioctl.id) {
		case MSM_CAMERA_BUF_MNGR_IOCTL_ID_GET_BUF_BY_IDX: {
			struct msm_buf_mngr_info buf_info, *tmp = NULL;

			if (k_ioctl.size != sizeof(struct msm_buf_mngr_info))
				return -EINVAL;
			if (!k_ioctl.ioctl_ptr)
				return -EINVAL;
#ifndef CONFIG_COMPAT
			{
				struct msm_buf_mngr_info buf_info, *tmp = NULL;

			if (!is_compat_task()) {
				MSM_CAM_GET_IOCTL_ARG_PTR(&tmp,
					&k_ioctl.ioctl_ptr, sizeof(tmp));
				if (copy_from_user(&buf_info, tmp,
@@ -587,7 +585,7 @@ static long msm_buf_mngr_subdev_ioctl(struct v4l2_subdev *sd,
				}
				k_ioctl.ioctl_ptr = (uintptr_t)&buf_info;
			}
#endif

			argp = &k_ioctl;
			rc = msm_cam_buf_mgr_ops(cmd, argp);
			}