)]}'
{
  "commit": "827d42c9ac91ddd728e4f4a31fefb906ef2ceff7",
  "tree": "e29371d79d63d0a3ec2cb6d010b71147853fc771",
  "parents": [
    "4253119acf412fd686ef4bd8749b5a4d70ea3a51"
  ],
  "author": {
    "name": "Johannes Berg",
    "email": "johannes@sipsolutions.net",
    "time": "Sun Nov 22 12:28:41 2009 +0100"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Mon Nov 30 13:55:51 2009 -0500"
  },
  "message": "mac80211: fix spurious delBA handling\n\nLennert Buytenhek noticed that delBA handling in mac80211\nwas broken and has remotely triggerable problems, some of\nwhich are due to some code shuffling I did that ended up\nchanging the order in which things were done -- this was\n\n  commit d75636ef9c1af224f1097941879d5a8db7cd04e5\n  Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n  Date:   Tue Feb 10 21:25:53 2009 +0100\n\n    mac80211: RX aggregation: clean up stop session\n\nand other parts were already present in the original\n\n  commit d92684e66091c0f0101819619b315b4bb8b5bcc5\n  Author: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\n  Date:   Mon Jan 28 14:07:22 2008 +0200\n\n      mac80211: A-MPDU Tx add delBA from recipient support\n\nThe first problem is that I moved a BUG_ON before various\nchecks -- thereby making it possible to hit. As the comment\nindicates, the BUG_ON can be removed since the ampdu_action\ncallback must already exist when the state is !\u003d IDLE.\n\nThe second problem isn\u0027t easily exploitable but there\u0027s a\nrace condition due to unconditionally setting the state to\nOPERATIONAL when a delBA frame is received, even when no\naggregation session was ever initiated. All the drivers\naccept stopping the session even then, but that opens a\nrace window where crashes could happen before the driver\naccepts it. Right now, a WARN_ON may happen with non-HT\ndrivers, while the race opens only for HT drivers.\n\nFor this case, there are two things necessary to fix it:\n 1) don\u0027t process spurious delBA frames, and be more careful\n    about the session state; don\u0027t drop the lock\n\n 2) HT drivers need to be prepared to handle a session stop\n    even before the session was really started -- this is\n    true for all drivers (that support aggregation) but\n    iwlwifi which can be fixed easily. The other HT drivers\n    (ath9k and ar9170) are behaving properly already.\n\nReported-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fb9bcfa6d9471e057bac4a2d7e98237c451c03e0",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/iwlwifi/iwl-tx.c",
      "new_id": "b7e196e3c8d37e1671171e2cacecf86a99306dcc",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/iwlwifi/iwl-tx.c"
    },
    {
      "type": "modify",
      "old_id": "c75b960c8ac8e0e954c400f43c4c163cc360caea",
      "old_mode": 33188,
      "old_path": "include/net/mac80211.h",
      "new_id": "998c30fc89819f2d48140dd83ad82feb40e6f99b",
      "new_mode": 33188,
      "new_path": "include/net/mac80211.h"
    },
    {
      "type": "modify",
      "old_id": "63224d1ee8dd686b3984491a82cc9e99924907b1",
      "old_mode": 33188,
      "old_path": "net/mac80211/agg-tx.c",
      "new_id": "89e238b001de936e4585f2eae73b3d09ae8cb3f7",
      "new_mode": 33188,
      "new_path": "net/mac80211/agg-tx.c"
    },
    {
      "type": "modify",
      "old_id": "48ef1a282b91b8f1cf0bf9c3149c6b66a0467c2a",
      "old_mode": 33188,
      "old_path": "net/mac80211/ht.c",
      "new_id": "cdc58e61d921737e339ad0f13701e336f29c76c4",
      "new_mode": 33188,
      "new_path": "net/mac80211/ht.c"
    },
    {
      "type": "modify",
      "old_id": "a910bf1f092f301e973f9b9e8be6899f93f6655f",
      "old_mode": 33188,
      "old_path": "net/mac80211/ieee80211_i.h",
      "new_id": "10d316e455de26424110df78364beb3cd12732b3",
      "new_mode": 33188,
      "new_path": "net/mac80211/ieee80211_i.h"
    }
  ]
}
