)]}'
{
  "log": [
    {
      "commit": "95acac61ba66c4abd40e038dae8c1ed2e176c7b1",
      "tree": "8a1737bc3a2ca8af0031e1c2cda07608965ad282",
      "parents": [
        "2fcf282471f04f465d0368e46e973e01504292b3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jul 12 12:30:59 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 13 14:49:43 2011 -0400"
      },
      "message": "mac80211: allow driver to disconnect after resume\n\nIn WoWLAN, devices may use crypto keys for TX/RX\nand could also implement GTK rekeying. If the\ndriver isn\u0027t able to retrieve replay counters and\nsimilar information from the device upon resume,\nor if the device isn\u0027t responsive due to platform\nissues, it isn\u0027t safe to keep the connection up\nas GTK rekey messages from during the sleep time\ncould be replayed against it.\n\nThe only protection against that is disconnecting\nfrom the AP. Modifying mac80211 to do that while\nit is resuming would be very complex and invasive\nin the case that the driver requires a reconfig,\nso do it after it has resumed completely. In that\ncase, however, packets might be replayed since it\ncan then only happen after TX/RX are up again, so\nmark keys for interfaces that need to disconnect\nas \"tainted\" and drop all packets that are sent\nor received with those keys.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ea542d3c2862142ae511fac5ce2dfc7419dcc53",
      "tree": "472807c6d2a0aefa050a63cc34d9e2a2f7a3f2a6",
      "parents": [
        "9e26297a56453315ae6829aec609b5a6309af7b4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 07 18:58:00 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 08 11:42:22 2011 -0400"
      },
      "message": "mac80211: allow drivers to access key sequence counter\n\nIn order to implement GTK rekeying, the device needs\nto be able to encrypt frames with the right PN/IV and\ncheck the PN/IV in RX frames. To be able to tell it\nabout all those counters, we need to be able to get\nthem from mac80211, this adds the required API.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9e26297a56453315ae6829aec609b5a6309af7b4",
      "tree": "9152708917200d9b4f0ecc027c13c5da836f22e7",
      "parents": [
        "1d738e64f3d957d56c1b51e64ebdef986a8760e3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 07 18:45:03 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 08 11:42:21 2011 -0400"
      },
      "message": "mac80211: simplify RX PN/IV handling\n\nThe current rx-\u003equeue value is slightly confusing.\nIt is set to 16 on non-QoS frames, including data,\nand then used for sequence number and PN/IV checks.\nUntil recently, we had a TKIP IV checking bug that\nhad been introduced in 2008 to fix a seqno issue.\nBefore that, we always used TID 0 for checking the\nPN or IV on non-QoS packets.\n\nGo back to the old status for PN/IV checks using\nthe TID 0 counter for non-QoS by splitting up the\nrx-\u003equeue value into \"seqno_idx\" and \"security_idx\"\nin order to avoid confusion in the future. They\neach have special rules on the value used for non-\nQoS data frames.\n\nSince the handling is now unified, also revert the\nspecial TKIP handling from my patch\n\"mac80211: fix TKIP replay vulnerability\".\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0cd20a278e1ef9da9f6a987942794c9d65af8c4d",
      "tree": "efd5aa9a72518f32518dcb4b85b78626cbc8113e",
      "parents": [
        "544e5d8bcd7ab305494e57cfa388b2d06a43c520"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jul 06 22:02:14 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 08 11:11:24 2011 -0400"
      },
      "message": "mac80211: use AES_BLOCK_SIZE\n\nmac80211 has a defnition of AES_BLOCK_SIZE and\nmultiple definitions of AES_BLOCK_LEN. Remove\nthem all and use crypto/aes.h.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "75396ae6d433b49482e377e6f8dbf1f42ad53f3a",
      "tree": "07fb506f08f3cca7d67d2fd365cc059240b6957b",
      "parents": [
        "aba83a0b301c32dbb91c017f33307611e1a1d384"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jul 06 22:00:35 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 08 11:11:20 2011 -0400"
      },
      "message": "mac80211: fix CMAC races\n\nJust like TKIP and CCMP, CMAC has the PN race.\nIt might not actually be possible to hit it now\nsince there aren\u0027t multiple ACs for management\nframes, but fix it anyway.\n\nAlso move scratch buffers onto the stack.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "aba83a0b301c32dbb91c017f33307611e1a1d384",
      "tree": "9f8478ddf2160c9b4c50666e037e6239ea52e274",
      "parents": [
        "523b02ea23b175dd3e46e3daf1bc9354376640a3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jul 06 21:59:39 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 08 11:11:19 2011 -0400"
      },
      "message": "mac80211: fix CCMP races\n\nSince we can process multiple packets at the\nsame time for different ACs, but the PN is\nallocated from a single counter, we need to\nuse an atomic value there. Use atomic64_t to\nmake this cheaper on 64-bit platforms, other\nplatforms will support this through software\nemulation, see lib/atomic64.c.\n\nWe also need to use an on-stack scratch buf\nso that multiple packets won\u0027t corrupt each\nothers scratch buffers.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "523b02ea23b175dd3e46e3daf1bc9354376640a3",
      "tree": "a11f69f05cdfb457a42b2866e33e73937c35ec1e",
      "parents": [
        "397915c30731340ee3f348d1be597b22467acbdf"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 07 22:28:01 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 08 11:11:19 2011 -0400"
      },
      "message": "mac80211: fix TKIP races, make API easier to use\n\nOur current TKIP code races against itself on TX\nsince we can process multiple packets at the same\ntime on different ACs, but they all share the TX\ncontext for TKIP. This can lead to bad IVs etc.\n\nAlso, the crypto offload helper code just obtains\nthe P1K/P2K from the cache, and can update it as\nwell, but there\u0027s no guarantee that packets are\nreally processed in order.\n\nTo fix these issues, first introduce a spinlock\nthat will protect the IV16/IV32 values in the TX\ncontext. This first step makes sure that we don\u0027t\nassign the same IV multiple times or get confused\nin other ways.\n\nSecondly, change the way the P1K cache works. I\nadd a field \"p1k_iv32\" that stores the value of\nthe IV32 when the P1K was last recomputed, and\nif different from the last time, then a new P1K\nis recomputed. This can cause the P1K computation\nto flip back and forth if packets are processed\nout of order. All this also happens under the new\nspinlock.\n\nFinally, because there are argument differences,\nsplit up the ieee80211_get_tkip_key() API into\nieee80211_get_tkip_p1k() and ieee80211_get_tkip_p2k()\nand give them the correct arguments.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "40b275b69ee660274b77fb612b0db31fd282fc3f",
      "tree": "29a4f82a44a12edcf9db5de6a3c6df9615a5799e",
      "parents": [
        "ec034b208dc8aa5dc73ec46c3f27e34c5efbf113"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri May 13 14:15:49 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:10:41 2011 -0400"
      },
      "message": "mac80211: sparse RCU annotations\n\nThis adds sparse RCU annotations to most of\nmac80211, only the mesh code remains to be\ndone.\n\nDue the the previous patches, the annotations\nare pretty simple. The only thing that this\nactually changes is removing the RCU usage of\nkey-\u003esta in debugfs since this pointer isn\u0027t\nactually an RCU-managed pointer (it only has\na single assignment done before the key even\ngoes live). As that is otherwise harmless, I\ndecided to make it part of this patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5c0c36412b2dc6b1e243c7e9115306fe286583b7",
      "tree": "a189957b3a8e939d19da304541ba087f1264085a",
      "parents": [
        "dea4096bc41a9642039840ced91e585d04883a16"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu May 12 14:31:49 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu May 12 14:10:53 2011 -0400"
      },
      "message": "mac80211: make key locking clearer\n\nThe code in ieee80211_del_key() doesn\u0027t acquire the\nkey_mtx properly when it dereferences the keys. It\nturns out that isn\u0027t actually necessary since the\nkey_mtx itself seems to be redundant since all key\nmanipulations are done under the RTNL, but as long\nas we have the key_mtx we should use it the right\nway too.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d0123a5d635e336dbab21eba62e8dd4eb3e39a0",
      "tree": "9f110902e78275603136f07c18cceac47e8c817b",
      "parents": [
        "e4b0b32aa1c0dd7ae6340833dd6b19de46409a88"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Fri Mar 04 15:14:16 2011 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 07 13:48:30 2011 -0500"
      },
      "message": "mac80211: remove unused macros\n\nCompile test only.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f7e0104c1a4e77cc4f23d5969b0677bdc4f62c63",
      "tree": "6d1622ec2f6152b611867df1b7a0269471655b53",
      "parents": [
        "dbd2fd656f2060abfd3a16257f8b51ec60f6d2ed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 09 19:49:02 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 13 15:23:29 2010 -0500"
      },
      "message": "mac80211: support separate default keys\n\nAdd support for split default keys (unicast\nand multicast) in mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e31b82136d1adc7a599b6e99d3321e5831841f5a",
      "tree": "c72d78d4cccfd08587e909c7efe59956f1cbc23e",
      "parents": [
        "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:39:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "cfg80211/mac80211: allow per-station GTKs\n\nThis adds API to allow adding per-station GTKs,\nupdates mac80211 to support it, and also allows\ndrivers to remove a key from hwaccel again when\nthis may be necessary due to multiple GTKs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ffc2a905b1faae4c0fe39d66f0752c3a4cbb3c7",
      "tree": "d50902e1e171877e4fb034e36c837f16984ab9b4",
      "parents": [
        "7d64b7cc1fc33bab24567903a93f699d11649c0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:52 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "mac80211: allow vendor specific cipher suites\n\nAllow drivers to specify their own set of cipher\nsuites to advertise vendor-specific ciphers. The\ndriver is then required to implement hardware\ncrypto offload for it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "97359d1235eaf634fe706c9faa6e40181cc95fb8",
      "tree": "5799455c94622eaa6a4fb065bd3b5c350bb705e0",
      "parents": [
        "915a824e30c503157c38115eb6a85f60bb653738"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Aug 10 09:46:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 16:45:11 2010 -0400"
      },
      "message": "mac80211: use cipher suite selectors\n\nCurrently, mac80211 translates the cfg80211\ncipher suite selectors into ALG_* values.\nThat isn\u0027t all too useful, and some drivers\nbenefit from the distinction between WEP40\nand WEP104 as well. Therefore, convert it\nall to use the cipher suite selectors.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "32162a4dab0e6a4ca7f886a01173b5f9b80843be",
      "tree": "a8337e9b9788b787c13241ec9a9642527d5aad6a",
      "parents": [
        "1b2fb7dc71c1f8f97663c2da84fa1c8183588474"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Mon Jul 26 15:52:03 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 27 14:59:58 2010 -0400"
      },
      "message": "mac80211: Fix key freeing to handle unlinked keys\n\nKey locking simplification removed key-\u003esdata !\u003d NULL verification from\nieee80211_key_free(). While that is fine for most use cases, there is one\npath where this function can be called with an unlinked key (i.e.,\nkey-\u003esdata \u003d\u003d NULL \u0026\u0026 key-\u003elocal \u003d\u003d NULL). This results in a NULL pointer\ndereference with the current implementation. This is known to happen at\nleast with FT protocol when wpa_supplicant tries to configure the key\nbefore association.\n\nAvoid the issue by passing in the local pointer to\nieee80211_key_free(). In addition, do not clear the key from hw_accel\nor debugfs if it has not yet been added. At least the hw_accel one could\ntrigger another NULL pointer dereference.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9190252c952a33efa1ceff4ef35188f8a27b81cb",
      "tree": "f6c7473c919e7a3f0ff7c1b6543da44f8c338d02",
      "parents": [
        "05e48e8e437148298f4673e1efe81f9ead5f41d7"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Fri Jun 11 10:27:33 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 15 16:00:49 2010 -0400"
      },
      "message": "mac80211: Use a separate CCMP PN receive counter for management frames\n\nWhen management frame protection (IEEE 802.11w) is used, we must use a\nseparate counter for tracking received CCMP packet number for the\nmanagement frames. The previously used NUM_RX_DATA_QUEUESth queue was\nshared with data frames when QoS was not used and that can cause\nproblems in detecting replays incorrectly for robust management frames.\nAdd a new counter just for robust management frames to avoid this issue.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ad0e2b5a00dbec303e4682b403bb6703d11dcdb2",
      "tree": "b7aeb06a284af0cfb4aa1de840592478b373f554",
      "parents": [
        "efe4c457a1d4e56840c42bf2e409dc04e8ad4304"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jun 01 10:19:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 03 14:10:46 2010 -0400"
      },
      "message": "mac80211: simplify key locking\n\nSince I recently made station management able\nto sleep, I can now rework key management as\nwell; since it will no longer need a spinlock\nand can also use a mutex instead, a bunch of\ncode to allow drivers\u0027 set_key to sleep while\nkey management is protected by a spinlock can\nnow be removed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ca99861d5421c91f5a8fd3a77acb4b7be14f119d",
      "tree": "d11b0f99525f82515296c41fa643e518ddcbef11",
      "parents": [
        "e54be4e7356c0612b48407d3b0647a29cb82e254"
      ],
      "author": {
        "name": "gregor kowski",
        "email": "gregor.kowski@gmail.com",
        "time": "Wed Dec 09 23:25:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:14 2009 -0500"
      },
      "message": "mac80211 : fix a race with update_tkip_key\n\nThe mac80211 tkip code won\u0027t call update_tkip_key, if rx packets\nare received without KEY_FLAG_UPLOADED_TO_HARDWARE. This can happen on\nfirst packet because the hardware key stuff is called asynchronously with\ntodo workqueue.\n\nThis patch workaround that by tracking if we sent the key to the driver.\n\nSigned-off-by: Gregor Kowski \u003cgregor.kowski@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7bcfaf2f431c09c51fe776fc06638b25d3b421c5",
      "tree": "27f767335566826f11f0134b97ee76b58d9bcf90",
      "parents": [
        "2c0d6100da3ee9b0f0cc46add9bb8a8161299a92"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 27 12:59:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:49:18 2009 -0400"
      },
      "message": "cfg80211/mac80211: use debugfs_remove_recursive\n\nWe can save a lot of code and pointers in the structs\nby using debugfs_remove_recursive().\n\nFirst, change cfg80211 to use debugfs_remove_recursive()\nso that drivers do not need to clean up any files they\nadded to the per-wiphy debugfs (if and only if they are\nok to be accessed until after wiphy_unregister!).\n\nThen also make mac80211 use debugfs_remove_recursive()\nwhere necessary -- it need not remove per-wiphy files\nas cfg80211 now removes those, but netdev etc. files\nstill need to be handled but can now be removed without\nneeding struct dentry pointers to all of them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "faa8fdc85347cc76d87b43ea718785661c54f656",
      "tree": "d6a2bad74310885e8f0836791c93070d243b6b2c",
      "parents": [
        "3f77316c6b99f596bfbf72c0542f47f7230b702e"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Mon May 11 21:57:58 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 13 15:44:39 2009 -0400"
      },
      "message": "nl80211: Add RSC configuration for new keys\n\nWhen setting a key with NL80211_CMD_NEW_KEY, we should allow the key\nsequence number (RSC) to be set in order to allow replay protection to\nwork correctly for group keys. This patch documents this use for\nnl80211 and adds the couple of missing pieces in nl80211/cfg80211 and\nmac80211 to support this. In addition, WEXT SIOCSIWENCODEEXT compat\nprocessing in cfg80211 is extended to handle the RSC (this was already\nspecified in WEXT, but just not implemented in cfg80211/mac80211).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3cfcf6ac6d69dc290e96416731eea5c88ac7d426",
      "tree": "35bc626e2e3f7c37a7eb50c1f057adb4830eccc6",
      "parents": [
        "765cb46a3fc856245ea68a7c961ac87c77e4ae2d"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:32:02 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:03 2009 -0500"
      },
      "message": "mac80211: 802.11w - Use BIP (AES-128-CMAC)\n\nAdd mechanism for managing BIP keys (IGTK) and integrate BIP into the\nTX/RX paths.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "765cb46a3fc856245ea68a7c961ac87c77e4ae2d",
      "tree": "210cb9cd260430221ddb3be9620ee8ae90ecee34",
      "parents": [
        "fb7333367632c67d8b6b06fb8d906cdabb11b02a"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:32:01 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:02 2009 -0500"
      },
      "message": "mac80211: 802.11w - Add BIP (AES-128-CMAC)\n\nImplement Broadcast/Multicast Integrity Protocol for management frame\nprotection. This patch adds the needed definitions for the new\ninformation element (MMIE) and implementation for the new \"encryption\"\ntype (though, BIP is actually not encrypting data, it provides only\nintegrity protection). These routines will be used by a follow-on patch\nthat enables BIP for multicast/broadcast robust management frames.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ffd7891dc909b3648e87f7cf8f84a6dc12fc1cc6",
      "tree": "563c41b3bce49effd3544081cb54ba5ab6fdfb15",
      "parents": [
        "61243d8e79de67d703b192fae2c4ab80fc0fac34"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Sat Jun 21 10:02:46 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 27 09:09:17 2008 -0400"
      },
      "message": "mac80211: Let drivers have access to TKIP key offets for TX and RX MIC\n\nSome drivers may want to to use the TKIP key offsets for TX and RX\nMIC so lets move this out. Lets also clear up a bit how this is used\ninternally in mac80211.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b0f76b335f8b1c324b4b2be06369d391b26a7cc9",
      "tree": "22ecaa2eb8ac0d6df3e35b4cecbca1de74ac63bc",
      "parents": [
        "a7b6f0c5558ad03281b8064d6a4ab2e124dea991"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed May 14 16:26:19 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:47:49 2008 -0400"
      },
      "message": "mac80211: add a struct to hold tkip context\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3a245766901a9dfdc3f53457a7954b369b50f281",
      "tree": "33bc4ef4dfb1bdf0eec46d320fd4333f55dffaf8",
      "parents": [
        "51e8b885902fc8cc2ded48322ad9402bbcff23fe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 09 16:45:37 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 16 14:53:22 2008 -0400"
      },
      "message": "mac80211: fix key hwaccel race\n\nThe previous key locking patch left a small race: it would be possible\nto add a key and take the interface down before the key todo is run so\nthat hwaccel for that key is enabled on an interface that is down. Avoid\nthis by running the todo list when an interface is brought up or down.\n\nThis patch also fixes a small bug: before this change, a few functions\nused the key list without the lock that protects it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d9c58f30b08bfe1e689537af5bc855a76d0fae25",
      "tree": "ecd2dde62f9180a2a5736645e9985e33340874e5",
      "parents": [
        "cfcdf40e52bdaa7622a9d1de62e5451d3427a5c6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 08 16:46:36 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 08 16:46:36 2008 -0400"
      },
      "message": "mac80211: fix key debugfs default_key link\n\nThe default_key symlink points to the key index rather than\nthey key counter, fix it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2c8dccc77420fb7433da5674818959d3499d35be",
      "tree": "2da037732b78a4796254b485f0c591d9625b7d1e",
      "parents": [
        "3b96766f0e643f52ae19e134664df6730c737e87"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 08 15:14:40 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 08 16:44:45 2008 -0400"
      },
      "message": "mac80211: rename files\n\nThis patch renames all mac80211 files (except ieee80211_i.h) to get rid\nof the useless ieee80211_ prefix.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b96766f0e643f52ae19e134664df6730c737e87",
      "tree": "b1707d94a14c9777f09b1aab33970e7741190d4c",
      "parents": [
        "7d1559f1737d5ca27b267b0392015f42b3bbe2fa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 08 17:56:52 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 08 16:44:45 2008 -0400"
      },
      "message": "mac80211: fix key vs. sta locking problems\n\nUp to now, key manipulation is supposed to run under RTNL to\navoid concurrent manipulations and also allow the set_key()\nhardware callback to sleep. This is not feasible because STA\nstructs are rcu-protected and thus a lot of operations there\ncannot take the RTNL. Also, key references are rcu-protected\nso we cannot do things atomically.\n\nThis patch changes key locking completely:\n * key operations are now atomic\n * hardware crypto offload is enabled and disabled from\n   a workqueue, due to that key freeing is also delayed\n * debugfs code is also run from a workqueue\n * keys reference STAs (and vice versa!) so during STA\n   unlink the STAs key reference is removed but not the\n   keys STA reference, to avoid races key todo work is\n   run before STA destruction.\n * fewer STA operations now need the RTNL which was\n   required due to key operations\n\nThis fixes the locking problems lockdep pointed out and also\nmakes things more light-weight because the rtnl isn\u0027t required\nas much.\n\nNote that the key todo lock/key mutex are global locks, this\nis not required, of course, they could be per-hardware instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "db4d1169d0b893bfb7923b6526748fe2c5a7373f",
      "tree": "ebd5ac06685bacc069b162b31f99b33c6191b4c3",
      "parents": [
        "6f48422a29714ed92f6136d9e7d3ff39c75607d7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Feb 25 16:27:45 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 29 15:42:04 2008 -0500"
      },
      "message": "mac80211: split ieee80211_key_alloc/free\n\nIn order to RCU-ify sta_info, we need to be able to allocate\na key without linking it to an sdata/sta structure (because\nallocation cannot be done in an rcu critical section). This\npatch splits up ieee80211_key_alloc() and updates all users\nappropriately.\n\nWhile at it, this patch fixes a number of race conditions\nsuch as finally making key replacement atomic, unfortunately\nat the expense of more complex code.\n\nNote that this patch documents /existing/ bugs with sta info\nand key interaction, there is currently a race condition\nwhen a sta info is freed without holding the RTNL. This will\nfinally be fixed by a followup patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea49c359f36d5b40bf033c45a08332cb73777aa2",
      "tree": "07d99bbaca451af42d633e63c9c0c20d4f2d6f79",
      "parents": [
        "f97df02e23269c7650869f6192e809f8ac1a4b39"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 18 17:29:21 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:00 2007 -0700"
      },
      "message": "[PATCH] mac80211: remove crypto algorithm typedef\n\nThe typedef is not required, we can just use \"enum ieee80211_key_alg\"\ninstead of \"ieee80211_key_alg\"\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e7a64f12a452d39ab50e5580e93bc48b3b15f30c",
      "tree": "048a398ce157b7319e039d1fb0a6d45a99f295b0",
      "parents": [
        "11a843b7e16062389c53ba393c7913956e034eb2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:55 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:54 2007 -0700"
      },
      "message": "[MAC80211]: add interface index to key debugfs\n\nAdd a new file \u0027ifindex\u0027 to each key\u0027s debugfs dir to\nallow finding which interface the key was configured on.\nThis isn\u0027t done as a symlink because of possible netdev\nname changes.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11a843b7e16062389c53ba393c7913956e034eb2",
      "tree": "7f557a55220a0de38f0eafe1a5147487ec39b790",
      "parents": [
        "3aefaa3294193c931b20a574f718efee6baf27d4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:55 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:53 2007 -0700"
      },
      "message": "[MAC80211]: rework key handling\n\nThis moves all the key handling code out from ieee80211_ioctl.c\ninto key.c and also does the following changes including documentation\nupdates in mac80211.h:\n\n 1) Turn off hardware acceleration for keys when the interface\n    is down. This is necessary because otherwise monitor\n    interfaces could be decrypting frames for other interfaces\n    that are down at the moment. Also, it should go some way\n    towards better suspend/resume support, in any case the\n    routines used here could be used for that as well.\n    Additionally, this makes the driver interface nicer, keys\n    for a specific local MAC address are only ever present\n    while an interface with that MAC address is enabled.\n\n 2) Change driver set_key() callback interface to allow only\n    return values of -ENOSPC, -EOPNOTSUPP and 0, warn on all\n    other return values. This allows debugging the stack when\n    a driver notices it\u0027s handed a key while it is down.\n\n 3) Invert the flag meaning to KEY_FLAG_UPLOADED_TO_HARDWARE.\n\n 4) Remove REMOVE_ALL_KEYS command as it isn\u0027t used nor do we\n    want to use it, we\u0027ll use DISABLE_KEY for each key. It is\n    hard to use REMOVE_ALL_KEYS because we can handle multiple\n    virtual interfaces with different key configuration, so we\u0027d\n    have to keep track of a lot of state for this and that isn\u0027t\n    worth it.\n\n 5) Warn when disabling a key fails, it musn\u0027t.\n\n 6) Remove IEEE80211_HW_NO_TKIP_WMM_HWACCEL in favour of per-key\n    IEEE80211_KEY_FLAG_WMM_STA to let driver sort it out itself.\n\n 7) Tell driver that a (non-WEP) key is used only for transmission\n    by using an all-zeroes station MAC address when configuring.\n\n 8) Change the set_key() callback to have access to the local MAC\n    address the key is being added for.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f37171a6243a8370211a1e86d58be683ccf01f0",
      "tree": "3ca7a5eeed89cbd9ea6d86ddffa0a30ed2b4a3c6",
      "parents": [
        "8f20fc24986a083228823d9b68adca20714b254e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:54 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:51 2007 -0700"
      },
      "message": "[MAC80211]: remove krefs for keys\n\nthey aren\u0027t really refcounted anyway\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f20fc24986a083228823d9b68adca20714b254e",
      "tree": "b5d7638b913649c7a181d6703ccd72e35ca06de9",
      "parents": [
        "13262ffd4902805acad2618c12b41fcaa6c50791"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:54 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:51 2007 -0700"
      },
      "message": "[MAC80211]: embed key conf in key, fix driver interface\n\nThis patch embeds the struct ieee80211_key_conf into struct ieee80211_key\nand thus avoids allocations and having data present twice.\n\nThis required some more changes:\n 1) The removal of the IEEE80211_KEY_DEFAULT_TX_KEY key flag.\n    This flag isn\u0027t used by drivers nor should it be since\n    we have a set_key_idx() callback. Maybe that callback needs\n    to be extended to include the key conf, but only a driver that\n    requires it will tell.\n 2) The removal of the IEEE80211_KEY_DEFAULT_WEP_ONLY key flag.\n    This flag is global, so it shouldn\u0027t be passed in the key\n    conf structure. Pass it to the function instead.\n\nAlso, this patch removes the AID parameter to the set_key() callback\nbecause it is currently unused and the hardware currently cannot know\nabout the AID anyway. I suspect this was used with some hardware that\nactually selected the AID itself, but that functionality was removed.\n\nAdditionally, I\u0027ve removed the ALG_NULL key algorithm since we have\nALG_NONE.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9f207f0ff90bf60b825800d7450e6f2ff2eab88",
      "tree": "22bd39116f2cae8d4ce6169eb91e4b9a7204770f",
      "parents": [
        "f0706e828e96d0fa4e80c0d25aa98523f6d589a0"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@suse.cz",
        "time": "Sat May 05 11:46:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:46:38 2007 -0700"
      },
      "message": "[MAC80211]: Add debugfs attributes.\n\nExport various mac80211 internal variables through debugfs.\n\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0706e828e96d0fa4e80c0d25aa98523f6d589a0",
      "tree": "a03c7f94939d74c1e1b82fcd9a215871590d8b35",
      "parents": [
        "a9de8ce0943e03b425be18561f51159fcceb873d"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@suse.cz",
        "time": "Sat May 05 11:45:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:45:53 2007 -0700"
      },
      "message": "[MAC80211]: Add mac80211 wireless stack.\n\nAdd mac80211, the IEEE 802.11 software MAC layer.\n\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
