Browse Source

msm: camera: isp: Validate the ife bw blob data

If ife bandwidth number of paths configuration is zero then do not
proceed. Number of bandwidth paths should be minimum one and
should not be greater than max value.

CRs-Fixed: 2801769
Change-Id: I2bf5cd4ea76ca7ecd9ca968bced2957a76691001
Signed-off-by: Ayush Kumar <[email protected]>
Ayush Kumar 4 years ago
parent
commit
ed6a1ed193
1 changed files with 6 additions and 3 deletions
  1. 6 3
      drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c

+ 6 - 3
drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c

@@ -5962,7 +5962,8 @@ static int cam_isp_packet_generic_blob_handler(void *user_data,
 
 
 		if (!prepare || !prepare->priv ||
 		if (!prepare || !prepare->priv ||
 			(bw_config->usage_type >= CAM_IFE_HW_NUM_MAX)) {
 			(bw_config->usage_type >= CAM_IFE_HW_NUM_MAX)) {
-			CAM_ERR(CAM_ISP, "Invalid inputs");
+			CAM_ERR(CAM_ISP, "Invalid inputs usage type %d",
+				bw_config->usage_type);
 			return -EINVAL;
 			return -EINVAL;
 		}
 		}
 
 
@@ -5987,7 +5988,8 @@ static int cam_isp_packet_generic_blob_handler(void *user_data,
 
 
 		bw_config = (struct cam_isp_bw_config_v2 *)blob_data;
 		bw_config = (struct cam_isp_bw_config_v2 *)blob_data;
 
 
-		if (bw_config->num_paths > CAM_ISP_MAX_PER_PATH_VOTES) {
+		if (bw_config->num_paths > CAM_ISP_MAX_PER_PATH_VOTES ||
+			!bw_config->num_paths) {
 			CAM_ERR(CAM_ISP, "Invalid num paths %d",
 			CAM_ERR(CAM_ISP, "Invalid num paths %d",
 				bw_config->num_paths);
 				bw_config->num_paths);
 			return -EINVAL;
 			return -EINVAL;
@@ -6022,7 +6024,8 @@ static int cam_isp_packet_generic_blob_handler(void *user_data,
 
 
 		if (!prepare || !prepare->priv ||
 		if (!prepare || !prepare->priv ||
 			(bw_config->usage_type >= CAM_IFE_HW_NUM_MAX)) {
 			(bw_config->usage_type >= CAM_IFE_HW_NUM_MAX)) {
-			CAM_ERR(CAM_ISP, "Invalid inputs");
+			CAM_ERR(CAM_ISP, "Invalid inputs usage type %d",
+				bw_config->usage_type);
 			return -EINVAL;
 			return -EINVAL;
 		}
 		}