)]}'
{
  "commit": "db44575f6fd55df6ff67ddd21f7ad5be5a741136",
  "tree": "3282b763dbc363202a328c473c47a8cad954687e",
  "parents": [
    "1f494c0e040b001cf844280910d04ba7ebdc2898"
  ],
  "author": {
    "name": "Alexey Kuznetsov",
    "email": "kuznet@ms2.inr.ac.ru",
    "time": "Sat Jul 30 17:46:44 2005 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Sat Jul 30 17:46:44 2005 -0700"
  },
  "message": "[NET]: fix oops after tunnel module unload\n\nTunnel modules used to obtain module refcount each time when\nsome tunnel was created, which meaned that tunnel could be unloaded\nonly after all the tunnels are deleted.\n\nSince killing old MOD_*_USE_COUNT macros this protection has gone.\nIt is possible to return it back as module_get/put, but it looks\nmore natural and practically useful to force destruction of all\nthe child tunnels on module unload.\n\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8848355222241cbd1763330a88183a2b45b34966",
      "old_mode": 33188,
      "old_path": "net/ipv4/ip_gre.c",
      "new_id": "f0d5740d7e220f5675602ee43682c526f4dfbf8c",
      "new_mode": 33188,
      "new_path": "net/ipv4/ip_gre.c"
    },
    {
      "type": "modify",
      "old_id": "c3947cd566b7a6c0e421dfab418ac09976221d30",
      "old_mode": 33188,
      "old_path": "net/ipv4/ipip.c",
      "new_id": "c05c1df0bb045e17f92b9cbe5dcad23ed8df2c6e",
      "new_mode": 33188,
      "new_path": "net/ipv4/ipip.c"
    },
    {
      "type": "modify",
      "old_id": "b788f55e139b80756e23ef024335c3d2024d9f63",
      "old_mode": 33188,
      "old_path": "net/ipv6/sit.c",
      "new_id": "e553e5b80d6e3ed78124073c5163ec17dc0143b6",
      "new_mode": 33188,
      "new_path": "net/ipv6/sit.c"
    }
  ]
}
