From 3114739e59c39d4c3620c42e28fcc3794961c000 Mon Sep 17 00:00:00 2001 From: Abhilash Mahapatra Date: Thu, 9 Feb 2023 16:28:33 +0530 Subject: [PATCH] msm: camera: cci: Number of CCI masters index validation Number of CCI masters index validation to avoid out of bound array indices access. CRs-Fixed: 3381768 Change-Id: I14d4a111cc5c7dab17d071446cddccd7651389a3 Signed-off-by: Abhilash Mahapatra --- drivers/cam_sensor_module/cam_cci/cam_cci_core.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/cam_sensor_module/cam_cci/cam_cci_core.c b/drivers/cam_sensor_module/cam_cci/cam_cci_core.c index a0e7f56baf..eadf8fdcfb 100644 --- a/drivers/cam_sensor_module/cam_cci/cam_cci_core.c +++ b/drivers/cam_sensor_module/cam_cci/cam_cci_core.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved. - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. */ #include @@ -1519,6 +1519,13 @@ static int32_t cam_cci_i2c_write(struct v4l2_subdev *sd, return -EINVAL; } master = c_ctrl->cci_info->cci_i2c_master; + if (master >= MASTER_MAX || master < 0) { + CAM_ERR(CAM_CCI, "CCI%d_I2C_M%d Invalid I2C master addr", + cci_dev->soc_info.index, + master); + return -EINVAL; + } + CAM_DBG(CAM_CCI, "CCI%d_I2C_M%d_Q%d set param sid 0x%x retries %d id_map %d", cci_dev->soc_info.index, master, queue, c_ctrl->cci_info->sid, c_ctrl->cci_info->retries, c_ctrl->cci_info->id_map);