OSDN Git Service

msm: ais: cpp fix to check zero length ioctl
authorTerence Ho <terenceh@codeaurora.org>
Fri, 26 May 2017 19:05:07 +0000 (15:05 -0400)
committerAndy Sun <bins@codeaurora.org>
Wed, 31 May 2017 03:34:34 +0000 (11:34 +0800)
Port of ioctl validation for zero length ioctl
from camera_v2.

Change-Id: I635522f331d1e18641196ee3101c64ccc285636a
CRs-fixed: 2025367
Signed-off-by: Terence Ho <terenceh@codeaurora.org>
drivers/media/platform/msm/ais/pproc/cpp/msm_cpp.c

index c9cb008..811ac98 100644 (file)
@@ -2889,6 +2889,8 @@ static int msm_cpp_validate_input(unsigned int cmd, void *arg,
        case MSM_SD_SHUTDOWN:
        case MSM_SD_NOTIFY_FREEZE:
        case MSM_SD_UNNOTIFY_FREEZE:
+       case VIDIOC_MSM_CPP_IOMMU_ATTACH:
+       case VIDIOC_MSM_CPP_IOMMU_DETACH:
                break;
        default: {
                if (ioctl_ptr == NULL) {
@@ -2897,8 +2899,9 @@ static int msm_cpp_validate_input(unsigned int cmd, void *arg,
                }
 
                *ioctl_ptr = arg;
-               if ((*ioctl_ptr == NULL) ||
-                       (*ioctl_ptr)->ioctl_ptr == NULL) {
+               if (((*ioctl_ptr) == NULL) ||
+                       ((*ioctl_ptr)->ioctl_ptr == NULL) ||
+                       ((*ioctl_ptr)->len == 0)) {
                        pr_err("Error invalid ioctl argument cmd %u", cmd);
                        return -EINVAL;
                }