linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).