linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
To: johannes@sipsolutions.net
Cc: linux-wireless@vger.kernel.org,
	"Luis R. Rodriguez" <mcgrof@do-not-panic.com>
Subject: [PATCH 00/19] cfg80211: regulatory updates
Date: Tue,  5 Nov 2013 09:17:58 -0800	[thread overview]
Message-ID: <1383671897-7746-1-git-send-email-mcgrof@do-not-panic.com> (raw)

This series deals with 3 things:

  a) Three enhancements for regulatory
  b) Make reg_process_hint() easier to follow
  c) Make set_regdom() easier to follow

The enhancements in a) are to help ensure a combination of
custom and strict regulatory settings are respected but also
address original design consideations but that we had overlooked.
The third enhancement helps avoid possible abuse on memory
pressure by userspace by invalidating requests early.

The work on b) and c) come from the realization that while the
existing code works its really hard to follow as you have to
consider two different state machine consideration at once.
I've decided to create a compromise on making the code easier
to follow by increasing code size by splitting up each case
into its own path, this lets the reader only focus on each
individual type of request individually. Code is still shared
when possible.

I've tested all these changes with mac80211_hwsim regtest for
all regtetest options before and after applying these changes.
I'm pretty confident on these changes, I suspect this actually
also ends up addressing a few corner cases previously not
covered.

Luis R. Rodriguez (19):
  cfg80211: enforce disabling channels by custom or strict settings
  cfg80211: force WIPHY_FLAG_CUSTOM_REGULATORY on
    wiphy_apply_custom_regulatory()
  cfg80211: check regulatory request alpha2 early
  cfg80211: remove second argument from reg_process_hint()
  cfg80211: processing core regulatory hints on its own
  cfg80211: process user regulatory requests on its own
  cfg80211: process driver regulatory requests on its own
  cfg80211: process country IE regulatory requests on their own
  cfg80211: process non country IE conflicting first
  cfg80211: add helper for kfree'ing last_request
  cfg80211: add helper for kfree'ing and assigning last_request
  cfg80211: add helper for calling CRDA
  cfg80211: allow only the core to request to update the world regdom
  cfg80211: move core reg_notfier() check to source
  cfg80211: pass the last_request to __set_regdom()
  cfg80211: set core regulatory updates on its own
  cfg80211: set user regulatory updates on its own
  cfg80211: set driver regulatory updates on its own
  cfg80211: rename __set_regdom() to reg_set_rd_country_ie()

 include/net/cfg80211.h |   7 +-
 net/wireless/nl80211.c |   3 +
 net/wireless/reg.c     | 681 ++++++++++++++++++++++++++++++-------------------
 net/wireless/reg.h     |   1 +
 4 files changed, 422 insertions(+), 270 deletions(-)

-- 
1.8.4.rc3


             reply	other threads:[~2013-11-05 17:17 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-05 17:17 Luis R. Rodriguez [this message]
2013-11-05 17:17 ` [PATCH 01/19] cfg80211: enforce disabling channels by custom or strict settings Luis R. Rodriguez
2013-11-06 10:15   ` Johannes Berg
2013-11-06 16:54     ` Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 02/19] cfg80211: force WIPHY_FLAG_CUSTOM_REGULATORY on wiphy_apply_custom_regulatory() Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 03/19] cfg80211: check regulatory request alpha2 early Luis R. Rodriguez
2013-11-06 10:17   ` Johannes Berg
2013-11-06 16:39     ` Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 04/19] cfg80211: remove second argument from reg_process_hint() Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 05/19] cfg80211: processing core regulatory hints on its own Luis R. Rodriguez
2013-11-06 10:24   ` Johannes Berg
2013-11-06 10:26     ` Johannes Berg
2013-11-06 16:35     ` Luis R. Rodriguez
2013-11-07  0:47       ` Julian Calaby
2013-11-11 14:41         ` Johannes Berg
2013-11-05 17:18 ` [PATCH 06/19] cfg80211: process user regulatory requests " Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 07/19] cfg80211: process driver " Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 08/19] cfg80211: process country IE regulatory requests on their own Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 09/19] cfg80211: process non country IE conflicting first Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 10/19] cfg80211: add helper for kfree'ing last_request Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 11/19] cfg80211: add helper for kfree'ing and assigning last_request Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 12/19] cfg80211: add helper for calling CRDA Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 13/19] cfg80211: allow only the core to request to update the world regdom Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 14/19] cfg80211: move core reg_notfier() check to source Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 15/19] cfg80211: pass the last_request to __set_regdom() Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 16/19] cfg80211: set core regulatory updates on its own Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 17/19] cfg80211: set user " Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 18/19] cfg80211: set driver " Luis R. Rodriguez
2013-11-05 17:18 ` [PATCH 19/19] cfg80211: rename __set_regdom() to reg_set_rd_country_ie() Luis R. Rodriguez
2013-11-11 14:50 ` [PATCH 00/19] cfg80211: regulatory updates 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=1383671897-7746-1-git-send-email-mcgrof@do-not-panic.com \
    --to=mcgrof@do-not-panic.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    /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 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).