All of lore.kernel.org
 help / color / mirror / Atom feed
From: wim torfs <wtorfs@gmail.com>
To: linville@tuxdriver.com
Cc: Johannes Berg <johannes@sipsolutions.net>,
	linux-wireless@vger.kernel.org
Subject: [PATCH} mac80211: correction of IFTYPE_AP and IFTYPE_AP_VLAN in ieee80211_do_stop
Date: Tue, 06 Jan 2015 13:22:33 +0100	[thread overview]
Message-ID: <54ABD389.8030409@gmail.com> (raw)

While doing a code review, I noticed that in the latest stable version 
of the kernel (3.18.1) the functionality of IFTYPE_AP and IFTYPE_AP_VLAN 
is switched in ieee80211_do_stop. In the case of IEEE80211_IFTYPE_AP, 
the list of devices in sdata->u.ap.vlans are closed, while in the case 
of IEEE80211_IFTYPE_AP_VLAN the skbs in sdata->bss->ps->bc_buf are 
freed. I believe this should be the other way around.

I found that the error already existed since 3.9.13, but was not yet 
present in 3.2. I didn't check any versions between those.

The following patch corrects the above stated error. This correction has 
not been tested, it was discovered during a code review.

Signed-off-by: Wim Torfs wtorfs@gmail.com

---

diff -uprN linux-3.18.1.orig/net/mac80211/iface.c 
linux-3.18.1.patched/net/mac80211/iface.c
--- linux-3.18.1.orig/net/mac80211/iface.c	2014-12-16 18:39:45.000000000 
+0100
+++ linux-3.18.1.patched/net/mac80211/iface.c	2015-01-06 
12:49:50.000000000 +0100
@@ -868,7 +868,7 @@ static void ieee80211_do_stop(struct iee
  	}

  	/* APs need special treatment */
-	if (sdata->vif.type == NL80211_IFTYPE_AP) {
+	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
  		struct ieee80211_sub_if_data *vlan, *tmpsdata;

  		/* down all dependent devices, that is VLANs */
@@ -876,7 +876,7 @@ static void ieee80211_do_stop(struct iee
  					 u.vlan.list)
  			dev_close(vlan->dev);
  		WARN_ON(!list_empty(&sdata->u.ap.vlans));
-	} else if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
+	} else if (sdata->vif.type == NL80211_IFTYPE_AP) {
  		/* remove all packets in parent bc_buf pointing to this dev */
  		ps = &sdata->bss->ps;


             reply	other threads:[~2015-01-06 12:22 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-06 12:22 wim torfs [this message]
2015-01-06 12:25 ` [PATCH} mac80211: correction of IFTYPE_AP and IFTYPE_AP_VLAN in ieee80211_do_stop Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54ABD389.8030409@gmail.com \
    --to=wtorfs@gmail.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.