All of 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 related	[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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.