netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] mac80211 fixes for 2.6.22
@ 2007-05-30 18:25 John W. Linville
       [not found] ` <20070530182538.GB3610-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: John W. Linville @ 2007-05-30 18:25 UTC (permalink / raw)
  To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA

Some bug fixes that should be applied to 2.6.22:

      mac80211: fail back to use associate from reassociate
      mac80211: fix memory leak when defrag fragments
      mac80211: always set carrier status on open
      mac80211: avoid null ptr deref in ieee80211_ibss_add_sta

These are also available in the wireless-2.6 git tree:

	git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git mac80211

Please apply at your earliest convenience!

Thanks,

John
-- 
John W. Linville
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org

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

* [PATCH 1/4] mac80211: fail back to use associate from reassociate
       [not found] ` <20070530182538.GB3610-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
@ 2007-05-30 18:28   ` John W. Linville
  2007-05-30 18:28     ` [PATCH 2/4] mac80211: fix memory leak when defrag fragments John W. Linville
  2007-05-31  8:25   ` [PATCH 0/4] mac80211 fixes for 2.6.22 David Miller
  1 sibling, 1 reply; 6+ messages in thread
From: John W. Linville @ 2007-05-30 18:28 UTC (permalink / raw)
  To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA

From: Zhu Yi <yi.zhu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Some APs have strict checking between associate and reassociate. In
a case when an AP is restarted during a connection, it denies the
mac80211 reassoc request since this is a new association for the AP.
To fix this problem, we need to check the status code against
WLAN_STATUS_REASSOC_NO_ASSOC and clear ifsta->prev_bssid_set in
handling the association failure response.

Signed-off-by: Zhu Yi <yi.zhu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: John W. Linville <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
---
 net/mac80211/ieee80211_sta.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
index 3e07e9d..dbac858 100644
--- a/net/mac80211/ieee80211_sta.c
+++ b/net/mac80211/ieee80211_sta.c
@@ -1155,6 +1155,8 @@ static void ieee80211_rx_mgmt_assoc_resp(struct net_device *dev,
 	if (status_code != WLAN_STATUS_SUCCESS) {
 		printk(KERN_DEBUG "%s: AP denied association (code=%d)\n",
 		       dev->name, status_code);
+		if (status_code == WLAN_STATUS_REASSOC_NO_ASSOC)
+			ifsta->prev_bssid_set = 0;
 		return;
 	}
 
-- 
1.5.0.6

-- 
John W. Linville
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org

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

* [PATCH 2/4] mac80211: fix memory leak when defrag fragments
  2007-05-30 18:28   ` [PATCH 1/4] mac80211: fail back to use associate from reassociate John W. Linville
@ 2007-05-30 18:28     ` John W. Linville
       [not found]       ` <20070530182858.GE3610-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: John W. Linville @ 2007-05-30 18:28 UTC (permalink / raw)
  To: davem; +Cc: linux-wireless, netdev

From: Hong Liu <hong.liu@intel.com>

We forget to free all the fragments when defraging them into one packet.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 net/mac80211/ieee80211.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 6e36df6..145604a 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -3278,8 +3278,10 @@ ieee80211_rx_h_defragment(struct ieee80211_txrx_data *rx)
 			return TXRX_DROP;
 		}
 	}
-	while ((skb = __skb_dequeue(&entry->skb_list)))
+	while ((skb = __skb_dequeue(&entry->skb_list))) {
 		memcpy(skb_put(rx->skb, skb->len), skb->data, skb->len);
+		dev_kfree_skb(skb);
+	}
 
 	/* Complete frame has been reassembled - process it now */
 	rx->fragmented = 1;
-- 
1.5.0.6

-- 
John W. Linville
linville@tuxdriver.com

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

* [PATCH 3/4] mac80211: always set carrier status on open
       [not found]       ` <20070530182858.GE3610-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
@ 2007-05-30 18:29         ` John W. Linville
  2007-05-30 18:30           ` [PATCH 4/4] mac80211: avoid null ptr deref in ieee80211_ibss_add_sta John W. Linville
  0 siblings, 1 reply; 6+ messages in thread
From: John W. Linville @ 2007-05-30 18:29 UTC (permalink / raw)
  To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA

From: Michael Wu <flamingice-R9e9/4HEdknk1uMJSBkQmQ@public.gmane.org>

ieee80211_open should always set the carrier status since we may have set
it to off before.

Signed-off-by: Michael Wu <flamingice-R9e9/4HEdknk1uMJSBkQmQ@public.gmane.org>
Signed-off-by: John W. Linville <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
---
 net/mac80211/ieee80211.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 145604a..4e84f24 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -2474,6 +2474,8 @@ static int ieee80211_open(struct net_device *dev)
 	if (sdata->type == IEEE80211_IF_TYPE_STA &&
 	    !local->user_space_mlme)
 		netif_carrier_off(dev);
+	else
+		netif_carrier_on(dev);
 
 	netif_start_queue(dev);
 	return 0;
-- 
1.5.0.6

-- 
John W. Linville
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org

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

* [PATCH 4/4] mac80211: avoid null ptr deref in ieee80211_ibss_add_sta
  2007-05-30 18:29         ` [PATCH 3/4] mac80211: always set carrier status on open John W. Linville
@ 2007-05-30 18:30           ` John W. Linville
  0 siblings, 0 replies; 6+ messages in thread
From: John W. Linville @ 2007-05-30 18:30 UTC (permalink / raw)
  To: davem; +Cc: linux-wireless, netdev

From: John W. Linville <linville@tuxdriver.com>

avoid sdata null pointer dereference in ieee80211_ibss_add_sta.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 net/mac80211/ieee80211_sta.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
index dbac858..9f30ae4 100644
--- a/net/mac80211/ieee80211_sta.c
+++ b/net/mac80211/ieee80211_sta.c
@@ -2997,7 +2997,7 @@ struct sta_info * ieee80211_ibss_add_sta(struct net_device *dev,
 {
 	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
 	struct sta_info *sta;
-	struct ieee80211_sub_if_data *sdata = NULL;
+	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 
 	/* TODO: Could consider removing the least recently used entry and
 	 * allow new one to be added. */
-- 
1.5.0.6

-- 
John W. Linville
linville@tuxdriver.com

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

* Re: [PATCH 0/4] mac80211 fixes for 2.6.22
       [not found] ` <20070530182538.GB3610-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
  2007-05-30 18:28   ` [PATCH 1/4] mac80211: fail back to use associate from reassociate John W. Linville
@ 2007-05-31  8:25   ` David Miller
  1 sibling, 0 replies; 6+ messages in thread
From: David Miller @ 2007-05-31  8:25 UTC (permalink / raw)
  To: linville-2XuSBdqkA4R54TAoqtyWWQ
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA

From: "John W. Linville" <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Date: Wed, 30 May 2007 14:25:38 -0400

> Some bug fixes that should be applied to 2.6.22:
> 
>       mac80211: fail back to use associate from reassociate
>       mac80211: fix memory leak when defrag fragments
>       mac80211: always set carrier status on open
>       mac80211: avoid null ptr deref in ieee80211_ibss_add_sta
> 
> These are also available in the wireless-2.6 git tree:
> 
> 	git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git mac80211
> 
> Please apply at your earliest convenience!

Looks good, pulled, thanks a lot John.

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

end of thread, other threads:[~2007-05-31  8:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-30 18:25 [PATCH 0/4] mac80211 fixes for 2.6.22 John W. Linville
     [not found] ` <20070530182538.GB3610-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2007-05-30 18:28   ` [PATCH 1/4] mac80211: fail back to use associate from reassociate John W. Linville
2007-05-30 18:28     ` [PATCH 2/4] mac80211: fix memory leak when defrag fragments John W. Linville
     [not found]       ` <20070530182858.GE3610-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2007-05-30 18:29         ` [PATCH 3/4] mac80211: always set carrier status on open John W. Linville
2007-05-30 18:30           ` [PATCH 4/4] mac80211: avoid null ptr deref in ieee80211_ibss_add_sta John W. Linville
2007-05-31  8:25   ` [PATCH 0/4] mac80211 fixes for 2.6.22 David Miller

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