)]}'
{
  "commit": "dab6ba36888a12f3e3edff71eeef968fc159178a",
  "tree": "b838883cd5cd8f55f2bcb31f16430dd5a10dcbca",
  "parents": [
    "bd7b3f34198071d8bec05180530c362f1800ba46"
  ],
  "author": {
    "name": "Pavel Emelyanov",
    "email": "xemul@openvz.org",
    "time": "Thu Nov 15 02:57:06 2007 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Nov 15 02:57:06 2007 -0800"
  },
  "message": "[INET]: Fix potential kfree on vmalloc-ed area of request_sock_queue\n\nThe request_sock_queue\u0027s listen_opt is either vmalloc-ed or\nkmalloc-ed depending on the number of table entries. Thus it \nis expected to be handled properly on free, which is done in \nthe reqsk_queue_destroy().\n\nHowever the error path in inet_csk_listen_start() calls \nthe lite version of reqsk_queue_destroy, called \n__reqsk_queue_destroy, which calls the kfree unconditionally. \n\nFix this and move the __reqsk_queue_destroy into a .c file as \nit looks too big to be inline.\n\nAs David also noticed, this is an error recovery path only,\nso no locking is required and the lopt is known to be not NULL.\n\nreqsk_queue_yank_listen_sk is also now only used in\nnet/core/request_sock.c so we should move it there too.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7aed02ce2b65b502dd97f72f91417ed5c78e5ca8",
      "old_mode": 33188,
      "old_path": "include/net/request_sock.h",
      "new_id": "cff4608179c12c2f4f19be4ee04d787af0aa9d71",
      "new_mode": 33188,
      "new_path": "include/net/request_sock.h"
    },
    {
      "type": "modify",
      "old_id": "5f0818d815e6b700408f2dcea1986b87fdc09645",
      "old_mode": 33188,
      "old_path": "net/core/request_sock.c",
      "new_id": "45aed75cb571220da14d2924ec9674ac06f4d99b",
      "new_mode": 33188,
      "new_path": "net/core/request_sock.c"
    }
  ]
}
