)]}'
{
  "commit": "a617302c531eaf497ccd02a61d380efc119ba999",
  "tree": "823c1fcd1eee75b502a5ac2181481841a702778b",
  "parents": [
    "8ffcc704c963b4157391bd87a4544cdfd18b574d"
  ],
  "author": {
    "name": "Johannes Berg",
    "email": "johannes.berg@intel.com",
    "time": "Wed Jan 22 11:14:18 2014 +0200"
  },
  "committer": {
    "name": "Johannes Berg",
    "email": "johannes.berg@intel.com",
    "time": "Thu Feb 06 09:55:19 2014 +0100"
  },
  "message": "cfg80211: fix scan done race\n\nWhen an interface/wdev is removed, any ongoing scan should be\ncancelled by the driver. This will make it call cfg80211, which\nonly queues a work struct. If interface/wdev removal is quick\nenough, this can leave the scan request pending and processed\nonly after the interface is gone, causing a use-after-free.\n\nFix this by making sure the scan request is not pending after\nthe interface is destroyed. We can\u0027t flush or cancel the work\nitem due to locking concerns, but when it\u0027ll run it shouldn\u0027t\nfind anything to do. This leaves a potential issue, if a new\nscan gets requested before the work runs, it prematurely stops\nthe running scan, potentially causing another crash. I\u0027ll fix\nthat in the next patch.\n\nThis was particularly observed with P2P_DEVICE wdevs, likely\nbecause freeing them is quicker than freeing netdevs.\n\nReported-by: Andrei Otcheretianski \u003candrei.otcheretianski@intel.com\u003e\nFixes: 4a58e7c38443 (\"cfg80211: don\u0027t \"leak\" uncompleted scans\")\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "77fe4c791269e13fed33b419dbee0d20c32279b0",
      "old_mode": 33188,
      "old_path": "net/wireless/core.c",
      "new_id": "02ed00dbf2df9c24a0e43df31692c416257fec60",
      "new_mode": 33188,
      "new_path": "net/wireless/core.c"
    }
  ]
}
