* orinoco potentially dereferencing before check
@ 2004-04-16 21:18 Dave Jones
2004-04-17 11:25 ` David Gibson
0 siblings, 1 reply; 3+ messages in thread
From: Dave Jones @ 2004-04-16 21:18 UTC (permalink / raw)
To: jgarzik; +Cc: Linux Kernel
--- linux-2.6.5/drivers/net/wireless/orinoco_pci.c~ 2004-04-16 22:16:57.000000000 +0100
+++ linux-2.6.5/drivers/net/wireless/orinoco_pci.c 2004-04-16 22:17:30.000000000 +0100
@@ -275,14 +275,16 @@
static void __devexit orinoco_pci_remove_one(struct pci_dev *pdev)
{
struct net_device *dev = pci_get_drvdata(pdev);
- struct orinoco_private *priv = dev->priv;
+ struct orinoco_private *priv;
if (! dev)
BUG();
+ priv = dev->priv;
+
unregister_netdev(dev);
- if (dev->irq)
+ if (dev->irq)
free_irq(dev->irq, dev);
if (priv->hw.iobase)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: orinoco potentially dereferencing before check
2004-04-16 21:18 orinoco potentially dereferencing before check Dave Jones
@ 2004-04-17 11:25 ` David Gibson
2004-04-19 16:22 ` Jeff Garzik
0 siblings, 1 reply; 3+ messages in thread
From: David Gibson @ 2004-04-17 11:25 UTC (permalink / raw)
To: Dave Jones, jgarzik, Linux Kernel
On Fri, Apr 16, 2004 at 10:18:26PM +0100, Dave Jones wrote:
>
> +++ linux-2.6.5/drivers/net/wireless/orinoco_pci.c 2004-04-16 22:17:30.000000000 +0100
> @@ -275,14 +275,16 @@
> static void __devexit orinoco_pci_remove_one(struct pci_dev *pdev)
> {
> struct net_device *dev = pci_get_drvdata(pdev);
> - struct orinoco_private *priv = dev->priv;
> + struct orinoco_private *priv;
>
> if (! dev)
> BUG();
>
> + priv = dev->priv;
> +
> unregister_netdev(dev);
>
> - if (dev->irq)
> + if (dev->irq)
> free_irq(dev->irq, dev);
>
> if (priv->hw.iobase)
> -
Better to just remove the if (! dev) BUG(). I don't believe we've
ever hit that particular BUG() in debugging, so there's probably not
much point having it.
It's already gone in the driver's development tree. Which hasn't been
merged to Linus for months and months and should have been, yes, I
know. Unfortunately I have barely any time or energy for maintaining
the orinoco driver these days.
--
David Gibson | For every complex problem there is a
david AT gibson.dropbear.id.au | solution which is simple, neat and
| wrong.
http://www.ozlabs.org/people/dgibson
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: orinoco potentially dereferencing before check
2004-04-17 11:25 ` David Gibson
@ 2004-04-19 16:22 ` Jeff Garzik
0 siblings, 0 replies; 3+ messages in thread
From: Jeff Garzik @ 2004-04-19 16:22 UTC (permalink / raw)
To: David Gibson; +Cc: Dave Jones, Linux Kernel
David Gibson wrote:
> On Fri, Apr 16, 2004 at 10:18:26PM +0100, Dave Jones wrote:
>
>>+++ linux-2.6.5/drivers/net/wireless/orinoco_pci.c 2004-04-16 22:17:30.000000000 +0100
>>@@ -275,14 +275,16 @@
>> static void __devexit orinoco_pci_remove_one(struct pci_dev *pdev)
>> {
>> struct net_device *dev = pci_get_drvdata(pdev);
>>- struct orinoco_private *priv = dev->priv;
>>+ struct orinoco_private *priv;
>>
>> if (! dev)
>> BUG();
>>
>>+ priv = dev->priv;
>>+
>> unregister_netdev(dev);
>>
>>- if (dev->irq)
>>+ if (dev->irq)
>> free_irq(dev->irq, dev);
>>
>> if (priv->hw.iobase)
>>-
>
>
> Better to just remove the if (! dev) BUG(). I don't believe we've
> ever hit that particular BUG() in debugging, so there's probably not
> much point having it.
done.
Jeff
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-04-19 16:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-16 21:18 orinoco potentially dereferencing before check Dave Jones
2004-04-17 11:25 ` David Gibson
2004-04-19 16:22 ` Jeff Garzik
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.