diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-06-22 07:40:16 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-06-22 07:40:15 -0700 |
| commit | dcb27d45f06abf2fb0107b553d8f2e0415c9a257 (patch) | |
| tree | ffae3fbe94ef17d8d4c1ea9cdc147b27af83fdb8 | |
| parent | 870d3e21b39ba06bb0ab42c1ac27eb3640612b01 (diff) | |
| parent | 2bb9125153a2998081737823ff088fa0871683a7 (diff) | |
Merge "msm: camera: fix untrusted pointer for power down setting"
| -rw-r--r-- | drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c b/drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c index 80c15717325c..18a2bac96a89 100644 --- a/drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c +++ b/drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c @@ -413,17 +413,11 @@ static int32_t msm_sensor_create_pd_settings(void *setting, #ifdef CONFIG_COMPAT if (is_compat_task()) { - int i = 0; - struct msm_sensor_power_setting32 *power_setting_iter = - (struct msm_sensor_power_setting32 *)compat_ptr(( - (struct msm_camera_sensor_slave_info32 *)setting)-> - power_setting_array.power_setting); - - for (i = 0; i < size_down; i++) { - pd[i].config_val = power_setting_iter[i].config_val; - pd[i].delay = power_setting_iter[i].delay; - pd[i].seq_type = power_setting_iter[i].seq_type; - pd[i].seq_val = power_setting_iter[i].seq_val; + rc = msm_sensor_get_pw_settings_compat( + pd, pu, size_down); + if (rc < 0) { + pr_err("failed"); + return -EFAULT; } } else #endif |
