Hi, -----Original Message----- From: Huang, Wei <wei.hu...@intel.com> Sent: Wednesday, March 17, 2021 4:24 PM To: dev@dpdk.org; Xu, Rosen <rosen...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com> Cc: sta...@dpdk.org; Zhang, Tianfei <tianfei.zh...@intel.com>; Huang, Wei <wei.hu...@intel.com> Subject: [PATCH v1 2/2] raw/ifpga/base: add argument to use untained variable
In fme_nios_spi_init(), passing tainted expression "fme->max10_dev" to function "fme_get_board_interface" has risk. Add new arguemnt in function "fme_get_board_interface" to accept untainted variable. Coverity issue: 367482 Fixes: 96ebfcf8125c ("raw/ifpga/base: add SPI and MAX10 device driver") Signed-off-by: Wei Huang <wei.hu...@intel.com> --- drivers/raw/ifpga/base/ifpga_fme.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/raw/ifpga/base/ifpga_fme.c b/drivers/raw/ifpga/base/ifpga_fme.c index a63f90331f..4edb9e09e1 100644 --- a/drivers/raw/ifpga/base/ifpga_fme.c +++ b/drivers/raw/ifpga/base/ifpga_fme.c @@ -857,7 +857,8 @@ static int board_type_to_info(u32 type, return 0; } -static int fme_get_board_interface(struct ifpga_fme_hw *fme) +static int fme_get_board_interface(struct ifpga_fme_hw *fme, + struct intel_max10_device *max10_dev) { struct fme_bitstream_id id; struct ifpga_hw *hw; @@ -911,15 +912,15 @@ static int fme_get_board_interface(struct ifpga_fme_hw *fme) fme->board_info.nums_of_fvl, fme->board_info.ports_per_fvl); - if (max10_sys_read(fme->max10_dev, FPGA_PAGE_INFO, &val)) + if (max10_sys_read(max10_dev, FPGA_PAGE_INFO, &val)) return -EINVAL; fme->board_info.boot_page = val & 0x7; - if (max10_sys_read(fme->max10_dev, MAX10_BUILD_VER, &val)) + if (max10_sys_read(max10_dev, MAX10_BUILD_VER, &val)) return -EINVAL; fme->board_info.max10_version = val; - if (max10_sys_read(fme->max10_dev, NIOS2_FW_VERSION, &val)) + if (max10_sys_read(max10_dev, NIOS2_FW_VERSION, &val)) return -EINVAL; fme->board_info.nios_fw_version = val; @@ -1169,7 +1170,7 @@ static int fme_nios_spi_init(struct ifpga_feature *feature) max10->bus = hw->pci_data->bus; - fme_get_board_interface(fme); + fme_get_board_interface(fme, max10); mgr->sensor_list = &max10->opae_sensor_list; @@ -1186,7 +1187,7 @@ static int fme_nios_spi_init(struct ifpga_feature *feature) return ret; spi_fail: - intel_max10_device_remove(fme->max10_dev); + intel_max10_device_remove(max10); release_dev: altera_spi_release(spi_master); return -ENODEV; -- 2.29.2 Acked-by: Rosen Xu <rosen...@intel.com>