[v2] net/ice: fix unchecked return value
Checks
Commit Message
Fix unchecked return values reported by coverity.
Coverity issue: 349907
Fixes: 03a05924dad0 ("net/ice: support device-specific DDP package loading")
Cc: stable@dpdk.org
Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
v2: modify err message; fix the issue related to that reported by coverity
---
drivers/net/ice/ice_ethdev.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
Comments
> -----Original Message-----
> From: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Sent: Friday, February 26, 2021 3:22 PM
> To: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Cc: Wu, Wenjun1 <wenjun1.wu@intel.com>; stable@dpdk.org
> Subject: [PATCH v2] net/ice: fix unchecked return value
>
> Fix unchecked return values reported by coverity.
>
> Coverity issue: 349907
> Fixes: 03a05924dad0 ("net/ice: support device-specific DDP package loading")
> Cc: stable@dpdk.org
>
> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -1663,8 +1663,14 @@ ice_pkg_file_search_path(struct rte_pci_device *pci_dev, char *pkg_file)
pos = rte_pci_find_ext_capability(pci_dev, RTE_PCI_EXT_CAP_ID_DSN);
if (pos) {
- rte_pci_read_config(pci_dev, &dsn_low, 4, pos + 4);
- rte_pci_read_config(pci_dev, &dsn_high, 4, pos + 8);
+ if (rte_pci_read_config(pci_dev, &dsn_low, 4, pos + 4) < 0) {
+ PMD_INIT_LOG(ERR, "Failed to read pci config space\n");
+ return -1;
+ }
+ if (rte_pci_read_config(pci_dev, &dsn_high, 4, pos + 8) < 0) {
+ PMD_INIT_LOG(ERR, "Failed to read pci config space\n");
+ return -1;
+ }
snprintf(opt_ddp_filename, ICE_MAX_PKG_FILENAME_SIZE,
"ice-%08x%08x.pkg", dsn_high, dsn_low);
} else {
@@ -1727,7 +1733,11 @@ static int ice_load_pkg(struct rte_eth_dev *dev)
struct ice_adapter *ad =
ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
- ice_pkg_file_search_path(pci_dev, pkg_file);
+ err = ice_pkg_file_search_path(pci_dev, pkg_file);
+ if (err) {
+ PMD_INIT_LOG(ERR, "failed to search file path\n");
+ return err;
+ }
file = fopen(pkg_file, "rb");
if (!file) {