mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
kernel: nvidia-oot: Fix Linux KMD coverity defect
Fix STR31-C ad STR07-C for - drivers/media/platform/tegra/cdi/cdi_gpio.c - drivers/media/platform/tegra/cdi/cdi_mgr.c Jira CAMERASW-30856 Change-Id: I40d2c1b47b83d2dbc6102229dd67225e1a9156ab Signed-off-by: Zhiyuan Wang <zhiwang@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3281931 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Ajith Kumar <ajithk@nvidia.com> GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com> Reviewed-by: Semi Malinen <smalinen@nvidia.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
// SPDX-FileCopyrightText: Copyright (c) 2017-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
// SPDX-FileCopyrightText: Copyright (c) 2017-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
|
||||
#include <nvidia/conftest.h>
|
||||
|
||||
@@ -52,12 +52,11 @@ static struct gpio_chip *cdi_gpio_get_chip(struct platform_device *pdev,
|
||||
#endif
|
||||
char name[MAX_STR_SIZE];
|
||||
|
||||
if (strlen(pd->gpio_prnt_chip) > MAX_STR_SIZE) {
|
||||
dev_err(&pdev->dev, "%s: gpio chip name is too long: %s\n",
|
||||
__func__, pd->gpio_prnt_chip);
|
||||
if (strscpy(name, pd->gpio_prnt_chip, MAX_STR_SIZE) < 0) {
|
||||
dev_err(&pdev->dev, "%s: gpio chip name is too long: %.*s\n",
|
||||
__func__, MAX_STR_SIZE, pd->gpio_prnt_chip);
|
||||
return NULL;
|
||||
}
|
||||
strcpy(name, pd->gpio_prnt_chip);
|
||||
|
||||
#if defined(NV_GPIO_DEVICE_FIND_PRESENT) && \
|
||||
defined(NV_GPIO_DEVICE_GET_CHIP_PRESENT) /* Linux 6.7 */
|
||||
|
||||
@@ -498,7 +498,20 @@ static int __cdi_create_dev(
|
||||
struct cdi_mgr_priv *cdi_mgr, struct cdi_mgr_new_dev *new_dev)
|
||||
{
|
||||
struct cdi_mgr_client *cdi_dev;
|
||||
struct i2c_board_info brd;
|
||||
struct i2c_board_info brd = {
|
||||
.type = "cdi-dev",
|
||||
.flags = 0U,
|
||||
.addr = 0U,
|
||||
.dev_name = NULL,
|
||||
.platform_data = NULL,
|
||||
.of_node = NULL,
|
||||
.fwnode = NULL,
|
||||
.swnode = NULL,
|
||||
.resources = NULL,
|
||||
.num_resources = 0U,
|
||||
.irq = 0
|
||||
};
|
||||
|
||||
int err = 0;
|
||||
|
||||
if (new_dev->addr >= 0x80 || new_dev->drv_name[0] == '\0' ||
|
||||
@@ -542,8 +555,6 @@ static int __cdi_create_dev(
|
||||
mutex_init(&cdi_dev->mutex);
|
||||
INIT_LIST_HEAD(&cdi_dev->list);
|
||||
|
||||
memset(&brd, 0, sizeof(brd));
|
||||
strncpy(brd.type, "cdi-dev", sizeof(brd.type));
|
||||
brd.addr = cdi_dev->cfg.addr;
|
||||
brd.platform_data = &cdi_dev->pdata;
|
||||
cdi_dev->client = i2c_new_client_device(cdi_mgr->adap, &brd);
|
||||
|
||||
Reference in New Issue
Block a user