)]}'
{
  "log": [
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "43f59c89399fd76883a06c551f24794e98409432",
      "tree": "7ef8ac7047ea5e74c9d522d6438d03fb69a3ba67",
      "parents": [
        "f5fff5dc8a7a3f395b0525c02ba92c95d42b7390"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "message": "net: Remove __skb_insert() calls outside of skbuff internals.\n\nThis minor cleanup simplifies later changes which will convert\nstruct sk_buff and friends over to using struct list_head.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c068be5491924c1c1c37dc046f36976c27bc7bb2",
      "tree": "05212f5704d2c1aa66629ac20ac312d0af39eca1",
      "parents": [
        "01f2d38498957e967cd6f6011a6b208393957b4a"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Jan 15 11:41:56 2008 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Feb 06 21:26:26 2008 -0500"
      },
      "message": "[SCTP]: Correctly reap SSNs when processing FORWARD_TSN chunk\n\nWhen we recieve a FORWARD_TSN chunk, we need to reap\nall the queued fast-forwarded chunks from the ordering queue\n However, if we don\u0027t have them queued, we need to see if\nthe next expected one is there as well.  If it is, start\ndeliver from that point instead of waiting for the next\nchunk to arrive.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "01f2d38498957e967cd6f6011a6b208393957b4a",
      "tree": "608a5b93c6703f595f6f4dbc0c18658fa55b5c5a",
      "parents": [
        "0eca8fee0ce3fa0962ac98ab30c10995754a3195"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Jan 11 11:17:27 2008 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Feb 05 10:59:30 2008 -0500"
      },
      "message": "[SCTP]: Kill silly inlines in ulpqueue.c\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "60c778b25972e095df8981dd41e99d161e8738f9",
      "tree": "546a16d6eca1acbf41ee2b772f12ba3f4ffa21e3",
      "parents": [
        "3113e88c3cb3c0a22920b621f8e4d1f2ccc07f1e"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Jan 11 09:57:09 2008 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Feb 05 10:59:07 2008 -0500"
      },
      "message": "[SCTP]: Stop claiming that this is a \"reference implementation\"\n\nI was notified by Randy Stewart that lksctp claims to be\n\"the reference implementation\".  First of all, \"the\nrefrence implementation\" was the original implementation\nof SCTP in usersapce written ty Randy and a few others.\nSecond, after looking at the definiton of \u0027reference implementation\u0027,\nwe don\u0027t really meet the requirements.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "3ab224be6d69de912ee21302745ea45a99274dbc",
      "tree": "335dcef1cfacfefe3f36c21d5f144e011bc3bfba",
      "parents": [
        "a06b494b61de44617dd58612164bdde56fca7bfb"
      ],
      "author": {
        "name": "Hideo Aoki",
        "email": "haoki@redhat.com",
        "time": "Mon Dec 31 00:11:19 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:18 2008 -0800"
      },
      "message": "[NET] CORE: Introducing new memory accounting interface.\n\nThis patch introduces new memory accounting functions for each network\nprotocol. Most of them are renamed from memory accounting functions\nfor stream protocols. At the same time, some stream memory accounting\nfunctions are removed since other functions do same thing.\n\nRenaming:\n\tsk_stream_free_skb()\t\t-\u003e\tsk_wmem_free_skb()\n\t__sk_stream_mem_reclaim()\t-\u003e\t__sk_mem_reclaim()\n\tsk_stream_mem_reclaim()\t\t-\u003e\tsk_mem_reclaim()\n\tsk_stream_mem_schedule \t\t-\u003e    \t__sk_mem_schedule()\n\tsk_stream_pages()      \t\t-\u003e\tsk_mem_pages()\n\tsk_stream_rmem_schedule()\t-\u003e\tsk_rmem_schedule()\n\tsk_stream_wmem_schedule()\t-\u003e\tsk_wmem_schedule()\n\tsk_charge_skb()\t\t\t-\u003e\tsk_mem_charge()\n\nRemoveing\n\tsk_stream_rfree():\tconsolidates into sock_rfree()\n\tsk_stream_set_owner_r(): consolidates into skb_set_owner_r()\n\tsk_stream_mem_schedule()\n\nThe following functions are added.\n    \tsk_has_account(): check if the protocol supports accounting\n\tsk_mem_uncharge(): do the opposite of sk_mem_charge()\n\nIn addition, to achieve consolidation, updating sk_wmem_queued is\nremoved from sk_mem_charge().\n\nNext, to consolidate memory accounting functions, this patch adds\nmemory accounting calls to network core functions. Moreover, present\nmemory accounting call is renamed to new accounting call.\n\nFinally we replace present memory accounting calls with new interface\nin TCP and SCTP.\n\nSigned-off-by: Takahiro Yasui \u003ctyasui@redhat.com\u003e\nSigned-off-by: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef5d4cf2f9aae4e09883d2d664e367a16b47d857",
      "tree": "b6e83cf4f8b975c8bec0045c8a74d11496524f10",
      "parents": [
        "215f7b08f2a142ec19f4bd3d6de263e68b877955"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Sun Dec 16 14:05:45 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 16 14:05:45 2007 -0800"
      },
      "message": "[SCTP]: Flush fragment queue when exiting partial delivery.\n\nAt the end of partial delivery, we may have complete messages\nsitting on the fragment queue.  These messages are stuck there\nuntil a new fragment arrives.  This can comletely stall a\ngiven association.  When clearing partial delivery state, flush\nany complete messages from the fragment queue and send them on\ntheir way up.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd3ae8e61570b55e32864c5f9e50085aa67126e9",
      "tree": "aabfdcffab94d0df217b2f24992c5aa69df6e5f7",
      "parents": [
        "7ab9080467040054e27ae54d67cc185f24d881ae"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Nov 09 11:43:41 2007 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Nov 09 11:43:41 2007 -0500"
      },
      "message": "SCTP: Fix PR-SCTP to deliver all the accumulated ordered chunks\n\nThere is a small bug when we process a FWD-TSN.  We\u0027ll deliver\nanything upto the current next expected SSN.  However, if the\nnext expected is already in the queue, it will take another\nchunk to trigger its delivery.  The fix is to simply check\nthe current queued SSN is the next expected one.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "16d14ef9f29dfa9b1d99f3eff860e9f15bc99f39",
      "tree": "8f13d343e807b79a23706d10d291f62f5a0a958f",
      "parents": [
        "5c58298c2536252ab95aa2b1497ab47eb878ca5d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Oct 23 20:30:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 23 21:27:52 2007 -0700"
      },
      "message": "[SCTP]: Consolidate sctp_ulpq_renege_xxx functions\n\nBoth are equal, except for the list to be traversed.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d93df0abd50b9c9e2d4561439a1a1d21ec5e68f",
      "tree": "47e5bde0c37ed7ce68032ffa9110f252533fc710",
      "parents": [
        "13c99b248f06e0b71d925f162d8e3b0084886a21"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Aug 15 16:07:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:09 2007 -0700"
      },
      "message": "[SCTP]: Rewrite of sctp buffer management code\n\nThis patch introduces autotuning to the sctp buffer management code\nsimilar to the TCP.  The buffer space can be grown if the advertised\nreceive window still has room.  This might happen if small message\nsizes are used, which is common in telecom environmens.\nNew tunables are introduced that provide limits to buffer growth\nand memory pressure is entered if to much buffer spaces is used.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2dfb3733d53ac98b17756435d1f99e25490357",
      "tree": "9a70c036bcf1ed57a059efa245cbb63f300db0c5",
      "parents": [
        "b07d68b5ca4d55a16fab223d63d5fb36f89ff42f"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Jul 13 17:01:19 2007 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Aug 29 13:34:33 2007 -0400"
      },
      "message": "SCTP: properly clean up fragment and ordering queues during FWD-TSN.\n\nWhen we recieve a FWD-TSN (meaning the peer has abandoned the data),\nwe need to clean up any partially received messages that may be\nhanging out on the re-assembly or re-ordering queues.  This is\na MUST requirement that was not properly done before.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com.\u003e\n"
    },
    {
      "commit": "3ff50b7997fe06cd5d276b229967bb52d6b3b6c1",
      "tree": "4f0f57123a945c3e6c39759456b6187bb78c4b1f",
      "parents": [
        "c462238d6a6d8ee855bda10f9fff442971540ed2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Apr 20 17:09:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:24 2007 -0700"
      },
      "message": "[NET]: cleanup extra semicolons\n\nSpring cleaning time...\n\nThere seems to be a lot of places in the network code that have\nextra bogus semicolons after conditionals.  Most commonly is a\nbogus semicolon after: switch() { }\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d49d91d79a8dc5e85108a5ae1c8eef23dec135c1",
      "tree": "e98b53a69b310128a03a06fcc1dd9f94f7aa34b2",
      "parents": [
        "b6e1331f3ce25a56edb956054eaf8011654686cb"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Mar 23 11:32:00 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:00 2007 -0700"
      },
      "message": "[SCTP]: Implement SCTP_PARTIAL_DELIVERY_POINT option.\n\nThis option induces partial delivery to run as soon\nas the specified amount of data has been accumulated on\nthe association.  However, we give preference to fully\nreassembled messages over PD messages.  In any case,\nwindow and buffer is freed up.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@.hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6e1331f3ce25a56edb956054eaf8011654686cb",
      "tree": "63995f7e1de7d717df69cb4d138bce3fa4fe77ba",
      "parents": [
        "c95e939508e64863a1c5c73a9e1a908784e06820"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 20 12:23:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:59 2007 -0700"
      },
      "message": "[SCTP]: Implement SCTP_FRAGMENT_INTERLEAVE socket option\n\nThis option was introduced in draft-ietf-tsvwg-sctpsocket-13.  It\nprevents head-of-line blocking in the case of one-to-many endpoint.\nApplications enabling this option really must enable SCTP_SNDRCV event\nso that they would know where the data belongs.  Based on an\nearlier patch by Ivan Skytte Jørgensen.\n\nAdditionally, this functionality now permits multiple associations\non the same endpoint to enter Partial Delivery.  Applications should\nbe extra careful, when using this functionality, to track EOR indicators.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0cf0d9940ef27b46fcbbd9e0cc8427c30fe05eb",
      "tree": "0ac9e4b58b7a14c1215bf0516e8adf8e065cd081",
      "parents": [
        "fefaa75e0451c76225863644be01e4fd70884153"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Apr 18 14:11:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 18 14:16:09 2007 -0700"
      },
      "message": "[SCTP]: Do not interleave non-fragments when in partial delivery\n\nThe way partial delivery is currently implemnted, it is possible to\nintereleave a message (either from another steram, or unordered) that\nis not part of partial delivery process.  The only way to this is for\na message to not be a fragment and be \u0027in order\u0027 or unorderd for a\ngiven stream.  This will result in bypassing the reassembly/ordering\nqueues where things live duing partial delivery, and the\nmessage will be delivered to the socket in the middle of partial delivery.\n\nThis is a two-fold problem, in that:\n1.  the app now must check the stream-id and flags which it may not\nbe doing.\n2.  this clearing partial delivery state from the association and results\nin ulp hanging.\n\nThis patch is a band-aid over a much bigger problem in that we\ndon\u0027t do stream interleave.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b58a811461ccf3cf848aba4cc192538fd3b0516",
      "tree": "e8ada90819aabdcc2041a5637c7e6f44446cc36b",
      "parents": [
        "c577c2b99387b5ff8607d42d6eaff9ec024d4773"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Mar 19 17:01:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 20 00:09:43 2007 -0700"
      },
      "message": "[SCTP]: Clean up stale data during association restart\n\nDuring association restart we may have stale data sitting\non the ULP queue waiting for ordering or reassembly.  This\ndata may cause severe problems if not cleaned up.  In particular\nstale data pending ordering may cause problems with receive\nwindow exhaustion if our peer has decided to restart the\nassociation.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.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": "d808ad9ab8b1109239027c248c4652503b9d3029",
      "tree": "cdd09b4987a4efd687a0a138491d626f8b674de5",
      "parents": [
        "10297b99315e5e08fe623ba56da35db1fee69ba9"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:25:18 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:11 2007 -0800"
      },
      "message": "[NET] SCTP: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "331c4ee7faa4ee1e1404c872a139784753100498",
      "tree": "c5bbae21fd17f7948ab2506cad4d6f2ecba911ee",
      "parents": [
        "6e8c751e07b34d73069e9333f67fbe5ffe31ec3a"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Oct 09 21:34:04 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 11 23:59:44 2006 -0700"
      },
      "message": "[SCTP]: Fix receive buffer accounting.\n\nWhen doing receiver buffer accounting, we always used skb-\u003etruesize.\nThis is problematic when processing bundled DATA chunks because for\nevery DATA chunk that could be small part of one large skb, we would\ncharge the size of the entire skb.  The new approach is to store the\nsize of the DATA chunk we are accounting for in the sctp_ulpevent\nstructure and use that stored value for accounting.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.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": "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"
    }
  ]
}
