)]}'
{
  "commit": "7d6dfe1f5bc4c56e0c31173014a099ec3fa35907",
  "tree": "a6b04337c4f6d1ff7b050082dc7e69dc5617d3d0",
  "parents": [
    "f60f6b8f70c756fc786d68f02ec17a1e84db645f"
  ],
  "author": {
    "name": "Patrick McHardy",
    "email": "kaber@trash.net",
    "time": "Sat Jun 18 22:45:31 2005 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Sat Jun 18 22:45:31 2005 -0700"
  },
  "message": "[IPSEC] Fix xfrm_state leaks in error path\n\nHerbert Xu wrote:\n\u003e @@ -1254,6 +1326,7 @@ static int pfkey_add(struct sock *sk, st\n\u003e       if (IS_ERR(x))\n\u003e               return PTR_ERR(x);\n\u003e\n\u003e +     xfrm_state_hold(x);\n\nThis introduces a leak when xfrm_state_add()/xfrm_state_update()\nfail. We hold two references (one from xfrm_state_alloc(), one\nfrom xfrm_state_hold()), but only drop one. We need to take the\nreference because the reference from xfrm_state_alloc() can\nbe dropped by __xfrm_state_delete(), so the fix is to drop both\nreferences on error. Same problem in xfrm_user.c.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\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": "577f0bb5bb31816bb1ecf94848ae2758d9c2cbcf",
      "old_mode": 33188,
      "old_path": "net/key/af_key.c",
      "new_id": "98b72f2024ffd84564530e5973861b908fd8f541",
      "new_mode": 33188,
      "new_path": "net/key/af_key.c"
    },
    {
      "type": "modify",
      "old_id": "bc4fd74568738041b5501d6f0de847f36b23f36d",
      "old_mode": 33188,
      "old_path": "net/xfrm/xfrm_user.c",
      "new_id": "9d30f732a27377187d3f6b1c3d8deabafed2f843",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_user.c"
    }
  ]
}
