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