From 8abb54dcb19e6f7ad8596a83adbdf53b20621730 Mon Sep 17 00:00:00 2001 From: Karthik Jayakumar Date: Tue, 23 Feb 2021 16:45:30 -0800 Subject: [PATCH] msm: camera: cdm: Fix of_match table null entry global-out-of-bounds issue on: msm_cam_hw_cdm_dt_match Due to no null-terminating struct in the array. CRs-Fixed: 2883523 Change-Id: I36e4811f239993e1e6de158df959157217c28bfe Signed-off-by: Karthik Jayakumar --- drivers/cam_cdm/cam_cdm_hw_core.c | 1 + drivers/cam_utils/cam_compat.c | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/cam_cdm/cam_cdm_hw_core.c b/drivers/cam_cdm/cam_cdm_hw_core.c index dd801f152b..1f16eb19e8 100644 --- a/drivers/cam_cdm/cam_cdm_hw_core.c +++ b/drivers/cam_cdm/cam_cdm_hw_core.c @@ -75,6 +75,7 @@ static const struct of_device_id msm_cam_hw_cdm_dt_match[] = { .compatible = CAM_HW_CDM_OPE_NAME_2_1, .data = &cam_cdm_2_1_reg_offset, }, + {}, }; static enum cam_cdm_id cam_hw_cdm_get_id_by_name(char *name) diff --git a/drivers/cam_utils/cam_compat.c b/drivers/cam_utils/cam_compat.c index ee528d0415..4bd54b7652 100644 --- a/drivers/cam_utils/cam_compat.c +++ b/drivers/cam_utils/cam_compat.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2014-2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2014-2021, The Linux Foundation. All rights reserved. */ #include @@ -214,6 +214,7 @@ int camera_component_match_add_drivers(struct device *master_dev, { int i, rc = 0; struct platform_device *pdev = NULL; + struct device *start_dev = NULL, *match_dev = NULL; if (!master_dev || !match_list) { CAM_ERR(CAM_UTIL, "Invalid parameters for component match add"); @@ -230,14 +231,12 @@ int camera_component_match_add_drivers(struct device *master_dev, struct device_driver *drv = &cam_component_drivers[i]->driver; void *drv_ptr = (void *)drv; #endif - struct device *start_dev = NULL, *match_dev; - + start_dev = NULL; while ((match_dev = bus_find_device(&platform_bus_type, start_dev, drv_ptr, &camera_platform_compare_dev))) { put_device(start_dev); pdev = to_platform_device(match_dev); - CAM_DBG(CAM_UTIL, "Adding matched component:%s", - pdev->name); + CAM_DBG(CAM_UTIL, "Adding matched component:%s", pdev->name); component_match_add(master_dev, match_list, camera_component_compare_dev, match_dev); start_dev = match_dev;