All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] zd1211rw, fix oops when ejecting install media
@ 2007-10-15  6:51 Marc Pignat
  2007-10-15 11:05 ` Daniel Drake
  0 siblings, 1 reply; 5+ messages in thread
From: Marc Pignat @ 2007-10-15  6:51 UTC (permalink / raw)
  To: linux-wireless; +Cc: dsd, kune, linux-kernel

The disconnect function can dereference the net_device structure before it is
allocated. This is the case when ejecting the device installer.

Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>

---

Hello!

Patch against 2.6.23.
This patch fixes the bug I've submitted to linux-wireless friday in the
"zd1211rw on 2.6.23 oops ejecting device" thread.

Regards

Marc

--- drivers/net/wireless/zd1211rw/zd_usb.c.orig	2007-10-15 08:29:16.000000000 +0200
+++ drivers/net/wireless/zd1211rw/zd_usb.c	2007-10-15 08:29:32.000000000 +0200
@@ -1041,14 +1041,17 @@ error:
 static void disconnect(struct usb_interface *intf)
 {
 	struct net_device *netdev = zd_intf_to_netdev(intf);
-	struct zd_mac *mac = zd_netdev_mac(netdev);
-	struct zd_usb *usb = &mac->chip.usb;
+	struct zd_mac *mac;
+	struct zd_usb *usb;
 
 	/* Either something really bad happened, or we're just dealing with
 	 * a DEVICE_INSTALLER. */
 	if (netdev == NULL)
 		return;
 
+	mac = zd_netdev_mac(netdev);
+	usb = &mac->chip.usb;
+
 	dev_dbg_f(zd_usb_dev(usb), "\n");
 
 	zd_netdev_disconnect(netdev);



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] zd1211rw, fix oops when ejecting install media
  2007-10-15  6:51 [PATCH] zd1211rw, fix oops when ejecting install media Marc Pignat
@ 2007-10-15 11:05 ` Daniel Drake
  2007-10-16  6:33   ` Marc Pignat
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Drake @ 2007-10-15 11:05 UTC (permalink / raw)
  To: John Linville; +Cc: Marc Pignat, linux-wireless, kune, linux-kernel

Marc Pignat wrote:
> The disconnect function can dereference the net_device structure before it is
> allocated. This is the case when ejecting the device installer.
> 
> Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>

s/before it is allocated/when it is never allocated/

Acked-by: Daniel Drake <dsd@gentoo.org>

> ---
> 
> Hello!
> 
> Patch against 2.6.23.
> This patch fixes the bug I've submitted to linux-wireless friday in the
> "zd1211rw on 2.6.23 oops ejecting device" thread.
> 
> Regards
> 
> Marc
> 
> --- drivers/net/wireless/zd1211rw/zd_usb.c.orig	2007-10-15 08:29:16.000000000 +0200
> +++ drivers/net/wireless/zd1211rw/zd_usb.c	2007-10-15 08:29:32.000000000 +0200
> @@ -1041,14 +1041,17 @@ error:
>  static void disconnect(struct usb_interface *intf)
>  {
>  	struct net_device *netdev = zd_intf_to_netdev(intf);
> -	struct zd_mac *mac = zd_netdev_mac(netdev);
> -	struct zd_usb *usb = &mac->chip.usb;
> +	struct zd_mac *mac;
> +	struct zd_usb *usb;
>  
>  	/* Either something really bad happened, or we're just dealing with
>  	 * a DEVICE_INSTALLER. */
>  	if (netdev == NULL)
>  		return;
>  
> +	mac = zd_netdev_mac(netdev);
> +	usb = &mac->chip.usb;
> +
>  	dev_dbg_f(zd_usb_dev(usb), "\n");
>  
>  	zd_netdev_disconnect(netdev);
> 
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] zd1211rw, fix oops when ejecting install media
  2007-10-15 11:05 ` Daniel Drake
@ 2007-10-16  6:33   ` Marc Pignat
  2007-10-16 13:02     ` Daniel Drake
  0 siblings, 1 reply; 5+ messages in thread
From: Marc Pignat @ 2007-10-16  6:33 UTC (permalink / raw)
  To: Daniel Drake; +Cc: John Linville, linux-wireless, kune, linux-kernel

Hi all!

On Monday 15 October 2007, Daniel Drake wrote:
...
> Acked-by: Daniel Drake <dsd@gentoo.org>

Is there any hope to apply this to 2.6.23.2, as this is a regression fix?

Regards

Marc

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] zd1211rw, fix oops when ejecting install media
  2007-10-16  6:33   ` Marc Pignat
@ 2007-10-16 13:02     ` Daniel Drake
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Drake @ 2007-10-16 13:02 UTC (permalink / raw)
  To: Marc Pignat; +Cc: John Linville, linux-wireless, kune, linux-kernel

Marc Pignat wrote:
> Hi all!
> 
> On Monday 15 October 2007, Daniel Drake wrote:
> ...
>> Acked-by: Daniel Drake <dsd@gentoo.org>
> 
> Is there any hope to apply this to 2.6.23.2, as this is a regression fix?

Yes, already planned, it just has to go upstream first.

Thanks,
Daniel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] zd1211rw, fix oops when ejecting install media
  2007-10-26 21:04                           ` [PATCH] rtl8187: Fix more frag bit checking, rts duration calc John W. Linville
@ 2007-10-26 21:04                             ` John W. Linville
  0 siblings, 0 replies; 5+ messages in thread
From: John W. Linville @ 2007-10-26 21:04 UTC (permalink / raw)
  To: stable; +Cc: linux-wireless, Marc Pignat, John W. Linville

From: Marc Pignat <marc.pignat@hevs.ch>

The disconnect function can dereference the net_device structure when it
is never allocated. This is the case when ejecting the device installer.

Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>
Acked-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 drivers/net/wireless/zd1211rw/zd_usb.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c
index a9c339e..5326301 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
@@ -1041,14 +1041,17 @@ error:
 static void disconnect(struct usb_interface *intf)
 {
 	struct net_device *netdev = zd_intf_to_netdev(intf);
-	struct zd_mac *mac = zd_netdev_mac(netdev);
-	struct zd_usb *usb = &mac->chip.usb;
+	struct zd_mac *mac;
+	struct zd_usb *usb;
 
 	/* Either something really bad happened, or we're just dealing with
 	 * a DEVICE_INSTALLER. */
 	if (netdev == NULL)
 		return;
 
+	mac = zd_netdev_mac(netdev);
+	usb = &mac->chip.usb;
+
 	dev_dbg_f(zd_usb_dev(usb), "\n");
 
 	zd_netdev_disconnect(netdev);
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-10-26 21:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-15  6:51 [PATCH] zd1211rw, fix oops when ejecting install media Marc Pignat
2007-10-15 11:05 ` Daniel Drake
2007-10-16  6:33   ` Marc Pignat
2007-10-16 13:02     ` Daniel Drake
  -- strict thread matches above, loose matches on Subject: below --
2007-10-26 21:04 [PATCH] Add get_unaligned to ieee80211_get_radiotap_len John W. Linville
2007-10-26 21:04 ` [PATCH] Improve sanity checks on injected packets John W. Linville
2007-10-26 21:04   ` [PATCH] mac80211: filter locally-originated multicast frames John W. Linville
2007-10-26 21:04     ` [PATCH] libertas: fix endianness breakage John W. Linville
2007-10-26 21:04       ` [PATCH] libertas: more " John W. Linville
2007-10-26 21:04         ` [PATCH] ieee80211: fix TKIP QoS bug John W. Linville
2007-10-26 21:04           ` [PATCH] mac80211: reorder association debug output John W. Linville
2007-10-26 21:04             ` [PATCH] mac80211: store channel info in sta_bss_list John W. Linville
2007-10-26 21:04               ` [PATCH] mac80211: store SSID " John W. Linville
2007-10-26 21:04                 ` [PATCH] mac80211: honor IW_SCAN_THIS_ESSID in siwscan ioctl John W. Linville
2007-10-26 21:04                   ` [PATCH] mac80211: only honor IW_SCAN_THIS_ESSID in STA, IBSS, and AP modes John W. Linville
2007-10-26 21:04                     ` [PATCH] mac80211: make ieee802_11_parse_elems return void John W. Linville
2007-10-26 21:04                       ` [PATCH] zd1201: avoid null ptr access of skb->dev John W. Linville
2007-10-26 21:04                         ` [PATCH] ipw2100: send WEXT scan events John W. Linville
2007-10-26 21:04                           ` [PATCH] rtl8187: Fix more frag bit checking, rts duration calc John W. Linville
2007-10-26 21:04                             ` [PATCH] zd1211rw, fix oops when ejecting install media John W. Linville

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.