)]}'
{
  "commit": "d23e43658aed286b885d398ff0810f04f6aae97f",
  "tree": "49449c308390dc319fc83378dbd357041c7f27ea",
  "parents": [
    "c001c213b109c8baeeb6d012b422bf059b18368f"
  ],
  "author": {
    "name": "Herbert Xu",
    "email": "herbert@gondor.apana.org.au",
    "time": "Thu Jul 02 23:03:55 2009 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Sun Jul 05 18:03:18 2009 -0700"
  },
  "message": "tun: Fix device unregister race\n\nIt is currently possible for an asynchronous device unregister\nto cause the same tun device to be unregistered twice.  This\nis because the unregister in tun_chr_close only checks whether\n__tun_get(tfile) !\u003d NULL.  This however has nothing to do with\nwhether the device has already been unregistered.  All it tells\nyou is whether __tun_detach has been called.\n\nThis patch fixes this by using the most obvious thing to test\nwhether the device has been unregistered.\n\nIt also moves __tun_detach outside of rtnl_unlock since nothing\nthat it does requires that lock.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "11a0ba47b67782d920f3bf5cb36d3e24d4874b63",
      "old_mode": 33188,
      "old_path": "drivers/net/tun.c",
      "new_id": "b393536012fb3c90282c492f4f50f346cbbbc1e6",
      "new_mode": 33188,
      "new_path": "drivers/net/tun.c"
    }
  ]
}
