)]}'
{
  "commit": "d5cd92448fded12c91f7574e49747c5f7d975a8d",
  "tree": "c65c8f66d7818b4250d56ef489cb2b3125276403",
  "parents": [
    "ac0a121d7906b049dfee3649f886c969fbb3c1b7"
  ],
  "author": {
    "name": "Eric W. Biederman",
    "email": "ebiederm@aristanetworks.com",
    "time": "Mon Mar 21 18:22:22 2011 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Mar 21 18:22:22 2011 -0700"
  },
  "message": "macvlan: Fix use after free of struct macvlan_port.\n\nWhen the macvlan driver was extended to call unregisgter_netdevice_queue\nin 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b, a use after free of struct\nmacvlan_port was introduced.  The code in dellink relied on unregister_netdevice\nactually unregistering the net device so it would be safe to free macvlan_port.\n\nSince unregister_netdevice_queue can just queue up the unregister instead of\nperforming the unregiser immediately we free the macvlan_port too soon and\nthen the code in macvlan_stop removes the macaddress for the set of macaddress\nto listen for and uses memory that has already been freed.\n\nTo fix this add a reference count to track when it is safe to free the macvlan_port\nand move the call of macvlan_port_destroy into macvlan_uninit which is guaranteed\nto be called after the final macvlan_port_close.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5b37d3c191e49a6146796e84e744fd4496ca2879",
      "old_mode": 33188,
      "old_path": "drivers/net/macvlan.c",
      "new_id": "78e34e9e4f0082c12baf559ad0a242c2c48f2231",
      "new_mode": 33188,
      "new_path": "drivers/net/macvlan.c"
    }
  ]
}
