)]}'
{
  "commit": "1ab5ecb90cb6a3df1476e052f76a6e8f6511cb3d",
  "tree": "f808476bf94d8f4191b1a753a38d7d168ddfec51",
  "parents": [
    "de5c37414af10ac9305d4a3e9c1468347ca3ccaa"
  ],
  "author": {
    "name": "Stanislav Kinsbursky",
    "email": "skinsbursky@parallels.com",
    "time": "Mon Mar 12 02:59:41 2012 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Mar 12 17:14:00 2012 -0700"
  },
  "message": "tun: don\u0027t hold network namespace by tun sockets\n\nv3: added previously removed sock_put() to the tun_release() callback, because\nsk_release_kernel() doesn\u0027t drop the socket reference.\n\nv2: sk_release_kernel() used for socket release. Dummy tun_release() is\nrequired for sk_release_kernel() ---\u003e sock_release() ---\u003e sock-\u003eops-\u003erelease()\ncall.\n\nTUN was designed to destroy it\u0027s socket on network namesapce shutdown. But this\nwill never happen for persistent device, because it\u0027s socket holds network\nnamespace.\nThis patch removes of holding network namespace by TUN socket and replaces it\nby creating socket in init_net and then changing it\u0027s net it to desired one. On\nshutdown socket is moved back to init_net prior to final put.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "93c5d72711b023be9623e85b3fc9044d50cfef59",
      "old_mode": 33188,
      "old_path": "drivers/net/tun.c",
      "new_id": "2d7601dd6660e5a273cdabe75278ee1231e7fc23",
      "new_mode": 33188,
      "new_path": "drivers/net/tun.c"
    }
  ]
}
