1. 12 10月, 2017 36 次提交
  2. 11 10月, 2017 4 次提交
    • J
      cfg80211: implement regdb signature checking · 90a53e44
      Johannes Berg 提交于
      Currently CRDA implements the signature checking, and the previous
      commits added the ability to load the whole regulatory database
      into the kernel.
      
      However, we really can't lose the signature checking, so implement
      it in the kernel by loading a detached signature (regulatory.db.p7s)
      and check it against built-in keys.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      90a53e44
    • J
      cfg80211: reg: remove support for built-in regdb · c8c240e2
      Johannes Berg 提交于
      Parsing and building C structures from a regdb is no longer needed
      since the "firmware" file (regulatory.db) can be linked into the
      kernel image to achieve the same effect.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c8c240e2
    • J
      cfg80211: support reloading regulatory database · 1ea4ff3e
      Johannes Berg 提交于
      If the regulatory database is loaded, and then updated, it may
      be necessary to reload it. Add an nl80211 command to do this.
      
      Note that this just reloads the database, it doesn't re-apply
      the rules from it immediately.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1ea4ff3e
    • J
      cfg80211: support loading regulatory database as firmware file · 007f6c5e
      Johannes Berg 提交于
      As the current regulatory database is only about 4k big, and already
      difficult to extend, we decided that overall it would be better to
      get rid of the complications with CRDA and load the database into the
      kernel directly, but in a new format that is extensible.
      
      The new file format can be extended since it carries a length field
      on all the structs that need to be extensible.
      
      In order to be able to request firmware when the module initializes,
      move cfg80211 from subsys_initcall() to the later fs_initcall(); the
      firmware loader is at the same level but linked earlier, so it can
      be called from there. Otherwise, when both the firmware loader and
      cfg80211 are built-in, the request will crash the kernel. We also
      need to be before device_initcall() so that cfg80211 is available
      for devices when they initialize.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      007f6c5e