Message ID | 20170823160303.23366-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Wed, Aug 23, 2017 at 05:03:03PM +0100, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > Currently, the while loop will iterate until a matching name is found > or until the id pointer wraps around to NULL (the latter is incorrect). > > The end of a pci_epf_device_id table is terminated with zero'd entries > for name and driver_data, so can change the while loop to iterate while > the first character in the name is a non-zero character. > > Detected by CoverityScan, CID#1454557 ("Logically dead code") > > Fixes: 9e9d6eb48623 ("PCI: endpoint: Add an API to get matching "pci_epf_device_id") > Signed-off-by: Colin Ian King <colin.king@canonical.com> Kishon, do you want to ack this, please? > --- > drivers/pci/endpoint/pci-epf-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c > index ae6fac5995e3..70eccc04ee7f 100644 > --- a/drivers/pci/endpoint/pci-epf-core.c > +++ b/drivers/pci/endpoint/pci-epf-core.c > @@ -273,7 +273,7 @@ pci_epf_match_device(const struct pci_epf_device_id *id, struct pci_epf *epf) > if (!id || !epf) > return NULL; > > - while (id) { > + while (*id->name) { > if (strcmp(epf->name, id->name) == 0) > return id; > id++; > -- > 2.14.1 >
On Monday 28 August 2017 11:55 PM, Bjorn Helgaas wrote: > On Wed, Aug 23, 2017 at 05:03:03PM +0100, Colin King wrote: >> From: Colin Ian King <colin.king@canonical.com> >> >> Currently, the while loop will iterate until a matching name is found >> or until the id pointer wraps around to NULL (the latter is incorrect). >> >> The end of a pci_epf_device_id table is terminated with zero'd entries >> for name and driver_data, so can change the while loop to iterate while >> the first character in the name is a non-zero character. >> >> Detected by CoverityScan, CID#1454557 ("Logically dead code") >> >> Fixes: 9e9d6eb48623 ("PCI: endpoint: Add an API to get matching "pci_epf_device_id") >> Signed-off-by: Colin Ian King <colin.king@canonical.com> > > Kishon, do you want to ack this, please? Acked-by: Kishon Vijay Abraham I <kishon@ti.com> > >> --- >> drivers/pci/endpoint/pci-epf-core.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c >> index ae6fac5995e3..70eccc04ee7f 100644 >> --- a/drivers/pci/endpoint/pci-epf-core.c >> +++ b/drivers/pci/endpoint/pci-epf-core.c >> @@ -273,7 +273,7 @@ pci_epf_match_device(const struct pci_epf_device_id *id, struct pci_epf *epf) >> if (!id || !epf) >> return NULL; >> >> - while (id) { >> + while (*id->name) { >> if (strcmp(epf->name, id->name) == 0) >> return id; >> id++; >> -- >> 2.14.1 >>
On Wed, Aug 23, 2017 at 05:03:03PM +0100, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > Currently, the while loop will iterate until a matching name is found > or until the id pointer wraps around to NULL (the latter is incorrect). > > The end of a pci_epf_device_id table is terminated with zero'd entries > for name and driver_data, so can change the while loop to iterate while > the first character in the name is a non-zero character. > > Detected by CoverityScan, CID#1454557 ("Logically dead code") > > Fixes: 9e9d6eb48623 ("PCI: endpoint: Add an API to get matching "pci_epf_device_id") > Signed-off-by: Colin Ian King <colin.king@canonical.com> Folded into the original patch, thanks! > --- > drivers/pci/endpoint/pci-epf-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c > index ae6fac5995e3..70eccc04ee7f 100644 > --- a/drivers/pci/endpoint/pci-epf-core.c > +++ b/drivers/pci/endpoint/pci-epf-core.c > @@ -273,7 +273,7 @@ pci_epf_match_device(const struct pci_epf_device_id *id, struct pci_epf *epf) > if (!id || !epf) > return NULL; > > - while (id) { > + while (*id->name) { > if (strcmp(epf->name, id->name) == 0) > return id; > id++; > -- > 2.14.1 >
diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c index ae6fac5995e3..70eccc04ee7f 100644 --- a/drivers/pci/endpoint/pci-epf-core.c +++ b/drivers/pci/endpoint/pci-epf-core.c @@ -273,7 +273,7 @@ pci_epf_match_device(const struct pci_epf_device_id *id, struct pci_epf *epf) if (!id || !epf) return NULL; - while (id) { + while (*id->name) { if (strcmp(epf->name, id->name) == 0) return id; id++;