)]}'
{
  "log": [
    {
      "commit": "672e7cca17ed6036a1756ed34cf20dbd72d5e5f6",
      "tree": "d4c5b340e42fb7cca4d1a5282669ffae94227fdc",
      "parents": [
        "7c3ceb4fb9667f34f1599a062efecf4cdc4a4ce5"
      ],
      "author": {
        "name": "Vladislav Yasevich",
        "email": "vladsilav.yasevich@hp.com",
        "time": "Fri May 05 17:03:49 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 05 17:03:49 2006 -0700"
      },
      "message": "[SCTP]: Prevent possible infinite recursion with multiple bundled DATA.\n\nThere is a rare situation that causes lksctp to go into infinite recursion\nand crash the system.  The trigger is a packet that contains at least the\nfirst two DATA fragments of a message bundled together. The recursion is\ntriggered when the user data buffer is smaller that the full data message.\nThe problem is that we clone the skb for every fragment in the message.\nWhen reassembling the full message, we try to link skbs from the \"first\nfragment\" clone using the frag_list. However, since the frag_list is shared\nbetween two clones in this rare situation, we end up setting the frag_list\npointer of the second fragment to point to itself.  This causes\nsctp_skb_pull() to potentially recurse indefinitely.\n\nProposed solution is to make a copy of the skb when attempting to link\nthings using frag_list.\n\nSigned-off-by: Vladislav Yasevich \u003cvladsilav.yasevich@hp.com\u003e\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8728b834b226ffcf2c94a58530090e292af2a7bf",
      "tree": "2fd51ff3b7097eb3ffc41ea3a1d8b3ba04715b4c",
      "parents": [
        "6869c4d8e066e21623c812c448a05f1ed931c9c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:25:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:14 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003elist\n\nRemove the \"list\" member of struct sk_buff, as it is entirely\nredundant.  All SKB list removal callers know which list the\nSKB is on, so storing this in sk_buff does nothing other than\ntaking up some space.\n\nTwo tricky bits were SCTP, which I took care of, and two ATM\ndrivers which Francois Romieu \u003cromieu@fr.zoreil.com\u003e fixed\nup.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Francois Romieu \u003cromieu@fr.zoreil.com\u003e\n"
    },
    {
      "commit": "3182cd84f0e132558bbe106c070405ae49f1f0e3",
      "tree": "1015a20d3adb2c000c42fbaf74cecf9cff52bb50",
      "parents": [
        "63522f7fdb624adef20cb9d90c7effcd5b6301b2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jul 11 20:57:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 20:57:47 2005 -0700"
      },
      "message": "[SCTP]: __nocast annotations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
