LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* pci/pcie/aer/aerdrv_acpi.c: inconsequent NULL checking
@ 2008-02-19 19:29 Adrian Bunk
2008-02-20 5:47 ` Greg KH
0 siblings, 1 reply; 5+ messages in thread
From: Adrian Bunk @ 2008-02-19 19:29 UTC (permalink / raw)
To: Andrew Patterson, Greg Kroah-Hartman; +Cc: linux-kernel, linux-pci
The Coverity checker spotted the following inconsequent NULL checking
introduced by commit 3c75e23784e6ed5f4841de43d0750fd9b37bafcb:
<-- snip -->
...
int aer_osc_setup(struct pcie_device *pciedev)
{
... vvvvvvvvv
while (pdev->bus && pdev->bus->self)
pdev = pdev->bus->self;
handle = acpi_get_pci_rootbridge_handle(
pci_domain_nr(pdev->bus), pdev->bus->number);
... ^^^^^^^^^^^^^^^^^
<-- snip -->
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: pci/pcie/aer/aerdrv_acpi.c: inconsequent NULL checking
2008-02-19 19:29 pci/pcie/aer/aerdrv_acpi.c: inconsequent NULL checking Adrian Bunk
@ 2008-02-20 5:47 ` Greg KH
2008-02-20 7:56 ` Adrian Bunk
0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2008-02-20 5:47 UTC (permalink / raw)
To: Adrian Bunk; +Cc: Andrew Patterson, Greg Kroah-Hartman, linux-kernel, linux-pci
On Tue, Feb 19, 2008 at 09:29:02PM +0200, Adrian Bunk wrote:
> The Coverity checker spotted the following inconsequent NULL checking
> introduced by commit 3c75e23784e6ed5f4841de43d0750fd9b37bafcb:
>
> <-- snip -->
>
> ...
> int aer_osc_setup(struct pcie_device *pciedev)
> {
> ... vvvvvvvvv
> while (pdev->bus && pdev->bus->self)
> pdev = pdev->bus->self;
That could probably change to just pdev->bus->self, as a bus should
always be there for a pdev, so I don't see this as a problem.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: pci/pcie/aer/aerdrv_acpi.c: inconsequent NULL checking
2008-02-20 5:47 ` Greg KH
@ 2008-02-20 7:56 ` Adrian Bunk
2008-02-20 16:09 ` Greg KH
0 siblings, 1 reply; 5+ messages in thread
From: Adrian Bunk @ 2008-02-20 7:56 UTC (permalink / raw)
To: Greg KH; +Cc: Andrew Patterson, linux-kernel, linux-pci
On Tue, Feb 19, 2008 at 09:47:58PM -0800, Greg KH wrote:
> On Tue, Feb 19, 2008 at 09:29:02PM +0200, Adrian Bunk wrote:
> > The Coverity checker spotted the following inconsequent NULL checking
> > introduced by commit 3c75e23784e6ed5f4841de43d0750fd9b37bafcb:
> >
> > <-- snip -->
> >
> > ...
> > int aer_osc_setup(struct pcie_device *pciedev)
> > {
> > ... vvvvvvvvv
> > while (pdev->bus && pdev->bus->self)
> > pdev = pdev->bus->self;
>
> That could probably change to just pdev->bus->self, as a bus should
> always be there for a pdev, so I don't see this as a problem.
I'm not claiming this specific case was a problem.
When a NULL check is only performed in some cases that's sometimes a bug
that has to be fixed and in most cases a not required check that should
be removed at some point in time.
> thanks,
>
> greg k-h
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: pci/pcie/aer/aerdrv_acpi.c: inconsequent NULL checking
2008-02-20 7:56 ` Adrian Bunk
@ 2008-02-20 16:09 ` Greg KH
2008-02-22 19:58 ` [2.6 patch] pci/pcie/aer/aerdrv_acpi.c: remove unneeded NULL check Adrian Bunk
0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2008-02-20 16:09 UTC (permalink / raw)
To: Adrian Bunk; +Cc: Andrew Patterson, linux-kernel, linux-pci
On Wed, Feb 20, 2008 at 09:56:28AM +0200, Adrian Bunk wrote:
> On Tue, Feb 19, 2008 at 09:47:58PM -0800, Greg KH wrote:
> > On Tue, Feb 19, 2008 at 09:29:02PM +0200, Adrian Bunk wrote:
> > > The Coverity checker spotted the following inconsequent NULL checking
> > > introduced by commit 3c75e23784e6ed5f4841de43d0750fd9b37bafcb:
> > >
> > > <-- snip -->
> > >
> > > ...
> > > int aer_osc_setup(struct pcie_device *pciedev)
> > > {
> > > ... vvvvvvvvv
> > > while (pdev->bus && pdev->bus->self)
> > > pdev = pdev->bus->self;
> >
> > That could probably change to just pdev->bus->self, as a bus should
> > always be there for a pdev, so I don't see this as a problem.
>
> I'm not claiming this specific case was a problem.
Well, Coverity did :)
> When a NULL check is only performed in some cases that's sometimes a bug
> that has to be fixed and in most cases a not required check that should
> be removed at some point in time.
I agree, patches are always welcome...
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* [2.6 patch] pci/pcie/aer/aerdrv_acpi.c: remove unneeded NULL check
2008-02-20 16:09 ` Greg KH
@ 2008-02-22 19:58 ` Adrian Bunk
0 siblings, 0 replies; 5+ messages in thread
From: Adrian Bunk @ 2008-02-22 19:58 UTC (permalink / raw)
To: Greg KH; +Cc: Andrew Patterson, linux-kernel, linux-pci
On Wed, Feb 20, 2008 at 08:09:35AM -0800, Greg KH wrote:
> On Wed, Feb 20, 2008 at 09:56:28AM +0200, Adrian Bunk wrote:
> > On Tue, Feb 19, 2008 at 09:47:58PM -0800, Greg KH wrote:
> > > On Tue, Feb 19, 2008 at 09:29:02PM +0200, Adrian Bunk wrote:
> > > > The Coverity checker spotted the following inconsequent NULL checking
> > > > introduced by commit 3c75e23784e6ed5f4841de43d0750fd9b37bafcb:
> > > >
> > > > <-- snip -->
> > > >
> > > > ...
> > > > int aer_osc_setup(struct pcie_device *pciedev)
> > > > {
> > > > ... vvvvvvvvv
> > > > while (pdev->bus && pdev->bus->self)
> > > > pdev = pdev->bus->self;
> > >
> > > That could probably change to just pdev->bus->self, as a bus should
> > > always be there for a pdev, so I don't see this as a problem.
> >
> > I'm not claiming this specific case was a problem.
>
> Well, Coverity did :)
It only said it's once checked and once not.
> > When a NULL check is only performed in some cases that's sometimes a bug
> > that has to be fixed and in most cases a not required check that should
> > be removed at some point in time.
>
> I agree, patches are always welcome...
Patch below.
> thanks,
>
> greg k-h
cu
Adrian
<-- snip -->
There's no reason for checking pdev->bus for being NULL here (and we'd
anyway Oops 3 lines below if it was).
Signed-off-by: Adrian Bunk <bunk@kernel.org>
---
74832021c82be6e2ed6055f4f25dbf152df67cf5 diff --git a/drivers/pci/pcie/aer/aerdrv_acpi.c b/drivers/pci/pcie/aer/aerdrv_acpi.c
index 8c199ae..1e2a858 100644
--- a/drivers/pci/pcie/aer/aerdrv_acpi.c
+++ b/drivers/pci/pcie/aer/aerdrv_acpi.c
@@ -34,7 +34,7 @@ int aer_osc_setup(struct pcie_device *pciedev)
acpi_handle handle = 0;
/* Find root host bridge */
- while (pdev->bus && pdev->bus->self)
+ while (pdev->bus->self)
pdev = pdev->bus->self;
handle = acpi_get_pci_rootbridge_handle(
pci_domain_nr(pdev->bus), pdev->bus->number);
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-02-22 20:04 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-19 19:29 pci/pcie/aer/aerdrv_acpi.c: inconsequent NULL checking Adrian Bunk
2008-02-20 5:47 ` Greg KH
2008-02-20 7:56 ` Adrian Bunk
2008-02-20 16:09 ` Greg KH
2008-02-22 19:58 ` [2.6 patch] pci/pcie/aer/aerdrv_acpi.c: remove unneeded NULL check Adrian Bunk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).