Message ID | 20250323033414.1716788-1-yuehaibing@huawei.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [-next] RDMA/usnic: Fix passing zero to PTR_ERR in usnic_ib_pci_probe() | expand |
在 2025/3/23 4:34, Yue Haibing 写道: > drivers/infiniband/hw/usnic/usnic_ib_main.c:590 > usnic_ib_pci_probe() warn: passing zero to 'PTR_ERR' > > Use err code in usnic_err() to fix this. > > Fixes: e3cf00d0a87f ("IB/usnic: Add Cisco VIC low-level hardware driver") > Signed-off-by: Yue Haibing <yuehaibing@huawei.com> > --- > drivers/infiniband/hw/usnic/usnic_ib_main.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/hw/usnic/usnic_ib_main.c b/drivers/infiniband/hw/usnic/usnic_ib_main.c > index 4ddcd5860e0f..e40370f9ff25 100644 > --- a/drivers/infiniband/hw/usnic/usnic_ib_main.c > +++ b/drivers/infiniband/hw/usnic/usnic_ib_main.c > @@ -587,9 +587,9 @@ static int usnic_ib_pci_probe(struct pci_dev *pdev, > > pf = usnic_ib_discover_pf(vf->vnic); > if (IS_ERR_OR_NULL(pf)) { > - usnic_err("Failed to discover pf of vnic %s with err%ld\n", > - pci_name(pdev), PTR_ERR(pf)); > err = pf ? PTR_ERR(pf) : -EFAULT; When pf is NULL, PTR_ERR(pf) will warn "passing zero to PTR_ERR". Thus, if pf is NULL, the err will be set to -EFAULT. But from the current implementation of "static struct usnic_ib_dev *usnic_ib_discover_pf(struct usnic_vnic *vnic)", it seems that pf can not be set to NULL. But this commit can prevent this warning when the implementation of usnic_ib_discover_pf will be changed in the future. Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev> Zhu Yanjun > + usnic_err("Failed to discover pf of vnic %s with err%d\n", > + pci_name(pdev), err); > goto out_clean_vnic; > } >
On Sun, Mar 23, 2025 at 11:34:14AM +0800, Yue Haibing wrote: > drivers/infiniband/hw/usnic/usnic_ib_main.c:590 > usnic_ib_pci_probe() warn: passing zero to 'PTR_ERR' > > Use err code in usnic_err() to fix this. > > Fixes: e3cf00d0a87f ("IB/usnic: Add Cisco VIC low-level hardware driver") > Signed-off-by: Yue Haibing <yuehaibing@huawei.com> > --- > drivers/infiniband/hw/usnic/usnic_ib_main.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/hw/usnic/usnic_ib_main.c b/drivers/infiniband/hw/usnic/usnic_ib_main.c > index 4ddcd5860e0f..e40370f9ff25 100644 > --- a/drivers/infiniband/hw/usnic/usnic_ib_main.c > +++ b/drivers/infiniband/hw/usnic/usnic_ib_main.c > @@ -587,9 +587,9 @@ static int usnic_ib_pci_probe(struct pci_dev *pdev, > > pf = usnic_ib_discover_pf(vf->vnic); > if (IS_ERR_OR_NULL(pf)) { usnic_ib_discover_pf() doesn't return NULL, just remove this test instead. You could also fix this: us_ibdev = usnic_ib_device_add(parent_pci); if (IS_ERR_OR_NULL(us_ibdev)) { us_ibdev = us_ibdev ? us_ibdev : ERR_PTR(-EFAULT); So that device_add doesn't weirdly return NULL and EFAULT, probably just return NULL on all failures. Jason
diff --git a/drivers/infiniband/hw/usnic/usnic_ib_main.c b/drivers/infiniband/hw/usnic/usnic_ib_main.c index 4ddcd5860e0f..e40370f9ff25 100644 --- a/drivers/infiniband/hw/usnic/usnic_ib_main.c +++ b/drivers/infiniband/hw/usnic/usnic_ib_main.c @@ -587,9 +587,9 @@ static int usnic_ib_pci_probe(struct pci_dev *pdev, pf = usnic_ib_discover_pf(vf->vnic); if (IS_ERR_OR_NULL(pf)) { - usnic_err("Failed to discover pf of vnic %s with err%ld\n", - pci_name(pdev), PTR_ERR(pf)); err = pf ? PTR_ERR(pf) : -EFAULT; + usnic_err("Failed to discover pf of vnic %s with err%d\n", + pci_name(pdev), err); goto out_clean_vnic; }
drivers/infiniband/hw/usnic/usnic_ib_main.c:590 usnic_ib_pci_probe() warn: passing zero to 'PTR_ERR' Use err code in usnic_err() to fix this. Fixes: e3cf00d0a87f ("IB/usnic: Add Cisco VIC low-level hardware driver") Signed-off-by: Yue Haibing <yuehaibing@huawei.com> --- drivers/infiniband/hw/usnic/usnic_ib_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)