* 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox