diff options
author | Abhishek Kondaveeti <akondave@codeaurora.org> | 2016-04-12 15:50:57 +0530 |
---|---|---|
committer | Kyle Yan <kyan@codeaurora.org> | 2016-06-22 14:41:29 -0700 |
commit | aa540b624d39bb6017601aeae95159b65b375e23 (patch) | |
tree | fb6acb08c2c98d9d2d88f52d2cc2e2557fdb7f5e /drivers | |
parent | b5bb5c7d6fbba20566d8a3d59842fc51c64e5372 (diff) |
msm: isp: Avoid unaligned register access
Unaligned register access will reslut in device
crash. Avoid them by checking the register address
before accessing them.
Change-Id: Ib58efa2a68115ec9929b9270c123c904737196ee
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c index 83c5a7d43cac..be1d299956d7 100644 --- a/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c +++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c @@ -976,7 +976,8 @@ static int msm_isp_send_hw_cmd(struct vfe_device *vfe_dev, (UINT_MAX - reg_cfg_cmd->u.rw_info.len)) || ((reg_cfg_cmd->u.rw_info.reg_offset + reg_cfg_cmd->u.rw_info.len) > - vfe_dev->vfe_base_size)) { + vfe_dev->vfe_base_size) || + (reg_cfg_cmd->u.rw_info.reg_offset & 0x3)) { pr_err("%s:%d reg_offset %d len %d res %d\n", __func__, __LINE__, reg_cfg_cmd->u.rw_info.reg_offset, @@ -1076,7 +1077,8 @@ static int msm_isp_send_hw_cmd(struct vfe_device *vfe_dev, reg_cfg_cmd->u.mask_info.reg_offset) || (vfe_dev->vfe_base_size < reg_cfg_cmd->u.mask_info.reg_offset + - sizeof(temp))) { + sizeof(temp)) || + (reg_cfg_cmd->u.mask_info.reg_offset & 0x3)) { pr_err("%s: VFE_CFG_MASK: Invalid length\n", __func__); return -EINVAL; } |