On Tue, Aug 13, 2019 at 5:38 PM Stephen Hemminger <step...@networkplumber.org> wrote: > > Just open the sysfs file and handle failure, rather than > using access(). This eliminates Coverity warnings about > "time of check versus time of use"; although for this sysfs > file that is not really an issue anyway. > > Coverity ID: 347276 > Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
Title prefix should be "bus/pci: " (check-git-log.sh). > --- > drivers/bus/pci/linux/pci.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c > index 43debaa25114..6c444aa7ae3d 100644 > --- a/drivers/bus/pci/linux/pci.c > +++ b/drivers/bus/pci/linux/pci.c > @@ -512,18 +512,19 @@ pci_device_iommu_support_va(const struct rte_pci_device > *dev) > "%s/" PCI_PRI_FMT "/iommu/intel-iommu/cap", > rte_pci_get_sysfs_path(), addr->domain, addr->bus, > addr->devid, > addr->function); > - if (access(filename, F_OK) == -1) { > - /* We don't have an Intel IOMMU, assume VA supported*/ > - return true; > - } > > - /* We have an intel IOMMU */ > fp = fopen(filename, "r"); > if (fp == NULL) { > - RTE_LOG(ERR, EAL, "%s(): can't open %s\n", __func__, > filename); > + /* We don't have an Intel IOMMU, assume VA supported*/ Nit: missing a space before closing the comment. > + if (errno == ENOENT) > + return true; > + > + RTE_LOG(ERR, EAL, "%s(): can't open %s: %s\n", > + __func__, filename, strerror(errno)); > return false; > } > > + /* We have an intel IOMMU */ > if (fscanf(fp, "%" PRIx64, &vtd_cap_reg) != 1) { > RTE_LOG(ERR, EAL, "%s(): can't read %s\n", __func__, > filename); > fclose(fp); > -- > 2.20.1 > Reviewed-by: David Marchand <david.march...@redhat.com> -- David Marchand