* 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.