summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-03-01 18:38:29 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-01 18:38:28 -0800
commit883bdb62f144902ce4d4c664018f2b89d934a77d (patch)
tree810ae73caa7351c05f6f59326d7d5af3dd7382d6 /drivers
parentfff128602348b2bebd69ceb552fd49c220272b72 (diff)
parentb10a386b8f57a637a74fc5d1441857d31437ee74 (diff)
Merge "msm: camera: isp: Check userspace parameters"
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c b/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c
index 5aa8a59128a8..1628c098622f 100644
--- a/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c
+++ b/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c
@@ -133,7 +133,7 @@ static void msm_ispif_get_pack_mask_from_cfg(
pack_mask[0] |= temp;
CDBG("%s:num %d cid %d mode %d pack_mask %x %x\n",
__func__, entry->num_cids, entry->cids[i],
- pack_cfg[i].pack_mode,
+ pack_cfg[entry->cids[i]].pack_mode,
pack_mask[0], pack_mask[1]);
}
@@ -166,6 +166,16 @@ static int msm_ispif_config2(struct ispif_device *ispif,
}
for (i = 0; i < params->num; i++) {
+ int j;
+
+ if (params->entries[i].num_cids > MAX_CID_CH_PARAM_ENTRY)
+ return -EINVAL;
+ for (j = 0; j < params->entries[i].num_cids; j++)
+ if (params->entries[i].cids[j] >= CID_MAX)
+ return -EINVAL;
+ }
+
+ for (i = 0; i < params->num; i++) {
intftype = params->entries[i].intftype;
vfe_intf = params->entries[i].vfe_intf;