)]}'
{
  "log": [
    {
      "commit": "8b4472cc13136d04727e399c6fdadf58d2218b0a",
      "tree": "cad3cdcca69d8a701558386fef36f2f158a570a5",
      "parents": [
        "f11970e383acd6f505f492f1bc07fb1a4d884829"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue May 24 21:48:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 25 17:55:32 2011 -0400"
      },
      "message": "sctp: fix memory leak of the ASCONF queue when free asoc\n\nIf an ASCONF chunk is outstanding, then the following ASCONF\nchunk will be queued for later transmission. But when we free\nthe asoc, we forget to free the ASCONF queue at the same time,\nthis will cause memory leak.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71338aa7d050c86d8765cd36e46be514fb0ebbce",
      "tree": "96bacb805b939c490145b31b4e2fb9e5cea79c5d",
      "parents": [
        "229de618ba6ff36e382b908b7637fe56c25ae9f1"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Mon May 23 12:17:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 24 01:13:12 2011 -0400"
      },
      "message": "net: convert %p usage to %pK\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\nThe supporting code for kptr_restrict and %pK are currently in the -mm\ntree.  This patch converts users of %p in net/ to %pK.  Cases of printing\npointers to the syslog are not covered, since this would eliminate useful\ninformation for postmortem debugging and the reading of the syslog is\nalready optionally protected by the dmesg_restrict sysctl.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d414521663295ce25c90164f4d41a07ac846468",
      "tree": "50a3175fe7292ab775cf8031eee510aec2356de4",
      "parents": [
        "0a384b226f61b310586701669b573b49cfcbf436"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 21 02:10:23 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 21 02:10:23 2011 -0400"
      },
      "message": "sctp: Fix build failure.\n\nCommit c182f90bc1f22ce5039b8722e45621d5f96862c2 (\"SCTP: fix race\nbetween sctp_bind_addr_free() and sctp_bind_addr_conflict()\") and\ncommit 1231f0baa547a541a7481119323b7f964dda4788 (\"net,rcu: convert\ncall_rcu(sctp_local_addr_free) to kfree_rcu()\"), happening in\ndifferent trees, introduced a build failure.\n\nSimply make the SCTP race fix use kfree_rcu() too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "c182f90bc1f22ce5039b8722e45621d5f96862c2",
      "tree": "48c5f4f727a2aa7fcde81fccc4ab26f9a0c1a517",
      "parents": [
        "be281e554e2a4cf2478df7a8b8926c89454bccfa"
      ],
      "author": {
        "name": "Jacek Luczak",
        "email": "difrost.kernel@gmail.com",
        "time": "Thu May 19 09:55:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 17:13:04 2011 -0400"
      },
      "message": "SCTP: fix race between sctp_bind_addr_free() and sctp_bind_addr_conflict()\n\nDuring the sctp_close() call, we do not use rcu primitives to\ndestroy the address list attached to the endpoint.  At the same\ntime, we do the removal of addresses from this list before\nattempting to remove the socket from the port hash\n\nAs a result, it is possible for another process to find the socket\nin the port hash that is in the process of being closed.  It then\nproceeds to traverse the address list to find the conflict, only\nto have that address list suddenly disappear without rcu() critical\nsection.\n\nFix issue by closing address list removal inside RCU critical\nsection.\n\nRace can result in a kernel crash with general protection fault or\nkernel NULL pointer dereference:\n\nkernel: general protection fault: 0000 [#1] SMP\nkernel: RIP: 0010:[\u003cffffffffa02f3dde\u003e]  [\u003cffffffffa02f3dde\u003e] sctp_bind_addr_conflict+0x64/0x82 [sctp]\nkernel: Call Trace:\nkernel:  [\u003cffffffffa02f415f\u003e] ? sctp_get_port_local+0x17b/0x2a3 [sctp]\nkernel:  [\u003cffffffffa02f3d45\u003e] ? sctp_bind_addr_match+0x33/0x68 [sctp]\nkernel:  [\u003cffffffffa02f4416\u003e] ? sctp_do_bind+0xd3/0x141 [sctp]\nkernel:  [\u003cffffffffa02f5030\u003e] ? sctp_bindx_add+0x4d/0x8e [sctp]\nkernel:  [\u003cffffffffa02f5183\u003e] ? sctp_setsockopt_bindx+0x112/0x4a4 [sctp]\nkernel:  [\u003cffffffff81089e82\u003e] ? generic_file_aio_write+0x7f/0x9b\nkernel:  [\u003cffffffffa02f763e\u003e] ? sctp_setsockopt+0x14f/0xfee [sctp]\nkernel:  [\u003cffffffff810c11fb\u003e] ? do_sync_write+0xab/0xeb\nkernel:  [\u003cffffffff810e82ab\u003e] ? fsnotify+0x239/0x282\nkernel:  [\u003cffffffff810c2462\u003e] ? alloc_file+0x18/0xb1\nkernel:  [\u003cffffffff8134a0b1\u003e] ? compat_sys_setsockopt+0x1a5/0x1d9\nkernel:  [\u003cffffffff8134aaf1\u003e] ? compat_sys_socketcall+0x143/0x1a4\nkernel:  [\u003cffffffff810467dc\u003e] ? sysenter_dispatch+0x7/0x32\n\nSigned-off-by: Jacek Luczak \u003cluczak.jacek@gmail.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afd7614c00e364f8f1327e73ad291b02f6d4d1a6",
      "tree": "67a49abb1a0efa9544ae3a328f1eafe34436799b",
      "parents": [
        "517aa0bcda9b092a4c3fab7bf93f0cebe372ece0"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 12 09:19:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 17:30:50 2011 -0400"
      },
      "message": "sctp: sctp_sendmsg: Don\u0027t test known non-null sinfo\n\nIt\u0027s already known non-null above.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "517aa0bcda9b092a4c3fab7bf93f0cebe372ece0",
      "tree": "28edc7ce3bd99465ae0eca4294ebd98dd4bbdb25",
      "parents": [
        "1769192a3c50778e03352a3d95faec830d47ba55"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 12 11:27:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 17:30:49 2011 -0400"
      },
      "message": "sctp: sctp_sendmsg: Don\u0027t initialize default_sinfo\n\nThis variable only needs initialization when cmsgs.info\nis NULL.\n\nUse memset to ensure padding is also zeroed so\nkernel doesn\u0027t leak any data.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "902ebd3e0de618b6d39004edac00b2cc36362065",
      "tree": "907740c5c0ff7aba906141001d8c69209f5498a6",
      "parents": [
        "79ab053145ae10edf8f0809d1c788b853c7f6ef1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 14:49:13 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 13:32:47 2011 -0700"
      },
      "message": "sctp: Remove rt-\u003ert_src usage in sctp_v4_get_saddr()\n\nFlow key is available, so fetch it from there.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ef73bca731fea9d4b706db2acb96b6488aa1b0e",
      "tree": "61ad9f5fe7d0459ec651f69d46f06f4572f5c971",
      "parents": [
        "f5fca6086511294653a9e821f8e22f041415ba7b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:14:41 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:24:07 2011 -0700"
      },
      "message": "sctp: Fix debug message args.\n\nI messed things up when I converted over to the transport\nflow, I passed the ipv4 address value instead of it\u0027s address.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1c0a276ea1786213bda2313cd9034f3a23f2e77",
      "tree": "c46e1a4551cbbe6c41be286390e06f9a3df3e270",
      "parents": [
        "ea4fc0d6193ff56fcef39b0d2210d402a7acb5f0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:34:29 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:29 2011 -0700"
      },
      "message": "sctp: Don\u0027t use rt-\u003ert_{src,dst} in sctp_v4_xmit()\n\nNow we can pick it out of the transport\u0027s flow key.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9d8da805dcb503ef8ee49918a94d49085060f23",
      "tree": "ede7d2af74c2982eb24430079aea63c05a3420e9",
      "parents": [
        "0e734419923bd8e599858f8fc196c7804bb85564"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:23:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:28 2011 -0700"
      },
      "message": "inet: Pass flowi to -\u003equeue_xmit().\n\nThis allows us to acquire the exact route keying information from the\nprotocol, however that might be managed.\n\nIt handles all of the possibilities, from the simplest case of storing\nthe key in inet-\u003ecork.fl to the more complex setup SCTP has where\nindividual transports determine the flow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8663c938ceb72f47941c95ff0ea491ebbdd68f26",
      "tree": "f87bf63fb7f8ca29e01083e742c0530c25a9feb9",
      "parents": [
        "b57ae01a8a8446dbbed7365c9b05aef1fc6dea20"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 16:32:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 14:05:14 2011 -0700"
      },
      "message": "sctp: Store a flowi in transports to provide persistent keying.\n\nSeveral future simplifications are possible now because of this.\n\nFor example, the sctp_addr unions can simply refer directly to\nthe flowi information.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1231f0baa547a541a7481119323b7f964dda4788",
      "tree": "4f03036990f55084650cda8f2cd17c759c6b2542",
      "parents": [
        "37b6b935e96e837ccc60812c03e9f92e7dce2e61"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 18:05:02 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:51 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(sctp_local_addr_free) to kfree_rcu()\n\nThe rcu callback sctp_local_addr_free() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(sctp_local_addr_free).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "18a353f42817f08e3501162ceda9d2efddb08a40",
      "tree": "250d1977232b7a14330b18758e091c0b3ac5d73e",
      "parents": [
        "492f64ce12e259abd85714d05b885e105bd8aeef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:55:05 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:55:05 2011 -0700"
      },
      "message": "sctp: Use flowi4\u0027s {saddr,daddr} in sctp_v4_dst_saddr() and sctp_v4_get_dst()\n\nInstead of rt-\u003ert_{src,dst}\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da0420bee24a1ba54e55a61e95b1a53205d7e62d",
      "tree": "b17401ad5e6d97f8e3c8649725d5ca0a20e1b765",
      "parents": [
        "af1384703f8a4ff3d245925d6596ef1c5c6e469e"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 26 21:54:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:06 2011 -0700"
      },
      "message": "sctp: clean up route lookup calls\n\nChange the call to take the transport parameter and set the\ncached \u0027dst\u0027 appropriately inside the get_dst() function calls.\n\nThis will allow us in the future  to clean up source address\nstorage as well.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af1384703f8a4ff3d245925d6596ef1c5c6e469e",
      "tree": "e96ff72cb9dd65961d0e175a61aa6c0b8c91b7e1",
      "parents": [
        "9c6a02f41d10dc9fbf5dd42058e8846f38dd2d9a"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 26 21:53:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:06 2011 -0700"
      },
      "message": "sctp: remove useless arguments from get_saddr() call\n\nThere is no point in passing a destination address to\na get_saddr() call.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c6a02f41d10dc9fbf5dd42058e8846f38dd2d9a",
      "tree": "c6ce6904ce9517fbba4b6b9b5c02c0d604b33e59",
      "parents": [
        "9914ae3ca770389a3bec3114d0a07532a7f235dd"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 26 21:52:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:05 2011 -0700"
      },
      "message": "sctp: make sctp over IPv6 work with IPsec\n\nSCTP never called xfrm_output after it\u0027s v6 route lookups so\nthat never really worked with ipsec.  Additioanlly, we never\npassed port nubmers and protocol in the flowi, so any port\nbased policies were never applied as well.  Now that we can\nfixed ipv6 routing lookup code, using ip6_dst_lookup_flow()\nand pass port numbers.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9914ae3ca770389a3bec3114d0a07532a7f235dd",
      "tree": "269120740aa1afdb0dd792284341aaee93024f28",
      "parents": [
        "625034113bd45c71fb9e329f52f25fef9e6993a3"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 26 21:51:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:04 2011 -0700"
      },
      "message": "sctp: cache the ipv6 source after route lookup\n\nThe ipv6 routing lookup does give us a source address,\nbut instead of filling it into the dst, it\u0027s stored in\nthe flowi.  We can use that instead of going through the\nentire source address selection again.\nAlso the useless -\u003edst_saddr member of sctp_pf is removed.\nAnd sctp_v6_dst_saddr() is removed, instead by introduce\nsctp_v6_to_addr(), which can be reused to cleanup some dup\ncode.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "625034113bd45c71fb9e329f52f25fef9e6993a3",
      "tree": "f4bd4ffc34bcf7993f8815ed55adc7cf0f4c2be9",
      "parents": [
        "66e6961c8e53c0c0079d5b67faf9b7fe33525892"
      ],
      "author": {
        "name": "Weixing Shi",
        "email": "Weixing.Shi@windriver.com",
        "time": "Tue Apr 26 21:36:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:04 2011 -0700"
      },
      "message": "sctp: fix sctp to work with ipv6 source address routing\n\nIn the below test case, using the source address routing,\nsctp can not work.\nNode-A\n1)ifconfig eth0 inet6 add 2001:1::1/64\n2)ip -6 rule add from 2001:1::1 table 100 pref 100\n3)ip -6 route add 2001:2::1 dev eth0 table 100\n4)sctp_darn -H 2001:1::1 -P 250 -l \u0026\nNode-B\n1)ifconfig eth0 inet6 add 2001:2::1/64\n2)ip -6 rule add from 2001:2::1 table 100 pref 100\n3)ip -6 route add 2001:1::1 dev eth0 table 100\n4)sctp_darn -H 2001:2::1 -P 250 -h 2001:1::1 -p 250 -s\n\nroot cause:\nNode-A and Node-B use the source address routing, and\nat begining, source address will be NULL,sctp will\nsearch the  routing table by the destination address,\nbecause using the source address routing table, and\nthe result dst_entry will be NULL.\n\nsolution:\nwalk through the bind address list to get the source\naddress and then lookup the routing table again to get\nthe correct dst_entry.\n\nSigned-off-by: Weixing Shi \u003cWeixing.Shi@windriver.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9c549998dc24209847007e1f209f3b6c88d21ba",
      "tree": "0f52fcbe1dfa158349afc6ad2edaa6738615dc3b",
      "parents": [
        "8e10cd74342c7f5ce259cceca36f6eba084f5d58"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:28:26 2011 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:31:11 2011 -0700"
      },
      "message": "Revert wrong fixes for common misspellings\n\nThese changes were incorrectly fixed by codespell. They were now\nmanually corrected.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "b71d1d426d263b0b6cb5760322efebbfc89d4463",
      "tree": "226ca7390bd6187ec9139d2ccedd26fd94d8e57a",
      "parents": [
        "5f8629c526b4f7e529a6d27bbd802c0dc7fcc357"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Apr 22 04:53:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 22 11:04:14 2011 -0700"
      },
      "message": "inet: constify ip headers and in6_addr\n\nAdd const qualifiers to structs iphdr, ipv6hdr and in6_addr pointers\nwhere possible, to make code intention more obvious.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1cdd553d482ceb083fac5e544e8702fccefbfd6",
      "tree": "b2b0f0bdc7a90c03a91bba6289143ae0056c651a",
      "parents": [
        "ee916fd0fdb8f43dacaab431de3e1f7225039d72"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Apr 17 17:29:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 21 10:35:44 2011 -0700"
      },
      "message": "sctp: implement event notification SCTP_SENDER_DRY_EVENT\n\nThis patch implement event notification SCTP_SENDER_DRY_EVENT.\nSCTP Socket API Extensions:\n\n  6.1.9. SCTP_SENDER_DRY_EVENT\n\n  When the SCTP stack has no more user data to send or retransmit, this\n  notification is given to the user. Also, at the time when a user app\n  subscribes to this event, if there is no data to be sent or\n  retransmit, the stack will immediately send up this notification.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee916fd0fdb8f43dacaab431de3e1f7225039d72",
      "tree": "98dc89aaaf3b2e6c4b69276e7e33c960f4b7b19a",
      "parents": [
        "209ba424c2c6e5ff4dd0ff79bb23659aa6048eac"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Apr 17 17:28:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 21 10:35:44 2011 -0700"
      },
      "message": "sctp: change auth event type name to SCTP_AUTHENTICATION_EVENT\n\nThis patch change the auth event type name to SCTP_AUTHENTICATION_EVENT,\nwhich is based on API extension compliance.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "209ba424c2c6e5ff4dd0ff79bb23659aa6048eac",
      "tree": "df443b83a4d458cfb46ea2e08e176b2433fa5b66",
      "parents": [
        "4c6a6f42131dd750dcfe3c71e63bfc046e5a227e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Apr 17 17:27:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 21 10:35:43 2011 -0700"
      },
      "message": "sctp: implement socket option SCTP_GET_ASSOC_ID_LIST\n\nThis patch Implement socket option SCTP_GET_ASSOC_ID_LIST.\nSCTP Socket API Extension:\n\n  8.2.6. Get the Current Identifiers of Associations\n         (SCTP_GET_ASSOC_ID_LIST)\n\n  This option gets the current list of SCTP association identifiers of\n  the SCTP associations handled by a one-to-many style socket.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c6a6f42131dd750dcfe3c71e63bfc046e5a227e",
      "tree": "3f339059c819b083700e803319fa54a4666bd312",
      "parents": [
        "92c73af58e9f1b487322ce25a7a67889c9d91343"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:32:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:06 2011 -0700"
      },
      "message": "sctp: move chunk from retransmit queue to abandoned list\n\nIf there is still data waiting to retransmit and remain in\nretransmit queue, while doing the next retransmit, if the\nchunk is abandoned, we should move it to abandoned list.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92c73af58e9f1b487322ce25a7a67889c9d91343",
      "tree": "e15fe97de52dfade4956a5c6378f16ddde0d0c7c",
      "parents": [
        "de6becdc0844ff92b38ffd9f0c4db1d3de02835f"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:31:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:05 2011 -0700"
      },
      "message": "sctp: make heartbeat information in sctp_make_heartbeat()\n\nMake heartbeat information in sctp_make_heartbeat() instead\nof make it in sctp_sf_heartbeat() directly for common using.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de6becdc0844ff92b38ffd9f0c4db1d3de02835f",
      "tree": "f52df91a347ece7e4efc09ca2974e8e38f38a3f8",
      "parents": [
        "85c5ed4e44a262344ce43b4bf23204107923ca95"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:30:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:05 2011 -0700"
      },
      "message": "sctp: fix to check the source address of COOKIE-ECHO chunk\n\nSCTP does not check whether the source address of COOKIE-ECHO\nchunk is the original address of INIT chunk or part of the any\naddress parameters saved in COOKIE in CLOSED state. So even if\nthe COOKIE-ECHO chunk is from any address but with correct COOKIE,\nthe COOKIE-ECHO chunk still be accepted. If the COOKIE is not from\na valid address, the assoc should not be established.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85c5ed4e44a262344ce43b4bf23204107923ca95",
      "tree": "1b494d271d2e08a4f316bbf8cbeb677eed11b939",
      "parents": [
        "deb85a6ecc432a4f342004a6ac2a0dad7cba6846"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:30:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:04 2011 -0700"
      },
      "message": "sctp: handle ootb packet in chunk order as defined\n\nChanged the order of processing SHUTDOWN ACK and COOKIE ACK\nrefer to section 8.4:Handle \"Out of the Blue\" Packets.\n\nSHUTDOWN ACK chunk should be processed before processing\n\"Stale Cookie\" ERROR or a COOKIE ACK.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "deb85a6ecc432a4f342004a6ac2a0dad7cba6846",
      "tree": "45bbca28f552fe2f74202117d564ecd7cbe8ddde",
      "parents": [
        "0b8f9e25b0aaf5a5d9fd844a97e5c17746b865d4"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 19 21:29:23 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:03 2011 -0700"
      },
      "message": "sctp: bail from sctp_endpoint_lookup_assoc() if not bound\n\nThe sctp_endpoint_lookup_assoc() function uses a port hash\nto lookup the association and then checks to see if any of\nthem are on the current endpoint.  However, if the current\nendpoint is not bound, there can\u0027t be any associations on\nit, thus we can bail early.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b8f9e25b0aaf5a5d9fd844a97e5c17746b865d4",
      "tree": "cc531084f434bc4602341f3144ee654a9a4af612",
      "parents": [
        "48669698c23339e0fa31753f04e77648fc210339"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 19 21:28:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:03 2011 -0700"
      },
      "message": "sctp: remove completely unsed EMPTY state\n\nSCTP does not SCTP_STATE_EMPTY and we can never be in\nthat state.  Remove useless code.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96ca468b86b09aa6a001ac65dba93a6c4a3692a5",
      "tree": "2fe288fb35d4dd0faa0cd9ea0fd6c32690ec387d",
      "parents": [
        "8a00be1c89cc17fda5f438794ff27449af6f00f1"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:26:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:02 2011 -0700"
      },
      "message": "sctp: check invalid value of length parameter in error cause\n\nRFC4960, section 3.3.7 said:\n If an endpoint receives an ABORT with a format error or no TCB is\n found, it MUST silently discard it.\n\nWhen an endpoint receives ABORT that parameter value is invalid,\ndrop it.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a00be1c89cc17fda5f438794ff27449af6f00f1",
      "tree": "a9b01d90300f59ca15b5f38a0c3804ccca6bb719",
      "parents": [
        "882553752196605bf27057e7adb298ecae8058c4"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:25:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:01 2011 -0700"
      },
      "message": "sctp: check parameter value of length in ERROR chunk\n\nWhen an endpoint receives ERROR that parameter value is invalid,\nsend an ABORT to peer with a Protocol Violation error code.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6ef006bf57fb6a8a0b134928b5c5606090ef0a0",
      "tree": "75edcd54d0d475cb1c3a21e06422c333b5a0096f",
      "parents": [
        "ee9cbaca7d73ea0098f00ecd10fe6e4a4792e32c"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Apr 18 19:15:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:22 2011 -0700"
      },
      "message": "sctp: Release all routes when processing acks ADD_IP or DEL_IP\n\nWhen processing an ACK for ADD_IP parameter, we only release\nthe routes on non-active transports.  This can cause a wrong\nsource address to be used.  We can release the routes and\ncause new route lookups and source address selection so that\nnew addresses can be used as source.  Additionally, we don\u0027t need\nto lookup routes for all transports at the same time.  We can let\nthe transmit code path update the cached route when the transport\nactually sends something.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee9cbaca7d73ea0098f00ecd10fe6e4a4792e32c",
      "tree": "248b339ae6e8c048dcbe844c4cd8bcf1ebbbfc2f",
      "parents": [
        "f246a7b7c5b9df0ea0f0807a7101995af5e83213"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Apr 18 19:14:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:21 2011 -0700"
      },
      "message": "sctp: Allow bindx_del to accept 0 port\n\nWe allow 0 port when adding new addresses.  It only\nmakes sence to allow 0 port when removing addresses.\nWhen removing the currently bound port will be used\nwhen the port in the address is set to 0.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f246a7b7c5b9df0ea0f0807a7101995af5e83213",
      "tree": "4362f120c0f483b603407f04c66a0f7b472b0287",
      "parents": [
        "934253a7b4ab4151037ea9532552628723a14442"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Apr 18 19:13:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:21 2011 -0700"
      },
      "message": "sctp: teach CACC algorithm about removed transports\n\nWhen we have have to remove a transport due to ASCONF, we move\nthe data to a new active path.  This can trigger CACC algorithm\nto not mark that data as missing when SACKs arrive.  This is\nbecause the transport passed to the CACC algorithm is the one\nthis data is sitting on, not the one it was sent on (that one\nmay be gone).  So, by sending the original transport (even if\nit\u0027s NULL), we may start marking data as missing.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "934253a7b4ab4151037ea9532552628723a14442",
      "tree": "34958bbe96f709ff06c7e9ea77d44b96da3986d7",
      "parents": [
        "66009927f1e7374afdc6f9fdd25c493ee4eadf7c"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:13:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:20 2011 -0700"
      },
      "message": "sctp: use memdup_user to copy data from userspace\n\nUse common function to simply code.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66009927f1e7374afdc6f9fdd25c493ee4eadf7c",
      "tree": "0c7ae1b31bc879bd9a334c4348275f59754979ae",
      "parents": [
        "6a435732accd9e3f4a8d9c320fabe578b1bf5add"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:12:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:19 2011 -0700"
      },
      "message": "sctp: kill abandoned SCTP_CMD_TRANSMIT command\n\nRemove SCTP_CMD_TRANSMIT command as it never be used.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a435732accd9e3f4a8d9c320fabe578b1bf5add",
      "tree": "35492d5afc59dabb41361c5a6dec015b89303fe6",
      "parents": [
        "33c7cfdbb0d2bc021979e4947c7030c30d572532"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:11:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:19 2011 -0700"
      },
      "message": "sctp: use common head of addr parameter to access member in addr-unrelated code\n\nThe \u0027p\u0027 member of struct sctp_paramhdr is common part for\nIPv4 addr parameter and IPv6 addr parameter in union sctp_addr_param.\n\nFor addr-related code, use specified addr parameter.\nOtherwise, use common header to access type/length member.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33c7cfdbb0d2bc021979e4947c7030c30d572532",
      "tree": "4efc68e4e16ecb3ad53ad082eabcae92dafd5bcf",
      "parents": [
        "709d38714eff234432956931437457e0de806784"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:11:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:18 2011 -0700"
      },
      "message": "sctp: fix the comment of sctp_sf_violation_paramlen()\n\nUpdate the comment about sctp_sf_violation_paramlen() to be\nmore precise.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9494c7c5774d64a84a269aad38c153c4dbff97e6",
      "tree": "03d1eb5fffa30789455f12fb59bbd917e465e8c9",
      "parents": [
        "25f7bf7d0dfb460505cbe42676340e33100aca2e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Apr 12 15:22:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 12 19:33:51 2011 -0700"
      },
      "message": "sctp: fix oops while removed transport still using as retran path\n\nSince we can not update retran path to unconfirmed transports,\nwhen we remove a peer, the retran path may not be update if the\nother transports are all unconfirmed, and we will still using\nthe removed transport as the retran path. This may cause panic\nif retrasnmit happen.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25f7bf7d0dfb460505cbe42676340e33100aca2e",
      "tree": "76467af7ca483f836f9acc2fc73f000db6223a4e",
      "parents": [
        "31d8b9e099e59f880aa65095951559896d4e20fa"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 12 15:20:48 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 12 19:33:50 2011 -0700"
      },
      "message": "sctp: fix oops when updating retransmit path with DEBUG on\n\ncommit fbdf501c9374966a56829ecca3a7f25d2b49a305\n  sctp: Do no select unconfirmed transports for retransmissions\n\nIntroduced the initial falt.\n\ncommit d598b166ced20d9b9281ea3527c0e18405ddb803\n  sctp: Make sure we always return valid retransmit path\n\nSolved the problem, but forgot to change the DEBUG statement.\nThus it was still possible to dereference a NULL pointer.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "2cab86bee8e7f353e6ac8c15b3eb906643497644",
      "tree": "8b65b48f5b32d3e6a60e97674f4b21be24f840a6",
      "parents": [
        "028dba0ac3fc3c82da06110b011fce22a5ffad00"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Mar 31 23:42:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 01 21:45:51 2011 -0700"
      },
      "message": "sctp: malloc enough room for asconf-ack chunk\n\nSometime the ASCONF_ACK parameters can equal to the fourfold of\nASCONF parameters, this only happend in some special case:\n\n  ASCONF parameter is :\n    Unrecognized Parameter (4 bytes)\n  ASCONF_ACK parameter should be:\n    Error Cause Indication parameter (8 bytes header)\n     + Error Cause (4 bytes header)\n       + Unrecognized Parameter (4bytes)\n\nFour 4bytes Unrecognized Parameters in ASCONF chunk will cause panic.\n\nPid: 0, comm: swapper Not tainted 2.6.38-next+ #22 Bochs Bochs\nEIP: 0060:[\u003cc0717eae\u003e] EFLAGS: 00010246 CPU: 0\nEIP is at skb_put+0x60/0x70\nEAX: 00000077 EBX: c09060e2 ECX: dec1dc30 EDX: c09469c0\nESI: 00000000 EDI: de3c8d40 EBP: dec1dc58 ESP: dec1dc2c\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess swapper (pid: 0, ti\u003ddec1c000 task\u003dc09aef20 task.ti\u003dc0980000)\nStack:\n c09469c0 e1894fa4 00000044 00000004 de3c8d00 de3c8d00 de3c8d44 de3c8d40\n c09060e2 de25dd80 de3c8d40 dec1dc7c e1894fa4 dec1dcb0 00000040 00000004\n 00000000 00000800 00000004 00000004 dec1dce0 e1895a2b dec1dcb4 de25d960\nCall Trace:\n [\u003ce1894fa4\u003e] ? sctp_addto_chunk+0x4e/0x89 [sctp]\n [\u003ce1894fa4\u003e] sctp_addto_chunk+0x4e/0x89 [sctp]\n [\u003ce1895a2b\u003e] sctp_process_asconf+0x32f/0x3d1 [sctp]\n [\u003ce188d554\u003e] sctp_sf_do_asconf+0xf8/0x173 [sctp]\n [\u003ce1890b02\u003e] sctp_do_sm+0xb8/0x159 [sctp]\n [\u003ce18a2248\u003e] ? sctp_cname+0x0/0x52 [sctp]\n [\u003ce189392d\u003e] sctp_assoc_bh_rcv+0xac/0xe3 [sctp]\n [\u003ce1897d76\u003e] sctp_inq_push+0x2d/0x30 [sctp]\n [\u003ce18a21b2\u003e] sctp_rcv+0x7a7/0x83d [sctp]\n [\u003cc077a95c\u003e] ? ipv4_confirm+0x118/0x125\n [\u003cc073a970\u003e] ? nf_iterate+0x34/0x62\n [\u003cc074789d\u003e] ? ip_local_deliver_finish+0x0/0x194\n [\u003cc074789d\u003e] ? ip_local_deliver_finish+0x0/0x194\n [\u003cc0747992\u003e] ip_local_deliver_finish+0xf5/0x194\n [\u003cc074789d\u003e] ? ip_local_deliver_finish+0x0/0x194\n [\u003cc0747a6e\u003e] NF_HOOK.clone.1+0x3d/0x44\n [\u003cc0747ab3\u003e] ip_local_deliver+0x3e/0x44\n [\u003cc074789d\u003e] ? ip_local_deliver_finish+0x0/0x194\n [\u003cc074775c\u003e] ip_rcv_finish+0x29f/0x2c7\n [\u003cc07474bd\u003e] ? ip_rcv_finish+0x0/0x2c7\n [\u003cc0747a6e\u003e] NF_HOOK.clone.1+0x3d/0x44\n [\u003cc0747cae\u003e] ip_rcv+0x1f5/0x233\n [\u003cc07474bd\u003e] ? ip_rcv_finish+0x0/0x2c7\n [\u003cc071dce3\u003e] __netif_receive_skb+0x310/0x336\n [\u003cc07221f3\u003e] netif_receive_skb+0x4b/0x51\n [\u003ce0a4ed3d\u003e] cp_rx_poll+0x1e7/0x29c [8139cp]\n [\u003cc072275e\u003e] net_rx_action+0x65/0x13a\n [\u003cc0445a54\u003e] __do_softirq+0xa1/0x149\n [\u003cc04459b3\u003e] ? __do_softirq+0x0/0x149\n \u003cIRQ\u003e\n [\u003cc0445891\u003e] ? irq_exit+0x37/0x72\n [\u003cc040a7e9\u003e] ? do_IRQ+0x81/0x95\n [\u003cc07b3670\u003e] ? common_interrupt+0x30/0x38\n [\u003cc0428058\u003e] ? native_safe_halt+0xa/0xc\n [\u003cc040f5d7\u003e] ? default_idle+0x58/0x92\n [\u003cc0408fb0\u003e] ? cpu_idle+0x96/0xb2\n [\u003cc0797989\u003e] ? rest_init+0x5d/0x5f\n [\u003cc09fd90c\u003e] ? start_kernel+0x34b/0x350\n [\u003cc09fd0cb\u003e] ? i386_start_kernel+0xba/0xc1\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "a84b50ceb7d640437d0dc28a2bef0d0de054de89",
      "tree": "e16a02b6be682dd9c3560fe7639331d1f1d62fa1",
      "parents": [
        "04f482faf50535229a5a5c8d629cf963899f857c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 17:51:36 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 17:51:36 2011 -0700"
      },
      "message": "sctp: Pass __GFP_NOWARN to hash table allocation attempts.\n\nLike DCCP and other similar pieces of code, there are mechanisms\nhere to try allocating smaller hash tables if the allocation\nfails.  So pass in __GFP_NOWARN like the others do instead of\nemitting a scary message.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c9483b2fb5d2548c3cc1fe03cdd4484ceeb5d1c",
      "tree": "c29c8070012cffb38fe249cf528589a675f622b1",
      "parents": [
        "9cce96df5b76691712dba22e83ff5efe900361e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 16:22:43 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "ipv6: Convert to use flowi6 where applicable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cce96df5b76691712dba22e83ff5efe900361e1",
      "tree": "eecf99e64c6866af944e1e1644d87737392b2da2",
      "parents": [
        "f42454d632753d71ea1a2df09be7bbda32b6372d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 03:00:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "net: Put fl4_* macros to struct flowi4 and use them again.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d6ec938019c6b16cb9ec96598ebe8f20de435fe",
      "tree": "9b850eb7fd48a6e5ffc15f47afd2e3edc93f5290",
      "parents": [
        "68a5e3dd0a0056d8b349f9eea3756adda53ec17a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 01:12:47 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in public route lookup interfaces.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6281dcc94a96bd73017b2baa8fa83925405109ef",
      "tree": "8deee4d66d256d10ea25f66520eb96b1fade1545",
      "parents": [
        "08704bcbf022786532b5f188935ab6619906049f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:43:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Make flowi ports AF dependent.\n\nCreate two sets of port member accessors, one set prefixed by fl4_*\nand the other prefixed by fl6_*\n\nThis will let us to create AF optimal flow instances.\n\nIt will work because every context in which we access the ports,\nwe have to be fully aware of which AF the flowi is anyways.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efea2c6b2efc1716b2c0cf257cc428d6cd3ed6e2",
      "tree": "b2b630441b908802ccfa303fb35f07aab11a78a0",
      "parents": [
        "e143038f4dda10a51985b9a3f9fb07d73a5eadfa"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:14 2011 -0800"
      },
      "message": "sctp: several declared/set but unused fixes\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eaefd1105bc431ef329599e307a07f2a36ae7872",
      "tree": "658eeed417654c8f6015d4d5f957f5a1b5e9521f",
      "parents": [
        "04cfa852ff8dab923640500ee850d19e75bacabc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Feb 18 03:26:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 10:19:31 2011 -0800"
      },
      "message": "net: add __rcu annotations to sk_wq and wq\n\nAdd proper RCU annotations/verbs to sk_wq and wq members\n\nFix __sctp_write_space() sk_sleep() abuse (and sock-\u003ewq access)\n\nFix sunrpc sk_sleep() abuse too\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59ed5aba9ca1c799e272b352d5d2d7fe12bd32e8",
      "tree": "87cc24c96233c6ea6e1a81cc314f9c2f1cf557af",
      "parents": [
        "089c34827e52346f0303d1e6a7b744c1f4da3095"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Sat Feb 19 21:57:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 20 11:10:15 2011 -0800"
      },
      "message": "sctp: fix compile warnings in sctp_tsnmap_num_gabs\n\nnet/sctp/tsnmap.c: In function ‘sctp_tsnmap_num_gabs’:\nnet/sctp/tsnmap.c:347: warning: ‘start’ may be used uninitialized in this function\nnet/sctp/tsnmap.c:347: warning: ‘end’ may be used uninitialized in this function\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2205a6ea93fea76f88b43727fea53f3ce3790d6f",
      "tree": "440ff9d40ce5eeee3c85e22feea20f2a0c4d4065",
      "parents": [
        "226111d1fbe611bc7a5ffaa5275ccb41e73fd011"
      ],
      "author": {
        "name": "Jiri Bohac",
        "email": "jbohac@suse.cz",
        "time": "Thu Feb 17 13:12:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 19:06:55 2011 -0800"
      },
      "message": "sctp: fix reporting of unknown parameters\n\ncommit 5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809 re-worked the\nhandling of unknown parameters. sctp_init_cause_fixed() can now\nreturn -ENOSPC if there is not enough tailroom in the error\nchunk skb. When this happens, the error header is not appended to\nthe error chunk. In that case, the payload of the unknown parameter\nshould not be appended either.\n\nSigned-off-by: Jiri Bohac \u003cjbohac@suse.cz\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4580ccc04ddd8c17a470573a7fdb8def2e036dfa",
      "tree": "09c0d4c275c95b70b7e859b0449019fb791fc09c",
      "parents": [
        "d402786ea4f8433774a812d6b8635e737425cddd"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Jan 18 22:39:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 16:51:29 2011 -0800"
      },
      "message": "sctp: user perfect name for Delayed SACK Timer option\n\nThe option name of Delayed SACK Timer should be SCTP_DELAYED_SACK,\nnot SCTP_DELAYED_ACK.\n\nLeft SCTP_DELAYED_ACK be concomitant with SCTP_DELAYED_SACK,\nfor making compatibility with existing applications.\n\nReference:\n8.1.19.  Get or Set Delayed SACK Timer (SCTP_DELAYED_SACK)\n（http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-25)\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4aa9e05a61b845541fa6f5b1d246976922601f0",
      "tree": "ca94478c3df281ab76a3399f5ba6341ade3f5791",
      "parents": [
        "1dc0f3c54ce1df957f99c17b145488fd03eb1a59",
        "4b8fe66300acb2fba8b16d62606e0d30204022fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n\tdrivers/net/wireless/iwlwifi/iwl-1000.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/vhost/vhost.c\n"
    },
    {
      "commit": "7d743b7e952261f4d9ee091100b6403f3ce8a2af",
      "tree": "9829009c63ccebbf65b4cca63c1eb4e14b8e5fd1",
      "parents": [
        "0b7967503dc97864f283a3a06fbe23e041876138"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Dec 14 16:10:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:48:44 2010 -0800"
      },
      "message": "sctp: fix the return value of getting the sctp partial delivery point\n\nGet the sctp partial delivery point using SCTP_PARTIAL_DELIVERY_POINT\nsocket option should return 0 if success, not -ENOTSUPP.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40a010395cd66053f07bffeb3da5e44683bac30e",
      "tree": "f734e8da3145553bd47416d27c33e62435a39e52",
      "parents": [
        "79aeec5822cea63cf732bbc0c9f3337542352616"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Dec 07 17:11:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 15:29:49 2010 -0800"
      },
      "message": "SCTP: Fix SCTP_SET_PEER_PRIMARY_ADDR to accpet v4mapped address\n\nSCTP_SET_PEER_PRIMARY_ADDR does not accpet v4mapped address, using\nv4mapped address in SCTP_SET_PEER_PRIMARY_ADDR socket option will\nget -EADDRNOTAVAIL error if v4map is enabled. This patch try to\nfix it by mapping v4mapped address to v4 address if allowed.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8917a3c0b7d1557548f50bfe3f0e18e0354e38f6",
      "tree": "8bb698c078f7808deaa0de1b9035bbf658416205",
      "parents": [
        "2d5311e4e8272fd398fc1cf278f12fd6dee4074b"
      ],
      "author": {
        "name": "David Shwatrz",
        "email": "dshwatrz@gmail.com",
        "time": "Thu Dec 02 09:01:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 13:10:11 2010 -0800"
      },
      "message": "Fix a typo in datagram.c and sctp/socket.c.\n\nHi,\nThis patch fixes a typo in net/core/datagram.c and in net/sctp/socket.c\n\nRegards,\nDavid Shwartz\n\nSigned-off-by: David Shwartz \u003cdshwatrz@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d987e5c75107ca7515fa19e857cfa24aab6ec8f",
      "tree": "6392c5f08f0df39d42a079336f6be3960ac404dc",
      "parents": [
        "67286640f638f5ad41a946b9a3dc75327950248f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 09 23:24:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:12:00 2010 -0800"
      },
      "message": "net: avoid limits overflow\n\nRobin Holt tried to boot a 16TB machine and found some limits were\nreached : sysctl_tcp_mem[2], sysctl_udp_mem[2]\n\nWe can switch infrastructure to use long \"instead\" of \"int\", now\natomic_long_t primitives are available for free.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "21a180cda012e1f93e362dd4a9b0bfd3d8c92940",
      "tree": "0e0d10baa3fdcd8ffbc6881076ff1695808dad9d",
      "parents": [
        "c7d4426a98a5f6654cd0b4b33d9dab2e77192c18",
        "51e97a12bef19b7e43199fc153cf9bd5f2140362"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 04 11:56:38 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 04 11:56:38 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/Kconfig\n\tnet/ipv4/tcp_timer.c\n"
    },
    {
      "commit": "9a7241c21b06c3a3f8ebcf3e347bd68556369da7",
      "tree": "25f58652823894713a6c6f388b502002cc8edcd8",
      "parents": [
        "3abcdeda59c1d4cf2bf83311ed2d544355ec7c2d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 22:14:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 22:14:37 2010 -0700"
      },
      "message": "sctp: Fix break indentation in sctp_ioctl().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51e97a12bef19b7e43199fc153cf9bd5f2140362",
      "tree": "1ac12f07ab40e28d3ec29d04384a17c3e3b33826",
      "parents": [
        "d7e0d19aa0fdd22819d35db551bd54c1bcf9c2aa"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Fri Oct 01 11:51:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 21:58:49 2010 -0700"
      },
      "message": "sctp: Fix out-of-bounds reading in sctp_asoc_get_hmac()\n\nThe sctp_asoc_get_hmac() function iterates through a peer\u0027s hmac_ids\narray and attempts to ensure that only a supported hmac entry is\nreturned.  The current code fails to do this properly - if the last id\nin the array is out of range (greater than SCTP_AUTH_HMAC_ID_MAX), the\nid integer remains set after exiting the loop, and the address of an\nout-of-bounds entry will be returned and subsequently used in the parent\nfunction, causing potentially ugly memory corruption.  This patch resets\nthe id integer to 0 on encountering an invalid id so that NULL will be\nreturned after finishing the loop if no valid ids are found.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7e0d19aa0fdd22819d35db551bd54c1bcf9c2aa",
      "tree": "3abc10f8a6e3f296fb619077af5f6f16713c62b8",
      "parents": [
        "5b7c84066733c5dfb0e4016d939757b38de189e4"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "dan.j.rosenberg@gmail.com",
        "time": "Fri Oct 01 11:16:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 21:58:48 2010 -0700"
      },
      "message": "sctp: prevent reading out-of-bounds memory\n\nTwo user-controlled allocations in SCTP are subsequently dereferenced as\nsockaddr structs, without checking if the dereferenced struct members fall\nbeyond the end of the allocated chunk.  There doesn\u0027t appear to be any\ninformation leakage here based on how these members are used and\nadditional checking, but it\u0027s still worth fixing.\n\n[akpm@linux-foundation.org: remove unfashionable newlines, fix gmail tab-\u003espace conversion]\nSigned-off-by: Dan Rosenberg \u003cdan.j.rosenberg@gmail.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326",
      "tree": "88eb44e49a75721ae926665a2c42f08badac9d07",
      "parents": [
        "42099d7a3941d4aaf853caac92b3ae76149fc6e7",
        "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/qlcnic/qlcnic_init.c\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bdab43323b459900578b200a4b8cf9713ac8fab",
      "tree": "7a732994407ebb88698845ee36dbf98c062af49e",
      "parents": [
        "2507136f74f70a4869bd4f525d48715ae66db43d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Sep 15 10:00:26 2010 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 17 16:47:56 2010 -0700"
      },
      "message": "sctp: Do not reset the packet during sctp_packet_config().\n\nsctp_packet_config() is called when getting the packet ready\nfor appending of chunks.  The function should not touch the\ncurrent state, since it\u0027s possible to ping-pong between two\ntransports when sending, and that can result packet corruption\nfollowed by skb overlfow crash.\n\nReported-by: Thomas Dreibholz \u003cdreibh@iem.uni-due.de\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "123031c0eeda6144b4002dc3285375aa9ae9dc11",
      "tree": "2f7b13ffb639f3737b52ce47bf7bf258ff496f3a",
      "parents": [
        "e199e6136ce6b151e6638ae93dca60748424d900"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Sep 08 11:04:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 15:00:29 2010 -0700"
      },
      "message": "sctp: fix test for end of loop\n\nAdd a list_has_sctp_addr function to simplify loop\n\nBased on a patches by Dan Carpenter and David Miller\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65040c33ee8d0199ab7686402bffdbf9e1e26cbe",
      "tree": "4c8a35d0b6da2964a0de8f6668c0f5f47efe2825",
      "parents": [
        "2edae08e5b75269855fef3c74fe4292c066e7c33"
      ],
      "author": {
        "name": "Diego Elio \u0027Flameeyes\u0027 Pettenò",
        "email": "flameeyes@gmail.com",
        "time": "Fri Sep 03 03:47:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 13:08:05 2010 -0700"
      },
      "message": "sctp: implement SIOCINQ ioctl() (take 3)\n\nThis simple patch copies the current approach for SIOCINQ ioctl() from DCCP\ninto SCTP so that the userland code working with SCTP can use a similar\ninterface across different protocols to know how much space to allocate for\na buffer.\n\nSigned-off-by: Diego Elio Pettenò \u003cflameeyes@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db40980fcdb560d7992b0511df16cdd3f7e381f3",
      "tree": "337b5c41bd55915a4b894ea6fe09a865e7dcb0e4",
      "parents": [
        "d61702f1273b71c2809365a7806d7fe84fd77f15"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 06 11:13:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:45 2010 -0700"
      },
      "message": "net: poll() optimizations\n\nNo need to test twice sk-\u003esk_shutdown \u0026 RCV_SHUTDOWN\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "145ce502e44b57c074c72cfdc855557e19026999",
      "tree": "fd663feae03f5c5f4a31ceecd6a61e790344b8b3",
      "parents": [
        "dee06e4702b5a64b9ca81e650d66223c5b3e7f14"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Aug 24 13:21:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 14:11:48 2010 -0700"
      },
      "message": "net/sctp: Use pr_fmt and pr_\u003clevel\u003e\n\nChange SCTP_DEBUG_PRINTK and SCTP_DEBUG_PRINTK_IPADDR to\nuse do { print } while (0) guards.\nAdd SCTP_DEBUG_PRINTK_CONT to fix errors in log when\nlines were continued.\nAdd #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\nAdd a missing newline in \"Failed bind hash alloc\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4",
      "tree": "5adc1ff2eaf64d450bf28bb6b2ce890db2567288",
      "parents": [
        "5cf65713f87775c548e3eb48dbafa32e12f28000",
        "0ea6e61122196509af82cc4f36cbdaacbefb8227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)\n  Documentation: update broken web addresses.\n  fix comment typo \"choosed\" -\u003e \"chosen\"\n  hostap:hostap_hw.c Fix typo in comment\n  Fix spelling contorller -\u003e controller in comments\n  Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -\u003e Fault\n  fs/Kconfig: Fix typo Userpace -\u003e Userspace\n  Removing dead MACH_U300_BS26\n  drivers/infiniband: Remove unnecessary casts of private_data\n  fs/ocfs2: Remove unnecessary casts of private_data\n  libfc: use ARRAY_SIZE\n  scsi: bfa: use ARRAY_SIZE\n  drm: i915: use ARRAY_SIZE\n  drm: drm_edid: use ARRAY_SIZE\n  synclink: use ARRAY_SIZE\n  block: cciss: use ARRAY_SIZE\n  comment typo fixes: charater \u003d\u003e character\n  fix comment typos concerning \"challenge\"\n  arm: plat-spear: fix typo in kerneldoc\n  reiserfs: typo comment fix\n  update email address\n  ...\n"
    },
    {
      "commit": "1823e4c80eeae2a774c75569ce3035070e5ee009",
      "tree": "bdc1bdf4a67027193312ad584924ca8a986a064c",
      "parents": [
        "5eaa0bd81f93225b6d1972b373ed00ca763052b2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 22 20:58:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 25 21:33:17 2010 -0700"
      },
      "message": "snmp: add align parameter to snmp_mib_init()\n\nIn preparation for 64bit snmp counters for some mibs,\nadd an \u0027align\u0027 parameter to snmp_mib_init(), instead\nof assuming mibs only contain \u0027unsigned long\u0027 fields.\n\nCallers can use __alignof__(type) to provide correct\nalignment.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCC: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCC: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "421f91d21ad6f799dc7b489bb33cc560ccc56f98",
      "tree": "aaf9f6385233fdf9277e634603156c89ede7f770",
      "parents": [
        "65155b3708137fabee865dc4da822763c0c41208"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jun 11 12:17:00 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 16 18:05:05 2010 +0200"
      },
      "message": "fix typos concerning \"initiali[zs]e\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "d8d1f30b95a635dbd610dcc5eb641aca8f4768cf",
      "tree": "71424d82a96facd5fcf05cc769ef2ba52b584aeb",
      "parents": [
        "592fcb9dfafaa02dd0edc207bf5d3a0ee7a1f8df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "message": "net-next: remove useless union keyword\n\nremove useless union keyword in rtable, rt6_info and dn_route.\n\nSince there is only one member in a union, the union keyword isn\u0027t useful.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc10502dba37d3b210efd9f3867212298f13b78e",
      "tree": "af4542eaab79cd509244578f839167f16f3ab02d",
      "parents": [
        "ba2d3587912f82d1ab4367975b1df460db60fb1e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jun 03 03:21:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 03 03:21:52 2010 -0700"
      },
      "message": "net: use __packed annotation\n\ncleanup patch.\n\nUse new __packed annotation in net/ and include/\n(except netfilter)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "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": "2e3219b5c8a2e44e0b83ae6e04f52f20a82ac0f2",
      "tree": "526cd94d906cc687f556631643fdfa43260918c5",
      "parents": [
        "f8bd909183acffad68780b10c1cdf36161cfd5d1"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Mon May 17 22:51:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:51:58 2010 -0700"
      },
      "message": "sctp: fix append error cause to ERROR chunk correctly\n\ncommit 5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809\n  sctp: Fix skb_over_panic resulting from multiple invalid \\\n    parameter errors (CVE-2010-1173) (v4)\n\ncause \u0027error cause\u0027 never be add the the ERROR chunk due to\nsome typo when check valid length in sctp_init_cause_fixed().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nReviewed-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6811d58fc148c393f80a9f5a9db49d7e75cdc546",
      "tree": "c25d5b0e49ec848943d35f819e748d157ccb492e",
      "parents": [
        "c4949f074332a64baeb2ead6ab9319ca37642f96",
        "c02db8c6290bb992442fec1407643c94cc414375"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/linux/if_link.h\n"
    },
    {
      "commit": "55fa0cfd7c3ac2ae34cac7dca2e3fbcfe661e6c3",
      "tree": "0f9ccf2d00a10a88f601245fced3581f49f93862",
      "parents": [
        "35790c0421121364883a167bab8a2e37e1f67f78"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun May 09 16:56:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 00:46:22 2010 -0700"
      },
      "message": "sctp: delete active ICMP proto unreachable timer when free transport\n\ntransport may be free before ICMP proto unreachable timer expire, so\nwe should delete active ICMP proto unreachable timer when transport\nis going away.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3826f1e946e7d2354943232f1457be1455a29e2",
      "tree": "a34055c7de762410b6a10c21ab5e1999fb38803b",
      "parents": [
        "9f977fb7ae9ddf565b4800854212fb9a1ed6c2ea"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed May 05 00:27:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:28:40 2010 -0700"
      },
      "message": "net: reserve ports for applications using fixed port numbers\n\n(Dropped the infiniband part, because Tetsuo modified the related code,\nI will send a separate patch for it once this is accepted.)\n\nThis patch introduces /proc/sys/net/ipv4/ip_local_reserved_ports which\nallows users to reserve ports for third-party applications.\n\nThe reserved ports will not be used by automatic port assignments\n(e.g. when calling connect() or bind() with port number 0). Explicit\nport allocation behavior is unchanged.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "278554bd6579206921f5d8a523649a7a57f8850d",
      "tree": "4e6c527daf0910e455b3aa72e2c96b0479e430be",
      "parents": [
        "5a147e8bf982f9dd414c1dd751fe02c1942506b2",
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ar9170/usb.c\n\tdrivers/scsi/iscsi_tcp.c\n\tnet/ipv4/ipmr.c\n"
    },
    {
      "commit": "50b5d6ad63821cea324a5a7a19854d4de1a0a819",
      "tree": "a279d53880e3bdf144783598ad03bbaa33e2cd96",
      "parents": [
        "6ec82562ffc6f297d0de36d65776cff8e5704867"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu May 06 00:56:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:56:07 2010 -0700"
      },
      "message": "sctp: Fix a race between ICMP protocol unreachable and connect()\n\nICMP protocol unreachable handling completely disregarded\nthe fact that the user may have locked the socket.  It proceeded\nto destroy the association, even though the user may have\nheld the lock and had a ref on the association.  This resulted\nin the following:\n\nAttempt to release alive inet socket f6afcc00\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: held lock freed! ]\n-------------------------\nsomenu/2672 is freeing memory f6afcc00-f6afcfff, with a lock still held\nthere!\n (sk_lock-AF_INET){+.+.+.}, at: [\u003cc122098a\u003e] sctp_connect+0x13/0x4c\n1 lock held by somenu/2672:\n #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003cc122098a\u003e] sctp_connect+0x13/0x4c\n\nstack backtrace:\nPid: 2672, comm: somenu Not tainted 2.6.32-telco #55\nCall Trace:\n [\u003cc1232266\u003e] ? printk+0xf/0x11\n [\u003cc1038553\u003e] debug_check_no_locks_freed+0xce/0xff\n [\u003cc10620b4\u003e] kmem_cache_free+0x21/0x66\n [\u003cc1185f25\u003e] __sk_free+0x9d/0xab\n [\u003cc1185f9c\u003e] sk_free+0x1c/0x1e\n [\u003cc1216e38\u003e] sctp_association_put+0x32/0x89\n [\u003cc1220865\u003e] __sctp_connect+0x36d/0x3f4\n [\u003cc122098a\u003e] ? sctp_connect+0x13/0x4c\n [\u003cc102d073\u003e] ? autoremove_wake_function+0x0/0x33\n [\u003cc12209a8\u003e] sctp_connect+0x31/0x4c\n [\u003cc11d1e80\u003e] inet_dgram_connect+0x4b/0x55\n [\u003cc11834fa\u003e] sys_connect+0x54/0x71\n [\u003cc103a3a2\u003e] ? lock_release_non_nested+0x88/0x239\n [\u003cc1054026\u003e] ? might_fault+0x42/0x7c\n [\u003cc1054026\u003e] ? might_fault+0x42/0x7c\n [\u003cc11847ab\u003e] sys_socketcall+0x6d/0x178\n [\u003cc10da994\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc1002959\u003e] syscall_call+0x7/0xb\n\nThis was because the sctp_wait_for_connect() would aqcure the socket\nlock and then proceed to release the last reference count on the\nassociation, thus cause the fully destruction path to finish freeing\nthe socket.\n\nThe simplest solution is to start a very short timer in case the socket\nis owned by user.  When the timer expires, we can do some verification\nand be able to do the release properly.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5460618405eec8c3300947a499011528a115acd",
      "tree": "19aba5acb6d91d5a20400292aaf1881a6b26c118",
      "parents": [
        "4f70ecca9c57731b4acbe5043eb22e4416bd2368",
        "0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 16:20:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 16:24:31 2010 -0700"
      },
      "message": "Merge branch \u0027net-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev\n\nAdd missing linux/vmalloc.h include to net/sctp/probe.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ef527377b88ff05fb122a47619ea506c631c914",
      "tree": "2c2e774527d5f591b975834f43e8c6fd12fb38f2",
      "parents": [
        "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
        "1183f3838c588545592c042c0ce15015661ce7f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 21:43:40 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:02:06 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "43815482370c510c569fd18edb57afcb0fa8cab6",
      "tree": "063efaae3758402b84f056438b704d1de68f7837",
      "parents": [
        "83d7eb2979cd3390c375470225dd2d8f2009bc70"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 29 11:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 01 15:00:15 2010 -0700"
      },
      "message": "net: sock_def_readable() and friends RCU conversion\n\nsk_callback_lock rwlock actually protects sk-\u003esk_sleep pointer, so we\nneed two atomic operations (and associated dirtying) per incoming\npacket.\n\nRCU conversion is pretty much needed :\n\n1) Add a new structure, called \"struct socket_wq\" to hold all fields\nthat will need rcu_read_lock() protection (currently: a\nwait_queue_head_t and a struct fasync_struct pointer).\n\n[Future patch will add a list anchor for wakeup coalescing]\n\n2) Attach one of such structure to each \"struct socket\" created in\nsock_alloc_inode().\n\n3) Respect RCU grace period when freeing a \"struct socket_wq\"\n\n4) Change sk_sleep pointer in \"struct sock\" by sk_wq, pointer to \"struct\nsocket_wq\"\n\n5) Change sk_sleep() function to use new sk-\u003esk_wq instead of\nsk-\u003esk_sleep\n\n6) Change sk_has_sleeper() to wq_has_sleeper() that must be used inside\na rcu_read_lock() section.\n\n7) Change all sk_has_sleeper() callers to :\n  - Use rcu_read_lock() instead of read_lock(\u0026sk-\u003esk_callback_lock)\n  - Use wq_has_sleeper() to eventually wakeup tasks.\n  - Use rcu_read_unlock() instead of read_unlock(\u0026sk-\u003esk_callback_lock)\n\n8) sock_wake_async() is modified to use rcu protection as well.\n\n9) Exceptions :\n  macvtap, drivers/net/tun.c, af_unix use integrated \"struct socket_wq\"\ninstead of dynamically allocated ones. They dont need rcu freeing.\n\nSome cleanups or followups are probably needed, (possible\nsk_callback_lock conversion to a spinlock for example...).\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726",
      "tree": "62e19d24380a9a8308d0ef3f2186742944971a5c",
      "parents": [
        "bfa0d9843ac5feb9667990706b4524390fee4df9"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: Tag messages that can be Nagle delayed at creation.\n\nWhen we create the sctp_datamsg and fragment the user data,\nwe know exactly if we are sending full segments or not and\nhow they might be bundled.  During this time, we can mark\nmessages a Nagle capable or not.  This makes the check at\ntransmit time much simpler.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bfa0d9843ac5feb9667990706b4524390fee4df9",
      "tree": "93b3f84efdc8a01ed76c70f8edec0d2f412d9d04",
      "parents": [
        "ea862c8d1f4a0d193979c7412c3b946f600721ce"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: Optimize computation of highest new tsn in SACK.\n\nRight now, if the highest tsn in the SACK doesn\u0027t change, we\u0027ll\nend up scanning the transmitted lists on the transports twice:\nonce for locating the highest _new_ tsn, and once for actually\ntagging chunks as acked.  This is a waste, since we can record\nthe highest _new_ tsn at the same time as tagging chunks.  Long\nago this was not possible because we would try to mark chunks\nas missing at the same time as tagging them acked and this approach\ndidn\u0027t work.  Now that the two steps are separate, we can re-use\nthe old approach.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "ea862c8d1f4a0d193979c7412c3b946f600721ce",
      "tree": "929dd96e2562258a96739373c758ab6dcbc2bb1b",
      "parents": [
        "65883371894be2631603d5d412f90f8c09290fef"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: correctly mark missing chunks in fast recovery\n\nAccording to RFC 4960 Section 7.2.4:\n \t\t\t\t\tIf an endpoint is in Fast\n   Recovery and a SACK arrives that advances the Cumulative TSN Ack\n   Point, the miss indications are incremented for all TSNs reported\n   missing in the SACK.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "65883371894be2631603d5d412f90f8c09290fef",
      "tree": "dbd95cdce0d32544428f26de68b2738a56a70764",
      "parents": [
        "cf9b4812e18aab6f86ff998bd7425a9e823269c3"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: rwnd_press should be cumulative\n\nrwnd_press tracks the pressure on the recieve window.  Every\ntimer the receive buffer overlows, we truncate the receive\nwindow and then grow it back.  However, if we don\u0027t track\nthe cumulative presser, it\u0027s possible to reach a situation\nwhen receive buffer is empty, but rwnd stays truncated.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "cf9b4812e18aab6f86ff998bd7425a9e823269c3",
      "tree": "51181bd38679112d3abc32ba6dc4266acad9251c",
      "parents": [
        "b2cf9b6bd93af1cc047d3356f1c6cc9367fe3731"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: fast recovery algorithm is per association.\n\nSCTP fast recovery algorithm really applies per association\nand impacts all transports.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b2cf9b6bd93af1cc047d3356f1c6cc9367fe3731",
      "tree": "2692be4d6237c1a9ebee27bd52bad7c418fa06f9",
      "parents": [
        "c0058a35aacc79406e867ec33c5cb75624fd5860"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: update transport initializations\n\nRight now, sctp transports are not fully initialized and when\nadding any new fields, they have to be explicitely initialized.\nThis is prone to mistakes.  So we switch to calling kzalloc()\nwhich makes things much simpler.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d9efc2231b28bc199f9de4dd594248b7341188e5",
      "tree": "dd319348c6448a72fb10d1936edde25d8f593e9b",
      "parents": [
        "ae19c54866450f6c6f79223ca7d37965859a54e1"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: Do not force T3 timer on fast retransmissions.\n\nWe don\u0027t need to force the T3 timer any more and it\u0027s\nactually wrong to do as it causes too long of a delay.\nThe timer will be started if one is not running, but if\none is running, we leave it alone.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "ae19c54866450f6c6f79223ca7d37965859a54e1",
      "tree": "4da39a450974841532148b15b15de182c8e40dac",
      "parents": [
        "d598b166ced20d9b9281ea3527c0e18405ddb803"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: remove \u0027resent\u0027 bit from the chunk\n\nThe \u0027resent\u0027 bit is used to make sure that we don\u0027t update\nrto estimate based on retransmitted chunks.  However, we already\nhave the \u0027rto_pending\u0027 bit that we test when need to update rto,\nso \u0027resent\u0027 bit is just extra.  Additionally, we currently have\na bug in that we always set a \u0027resent\u0027 bit and thus rto estimate\nis only updated by Heartbeats.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d598b166ced20d9b9281ea3527c0e18405ddb803",
      "tree": "9133b90a3f42347842190938cd27fa7ce6729377",
      "parents": [
        "b99a4d53a74ac25eb4b930eef6c745579149c571"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: Make sure we always return valid retransmit path\n\ncommit 4951feda0c60d1ef681f1a270afdd617924ab041\n    sctp: Do no select unconfirmed transports for retransmissions\n\nadded code to make sure that we do not select unconfirmed paths\nfor data transmission.  This caused a problem when there are only\n2 paths, 1 unconfirmed and 1 unreachable.  In that case, the next\nretransmit path returned is NULL and that causes a kernel crash.\n\nThe solution is to only change retransmit paths if we found one to use.\n\nReported-by: Frank Schuster \u003cfrank.schuster01@web.de\u003e\nSigned-off-b: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    }
  ],
  "next": "b99a4d53a74ac25eb4b930eef6c745579149c571"
}
