)]}'
{
  "log": [
    {
      "commit": "a000c01e60e40e15304ffe48fff051d17a7bea91",
      "tree": "429060980f87287a3df70d8d286b73d6f1985cc8",
      "parents": [
        "b10cec8a4e8167075b9e1ff3f05419769e7f381a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun May 29 23:23:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 31 15:29:17 2011 -0700"
      },
      "message": "sctp: stop pending timers and purge queues when peer restart asoc\n\nIf the peer restart the asoc, we should not only fail any unsent/unacked\ndata, but also stop the T3-rtx, SACK, T4-rto timers, and teardown ASCONF\nqueues.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\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": "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": "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": "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": "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": "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": "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": "48669698c23339e0fa31753f04e77648fc210339",
      "tree": "d8480e12cc6aa6a1d0671f025b151eb14d32cb30",
      "parents": [
        "96ca468b86b09aa6a001ac65dba93a6c4a3692a5"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:27:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:02 2011 -0700"
      },
      "message": "sctp: remove redundant check when walking through a list of TLV parameters\n\nWhen  pos.v \u003c\u003d (void *)chunk + end - ntohs(pos.p-\u003elength) and\nntohs(pos.p-\u003elength) \u003e\u003d sizeof(sctp_paramhdr_t) these two expressions are all true,\npos.v \u003c\u003d (void *)chunk + end - sizeof(sctp_paramhdr_t) *must* be true.\n\nThis patch removes this kind of redundant check.\nIt\u0027s same to  _sctp_walk_errors macro.\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": "709d38714eff234432956931437457e0de806784",
      "tree": "68f80e7621d3031f6577bb86188152c8cddbbeb5",
      "parents": [
        "d0381c42aabdbd9402501d08ea44a89695ad58b4"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:19:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:18 2011 -0700"
      },
      "message": "sctp: delete unused macro definition of sctp_chunk_is_control\n\nThe macro never be used.\nAnd if needed, can use !sctp_chunk_is_data instead of.\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": "028dba0ac3fc3c82da06110b011fce22a5ffad00",
      "tree": "1285e03640f24a834fcb249af4dcbff9e8943f58",
      "parents": [
        "4dd5ffe4fc36128dc86568ddeaeae359e6037762"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Mar 31 23:38:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 01 21:45:50 2011 -0700"
      },
      "message": "sctp: fix auth_hmacs field\u0027s length of struct sctp_cookie\n\nauth_hmacs field of struct sctp_cookie is used for store\nRequested HMAC Algorithm Parameter, and each HMAC Identifier\nis 2 bytes, so the length should be:\n  SCTP_AUTH_NUM_HMACS * sizeof(__u16) + 2\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1268afe676ee9431a229fc68a2efb0dad4d5852f",
      "tree": "c252b969a51bd97317415cfc3b6465441f1b8aec",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470",
        "4580ccc04ddd8c17a470573a7fdb8def2e036dfa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 19 20:25:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 19 20:25:45 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits)\n  sctp: user perfect name for Delayed SACK Timer option\n  net: fix can_checksum_protocol() arguments swap\n  Revert \"netlink: test for all flags of the NLM_F_DUMP composite\"\n  gianfar: Fix misleading indentation in startup_gfar()\n  net/irda/sh_irda: return to RX mode when TX error\n  net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan.\n  USB CDC NCM: tx_fixup() race condition fix\n  ns83820: Avoid bad pointer deref in ns83820_init_one().\n  ipv6: Silence privacy extensions initialization\n  bnx2x: Update bnx2x version to 1.62.00-4\n  bnx2x: Fix AER setting for BCM57712\n  bnx2x: Fix BCM84823 LED behavior\n  bnx2x: Mark full duplex on some external PHYs\n  bnx2x: Fix BCM8073/BCM8727 microcode loading\n  bnx2x: LED fix for BCM8727 over BCM57712\n  bnx2x: Common init will be executed only once after POR\n  bnx2x: Swap BCM8073 PHY polarity if required\n  iwlwifi: fix valid chain reading from EEPROM\n  ath5k: fix locking in tx_complete_poll_work\n  ath9k_hw: do PA offset calibration only on longcal interval\n  ...\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": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "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: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "49b4a6546fac02f58784f0744e0f99a6562ccc03",
      "tree": "69504924d37630618d9b20cf699af7a0cf8db021",
      "parents": [
        "e9248fbd6b6f7ef1917bfffe998654e40dfb4cfd"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Nov 29 00:14:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 09:41:12 2010 -0800"
      },
      "message": "sctp: kill unused macros in head file\n\n1. SCTP_CMD_NUM_VERBS,SCTP_CMD_MAX\nThese two macros have never been used for several years since v2.6.12-rc2.\n\n2.sctp_port_rover,sctp_port_alloc_lock\nThe commit 063930 abandoned global variables of port_rover and port_alloc_lock,\nbut still keep two macros to refer to them.\nSo, remove them now.\n\ncommit 06393009000779b00a558fd2f280882cc7dc2008\nAuthor: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nDate:   Wed Oct 10 17:30:18 2007 -0700\n\n    [SCTP]: port randomization\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5584b8078a60e34ec7d37c9b67a0f3d389a1a2f6",
      "tree": "fc9054931639b0753a9eb95054f4a928186cab6b",
      "parents": [
        "cf7afbfeb8ceb0187348d0a1a0db61305e25f05f"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Nov 22 23:00:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 10:47:15 2010 -0800"
      },
      "message": "sctp: kill unused macro definition\n\nThese macros have been existed for several years since v2.6.12-rc2.\nBut they never be used. So remove them now.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\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": "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": "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": "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": "ff937938e7781b2c1bffce0a5400af308e3946d5",
      "tree": "70a5ccf25d967d93f4a47ab30d25b0b81e538cd5",
      "parents": [
        "ed0f160ad674407adb3aba499444f71c83289c63"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed May 26 00:40:11 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 26 00:40:11 2010 -0700"
      },
      "message": "sctp: dubious bitfields in sctp_transport\n\nSparse complains because these one-bit bitfields are signed.\n  include/net/sctp/structs.h:879:24: error: dubious one-bit signed bitfield\n  include/net/sctp/structs.h:889:31: error: dubious one-bit signed bitfield\n  include/net/sctp/structs.h:895:26: error: dubious one-bit signed bitfield\n  include/net/sctp/structs.h:898:31: error: dubious one-bit signed bitfield\n  include/net/sctp/structs.h:901:27: error: dubious one-bit signed bitfield\n\nIt doesn\u0027t cause a problem in the current code, but it would be better\nto clean it up.  This was introduced by c0058a35aacc7: \"sctp: Save some\nroom in the sctp_transport by using bitfields\".\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.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": "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": "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": "c0058a35aacc79406e867ec33c5cb75624fd5860",
      "tree": "f474e3bc3aac2162897d592ed91c5116616111a6",
      "parents": [
        "d9efc2231b28bc199f9de4dd594248b7341188e5"
      ],
      "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: Save some room in the sctp_transport by using bitfields\n\nSaves some room in the sctp_transport structure.\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": "52688d6ec977e69b164e0bd3de51d43cf6d4b7b3",
      "tree": "b4e0d9de8fdbf8b29a95d85b81fdc8ba7201fff8",
      "parents": [
        "bd69b981a354be40cc709f3046f0c56f00da6163"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Apr 30 21:42:44 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 21:42:44 2010 -0400"
      },
      "message": "sctp: discard ABORT chunk with zero verification tag in COOKIE-WAIT state\n\nIn current implementation if ABORT chunk is received with T flag is set\nand zero verification tag in COOKIE-WAIT state, the ABORT chunk will be\nalways accepted. This is because in COOKIE-WAIT state, the endpoint does\nnot know the peer\u0027s verification tag, and it\u0027s zero in the endpoint.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809",
      "tree": "38442b86f3c1b57dd9c660d7c551334e110f6d43",
      "parents": [
        "e41c11ee0cc602bcde68916be85fb97d1a484324"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Apr 28 10:30:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 14:22:01 2010 -0700"
      },
      "message": "sctp: Fix skb_over_panic resulting from multiple invalid parameter errors (CVE-2010-1173) (v4)\n\nOk, version 4\n\nChange Notes:\n1) Minor cleanups, from Vlads notes\n\nSummary:\n\nHey-\n\tRecently, it was reported to me that the kernel could oops in the\nfollowing way:\n\n\u003c5\u003e kernel BUG at net/core/skbuff.c:91!\n\u003c5\u003e invalid operand: 0000 [#1]\n\u003c5\u003e Modules linked in: sctp netconsole nls_utf8 autofs4 sunrpc iptable_filter\nip_tables cpufreq_powersave parport_pc lp parport vmblock(U) vsock(U) vmci(U)\nvmxnet(U) vmmemctl(U) vmhgfs(U) acpiphp dm_mirror dm_mod button battery ac md5\nipv6 uhci_hcd ehci_hcd snd_ens1371 snd_rawmidi snd_seq_device snd_pcm_oss\nsnd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_ac97_codec snd soundcore\npcnet32 mii floppy ext3 jbd ata_piix libata mptscsih mptsas mptspi mptscsi\nmptbase sd_mod scsi_mod\n\u003c5\u003e CPU:    0\n\u003c5\u003e EIP:    0060:[\u003cc02bff27\u003e]    Not tainted VLI\n\u003c5\u003e EFLAGS: 00010216   (2.6.9-89.0.25.EL)\n\u003c5\u003e EIP is at skb_over_panic+0x1f/0x2d\n\u003c5\u003e eax: 0000002c   ebx: c033f461   ecx: c0357d96   edx: c040fd44\n\u003c5\u003e esi: c033f461   edi: df653280   ebp: 00000000   esp: c040fd40\n\u003c5\u003e ds: 007b   es: 007b   ss: 0068\n\u003c5\u003e Process swapper (pid: 0, threadinfo\u003dc040f000 task\u003dc0370be0)\n\u003c5\u003e Stack: c0357d96 e0c29478 00000084 00000004 c033f461 df653280 d7883180\ne0c2947d\n\u003c5\u003e        00000000 00000080 df653490 00000004 de4f1ac0 de4f1ac0 00000004\ndf653490\n\u003c5\u003e        00000001 e0c2877a 08000800 de4f1ac0 df653490 00000000 e0c29d2e\n00000004\n\u003c5\u003e Call Trace:\n\u003c5\u003e  [\u003ce0c29478\u003e] sctp_addto_chunk+0xb0/0x128 [sctp]\n\u003c5\u003e  [\u003ce0c2947d\u003e] sctp_addto_chunk+0xb5/0x128 [sctp]\n\u003c5\u003e  [\u003ce0c2877a\u003e] sctp_init_cause+0x3f/0x47 [sctp]\n\u003c5\u003e  [\u003ce0c29d2e\u003e] sctp_process_unk_param+0xac/0xb8 [sctp]\n\u003c5\u003e  [\u003ce0c29e90\u003e] sctp_verify_init+0xcc/0x134 [sctp]\n\u003c5\u003e  [\u003ce0c20322\u003e] sctp_sf_do_5_1B_init+0x83/0x28e [sctp]\n\u003c5\u003e  [\u003ce0c25333\u003e] sctp_do_sm+0x41/0x77 [sctp]\n\u003c5\u003e  [\u003cc01555a4\u003e] cache_grow+0x140/0x233\n\u003c5\u003e  [\u003ce0c26ba1\u003e] sctp_endpoint_bh_rcv+0xc5/0x108 [sctp]\n\u003c5\u003e  [\u003ce0c2b863\u003e] sctp_inq_push+0xe/0x10 [sctp]\n\u003c5\u003e  [\u003ce0c34600\u003e] sctp_rcv+0x454/0x509 [sctp]\n\u003c5\u003e  [\u003ce084e017\u003e] ipt_hook+0x17/0x1c [iptable_filter]\n\u003c5\u003e  [\u003cc02d005e\u003e] nf_iterate+0x40/0x81\n\u003c5\u003e  [\u003cc02e0bb9\u003e] ip_local_deliver_finish+0x0/0x151\n\u003c5\u003e  [\u003cc02e0c7f\u003e] ip_local_deliver_finish+0xc6/0x151\n\u003c5\u003e  [\u003cc02d0362\u003e] nf_hook_slow+0x83/0xb5\n\u003c5\u003e  [\u003cc02e0bb2\u003e] ip_local_deliver+0x1a2/0x1a9\n\u003c5\u003e  [\u003cc02e0bb9\u003e] ip_local_deliver_finish+0x0/0x151\n\u003c5\u003e  [\u003cc02e103e\u003e] ip_rcv+0x334/0x3b4\n\u003c5\u003e  [\u003cc02c66fd\u003e] netif_receive_skb+0x320/0x35b\n\u003c5\u003e  [\u003ce0a0928b\u003e] init_stall_timer+0x67/0x6a [uhci_hcd]\n\u003c5\u003e  [\u003cc02c67a4\u003e] process_backlog+0x6c/0xd9\n\u003c5\u003e  [\u003cc02c690f\u003e] net_rx_action+0xfe/0x1f8\n\u003c5\u003e  [\u003cc012a7b1\u003e] __do_softirq+0x35/0x79\n\u003c5\u003e  [\u003cc0107efb\u003e] handle_IRQ_event+0x0/0x4f\n\u003c5\u003e  [\u003cc01094de\u003e] do_softirq+0x46/0x4d\n\nIts an skb_over_panic BUG halt that results from processing an init chunk in\nwhich too many of its variable length parameters are in some way malformed.\n\nThe problem is in sctp_process_unk_param:\nif (NULL \u003d\u003d *errp)\n\t*errp \u003d sctp_make_op_error_space(asoc, chunk,\n\t\t\t\t\t ntohs(chunk-\u003echunk_hdr-\u003elength));\n\n\tif (*errp) {\n\t\tsctp_init_cause(*errp, SCTP_ERROR_UNKNOWN_PARAM,\n\t\t\t\t WORD_ROUND(ntohs(param.p-\u003elength)));\n\t\tsctp_addto_chunk(*errp,\n\t\t\tWORD_ROUND(ntohs(param.p-\u003elength)),\n\t\t\t\t  param.v);\n\nWhen we allocate an error chunk, we assume that the worst case scenario requires\nthat we have chunk_hdr-\u003elength data allocated, which would be correct nominally,\ngiven that we call sctp_addto_chunk for the violating parameter.  Unfortunately,\nwe also, in sctp_init_cause insert a sctp_errhdr_t structure into the error\nchunk, so the worst case situation in which all parameters are in violation\nrequires chunk_hdr-\u003elength+(sizeof(sctp_errhdr_t)*param_count) bytes of data.\n\nThe result of this error is that a deliberately malformed packet sent to a\nlistening host can cause a remote DOS, described in CVE-2010-1173:\nhttp://cve.mitre.org/cgi-bin/cvename.cgi?name\u003d2010-1173\n\nI\u0027ve tested the below fix and confirmed that it fixes the issue.  We move to a\nstrategy whereby we allocate a fixed size error chunk and ignore errors we don\u0027t\nhave space to report.  Tested by me successfully\n\nSigned-off-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": "c0786693404cffd80ca3cb6e75ee7b35186b2825",
      "tree": "92a9026abbe71399c95330656af0f8c9d9c0019c",
      "parents": [
        "a8170c35e738d62e9919ce5b109cf4ed66e95bde"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Apr 28 08:47:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:34 2010 -0700"
      },
      "message": "sctp: Fix oops when sending queued ASCONF chunks\n\nWhen we finish processing ASCONF_ACK chunk, we try to send\nthe next queued ASCONF.  This action runs the sctp state\nmachine recursively and it\u0027s not prepared to do so.\n\nkernel BUG at kernel/timer.c:790!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/module/ipv6/initstate\nModules linked in: sha256_generic sctp libcrc32c ipv6 dm_multipath\nuinput 8139too i2c_piix4 8139cp mii i2c_core pcspkr virtio_net joydev\nfloppy virtio_blk virtio_pci [last unloaded: scsi_wait_scan]\n\nPid: 0, comm: swapper Not tainted 2.6.34-rc4 #15 /Bochs\nEIP: 0060:[\u003cc044a2ef\u003e] EFLAGS: 00010286 CPU: 0\nEIP is at add_timer+0xd/0x1b\nEAX: cecbab14 EBX: 000000f0 ECX: c0957b1c EDX: 03595cf4\nESI: cecba800 EDI: cf276f00 EBP: c0957aa0 ESP: c0957aa0\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess swapper (pid: 0, ti\u003dc0956000 task\u003dc0988ba0 task.ti\u003dc0956000)\nStack:\n c0957ae0 d1851214 c0ab62e4 c0ab5f26 0500ffff 00000004 00000005 00000004\n\u003c0\u003e 00000000 d18694fd 00000004 1666b892 cecba800 cecba800 c0957b14\n00000004\n\u003c0\u003e c0957b94 d1851b11 ceda8b00 cecba800 cf276f00 00000001 c0957b14\n000000d0\nCall Trace:\n [\u003cd1851214\u003e] ? sctp_side_effects+0x607/0xdfc [sctp]\n [\u003cd1851b11\u003e] ? sctp_do_sm+0x108/0x159 [sctp]\n [\u003cd1863386\u003e] ? sctp_pname+0x0/0x1d [sctp]\n [\u003cd1861a56\u003e] ? sctp_primitive_ASCONF+0x36/0x3b [sctp]\n [\u003cd185657c\u003e] ? sctp_process_asconf_ack+0x2a4/0x2d3 [sctp]\n [\u003cd184e35c\u003e] ? sctp_sf_do_asconf_ack+0x1dd/0x2b4 [sctp]\n [\u003cd1851ac1\u003e] ? sctp_do_sm+0xb8/0x159 [sctp]\n [\u003cd1863334\u003e] ? sctp_cname+0x0/0x52 [sctp]\n [\u003cd1854377\u003e] ? sctp_assoc_bh_rcv+0xac/0xe1 [sctp]\n [\u003cd1858f0f\u003e] ? sctp_inq_push+0x2d/0x30 [sctp]\n [\u003cd186329d\u003e] ? sctp_rcv+0x797/0x82e [sctp]\n\nTested-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Yuansong Qiao \u003cysqiao@research.ait.ie\u003e\nSigned-off-by: Shuaijun Zhang \u003cszhang@research.ait.ie\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "561b1733a465cf9677356b40c27653dd45f1ac56",
      "tree": "86d6720a6497a0b3faa9685596d4f85d3858b6fe",
      "parents": [
        "8d238b25b1ec22a73b1c2206f111df2faaff8285"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Apr 28 08:47:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:31 2010 -0700"
      },
      "message": "sctp: avoid irq lock inversion while call sk-\u003esk_data_ready()\n\nsk-\u003esk_data_ready() of sctp socket can be called from both BH and non-BH\ncontexts, but the default sk-\u003esk_data_ready(), sock_def_readable(), can\nnot be used in this case. Therefore, we have to make a new function\nsctp_data_ready() to grab sk-\u003esk_data_ready() with BH disabling.\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\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible irq lock inversion dependency detected ]\n2.6.33-rc6 #129\n---------------------------------------------------------\nsctp_darn/1517 just changed the state of lock:\n (clock-AF_INET){++.?..}, at: [\u003cc06aab60\u003e] sock_def_readable+0x20/0x80\nbut this lock took another, SOFTIRQ-unsafe lock in the past:\n (slock-AF_INET){+.-...}\n\nand interrupts could create inverse lock ordering between them.\n\nother info that might help us debug this:\n1 lock held by sctp_darn/1517:\n #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003ccdfe363d\u003e] sctp_sendmsg+0x23d/0xc00 [sctp]\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": "ec733b15a3ef0b5759141a177f8044a2f40c41e7",
      "tree": "41af80ea4dcc89cc049bd36cbd882916a6469263",
      "parents": [
        "62c97ac04a67c120ec37a9bfd445a8d5dbbc1ed2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Mar 18 20:36:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 21 18:34:16 2010 -0700"
      },
      "message": "net: snmp mib cleanup\n\nThere is no point to align or pad mibs to cache lines, they are per cpu\nallocated with a 8 bytes alignment anyway.\nThis wastes space for no gain. This patch removes __SNMP_MIB_ALIGN__\n\nSince SNMP mibs contain \"unsigned long\" fields only, we can relax the\nallocation alignment from \"unsigned long long\" to \"unsigned long\"\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "9b963e5d0e01461099a40117b05480f24b63381f",
      "tree": "4756d554e37bf4ab7202f2c564cbe629af98b576",
      "parents": [
        "3b8626ba01a8a745a3fdf22dd347edd708b0af13",
        "5fdd4baef6195a1f2960e901c8877e2105f832ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:57:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:57:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/ieee802154/fakehard.c\n\tdrivers/net/e1000e/ich8lan.c\n\tdrivers/net/e1000e/phy.c\n\tdrivers/net/netxen/netxen_nic_init.c\n\tdrivers/net/wireless/ath/ath9k/main.c\n"
    },
    {
      "commit": "5fdd4baef6195a1f2960e901c8877e2105f832ca",
      "tree": "198a3f2df2bea3c5239c95957e21f3680908ddf6",
      "parents": [
        "3e9848403ad59c53b31facb30b43ca80135ae0b9"
      ],
      "author": {
        "name": "Andrei Pelinescu-Onciul",
        "email": "andrei@iptel.org",
        "time": "Sun Nov 29 00:14:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:14:02 2009 -0800"
      },
      "message": "sctp: on T3_RTX retransmit all the in-flight chunks\n\nWhen retransmitting due to T3 timeout, retransmit all the\nin-flight chunks for the corresponding  transport/path, including\nchunks sent less then 1 rto ago.\nThis is the correct behaviour according to rfc4960 section 6.3.3\nE3 and\n\"Note: Any DATA chunks that were sent to the address for which the\n T3-rtx timer expired but did not fit in one MTU (rule E3 above)\n should be marked for retransmission and sent as soon as cwnd\n allows (normally, when a SACK arrives). \".\n\nThis fixes problems when more then one path is present and the T3\nretransmission of the first chunk that timeouts stops the T3 timer\nfor the initial active path, leaving all the other in-flight\nchunks waiting forever or until a new chunk is transmitted on the\nsame path and timeouts (and this will happen only if the cwnd\nallows sending new chunks, but since cwnd was dropped to MTU by\nthe timeout \u003d\u003e it will wait until the first heartbeat).\n\nExample: 10 packets in flight, sent at 0.1 s intervals on the\nprimary path. The primary path is down and the first packet\ntimeouts. The first packet is retransmitted on another path, the\nT3 timer for the primary path is stopped and cwnd is set to MTU.\nAll the other 9 in-flight packets will not be retransmitted\n(unless more new packets are sent on the primary path which depend\non cwnd allowing it, and even in this case the 9 packets will be\nretransmitted only after a new packet timeouts which even in the\nbest case would be more then RTO).\n\nThis commit reverts d0ce92910bc04e107b2f3f2048f07e94f570035d and\nalso removes the now unused transport-\u003elast_rto, introduced in\n b6157d8e03e1e780660a328f7183bcbfa4a93a19.\n\np.s  The problem is not only when multiple paths are there.  It\ncan happen in a single homed environment.  If the application\nstops sending data, it possible to have a hung association.\n\nSigned-off-by: Andrei Pelinescu-Onciul \u003candrei@iptel.org\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46d5a808558181e03a4760d2188cc9879445738a",
      "tree": "a51cc59d64042f61518d25ef4ecc71924f243084",
      "parents": [
        "a5b03ad2143c5bc9ae76533e8321fe66258b4f35"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:54:00 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:54:00 2009 -0500"
      },
      "message": "sctp: Update max.burst implementation\n\nCurrent implementation of max.burst ends up limiting new\ndata during cwnd decay period.  The decay is happening becuase\nthe connection is idle and we are allowed to fill the congestion\nwindow.  The point of max.burst is to limit micro-bursts in response\nto large acks.  This still happens, as max.burst is still applied\nto each transmit opportunity.  It will also apply if a very large\nsend is made (greater then allowed by burst).\n\nTested-by: Florian Niederbacher \u003cflorian.niederbacher@student.uibk.ac.at\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a5b03ad2143c5bc9ae76533e8321fe66258b4f35",
      "tree": "3c726dd6fd3d6d3bb711711018ea4808eb791e51",
      "parents": [
        "245cba7e55929dc2b10b7d915bfba0168eeeed17"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:59 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:59 2009 -0500"
      },
      "message": "sctp: Turn the enum socket options into defines\n\nRecent attempt to remove deprecated socket options demonstrated\nthat removing options from the enum space will have severe\nbinary compatibility issues.  The reason is that it changes\nthe subsequent enum space and causes option values to be redefined.\nTo solve this, and to get rid of the ugly double statements for\nevery option, we simply convert to the #define scheme.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "245cba7e55929dc2b10b7d915bfba0168eeeed17",
      "tree": "768264e6c1666552ba30cf7849ef4a5c1549a6e5",
      "parents": [
        "a242b41dedfe0fd51ab1c906daa703c09b196744"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:58 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:58 2009 -0500"
      },
      "message": "sctp: Remove useless last_time_used variable\n\nThe transport last_time_used variable is rather useless.\nIt was only used when determining if CWND needs to be updated\ndue to idle transport.  However, idle transport detection was\nbased on a Heartbeat timer and last_time_used was not incremented\nwhen sending Heartbeats.  As a result the check for cwnd reduction\nwas always true.  We can get rid of the variable and just base\nour cwnd manipulation on the HB timer (like the code comment sais).\nWe also have to call into the cwnd manipulation function regardless\nof whether HBs are enabled or not.  That way we will detect idle\ntransports if the user has disabled Heartbeats.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a242b41dedfe0fd51ab1c906daa703c09b196744",
      "tree": "6c52f80cf5a0f8d73fc43d595cacd9d2f0154e3d",
      "parents": [
        "37051f73862d15862aecc08b887b2884137af327"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Nov 23 15:53:58 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:58 2009 -0500"
      },
      "message": "sctp: remove deprecated SCTP_GET_*_OLD stuffs\n\nSCTP_GET_*_OLD stuffs are schedlued to be removed.\n\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "90f2f5318b3a5b0898fef0fec9b91376c7de7a2c",
      "tree": "33622d2b9e2064c36c17cd108c9b3a23af1fd6a4",
      "parents": [
        "e0e9db178a5ba4dbb5f16f958f1affbdc63d2cc4"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:57 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:57 2009 -0500"
      },
      "message": "sctp: Update SWS avaoidance receiver side algorithm\n\nWe currently send window update SACKs every time we free up 1 PMTU\nworth of data.  That a lot more SACKs then necessary.  Instead, we\u0027ll\nnow send back the actuall window every time we send a sack, and do\nwindow-update SACKs when a fraction of the receive buffer has been\nopened.  The fraction is controlled with a sysctl.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "6383cfb3ed3c5c0bea06da0099c219ef4237ecf5",
      "tree": "e3bfb43500b664c5a572d0a9456d7e7ec4f7aeab",
      "parents": [
        "b93d6471748de2ce02cc24774b774deb306a57a8"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:56 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:56 2009 -0500"
      },
      "message": "sctp: Fix malformed \"Invalid Stream Identifier\" error\n\nThe \"Invalid Stream Identifier\" error has a 16 bit reserved\nfield at the end, thus making the parameter length be 8 bytes.\nWe\u0027ve never supplied that reserved field making wireshark\ntag the packet as malformed.\n\nReported-by: Chris Dischino \u003ccdischino@sonusnet.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b93d6471748de2ce02cc24774b774deb306a57a8",
      "tree": "98c69d791297d3805d00f9d8ce2fa04dfbd63c9a",
      "parents": [
        "6dc7694f9df20f148076d82d00cb3663afb0b000"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Mon Nov 23 15:53:56 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:53:56 2009 -0500"
      },
      "message": "sctp: implement the sender side for SACK-IMMEDIATELY extension\n\nThis patch implement the sender side for SACK-IMMEDIATELY\nextension.\n\n  Section 4.1.  Sender Side Considerations\n\n  Whenever the sender of a DATA chunk can benefit from the\n  corresponding SACK chunk being sent back without delay, the sender\n  MAY set the I-bit in the DATA chunk header.\n\n  Reasons for setting the I-bit include\n\n  o  The sender is in the SHUTDOWN-PENDING state.\n\n  o  The application requests to set the I-bit of the last DATA chunk\n     of a user message when providing the user message to the SCTP\n     implementation.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a2bfbc072e279ff81e6b336acff612b9bc2e5281",
      "tree": "89cfe21911e1539e1b7f89d8a10d42abecba2a18",
      "parents": [
        "5c427ff9e4cc61625d48172ea082ae99e21eea6a",
        "82b3cc1a2f5e46300a9dec4a8cc8106dc20a4c23"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 00:05:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 00:05:02 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/can/Kconfig\n"
    },
    {
      "commit": "409b95aff3583c05ac7a9247fa3d8c9aa7f9cae3",
      "tree": "a8cd8135f974b8f1c6ef9d092755e1ac5b190b2f",
      "parents": [
        "d792c1006fe92448217b71513d3955868358271d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Nov 10 08:57:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 19:56:50 2009 -0800"
      },
      "message": "sctp: Set source addresses on the association before adding transports\n\nRecent commit 8da645e101a8c20c6073efda3c7cc74eec01b87f\n\tsctp: Get rid of an extra routing lookup when adding a transport\nintroduced a regression in the connection setup.  The behavior was\n\ndifferent between IPv4 and IPv6.  IPv4 case ended up working because the\nroute lookup routing returned a NULL route, which triggered another\nroute lookup later in the output patch that succeeded.  In the IPv6 case,\na valid route was returned for first call, but we could not find a valid\nsource address at the time since the source addresses were not set on the\nassociation yet.  Thus resulted in a hung connection.\n\nThe solution is to set the source addresses on the association prior to\nadding peers.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd2c3ef761fbc5e6c27fa7d40b30cda06bfcd7d8",
      "tree": "25922196160e9d5be8aa2a473ce981756926390f",
      "parents": [
        "4b7673a04a16f1d8faf1e367ae28a6ee1671843d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 03 03:26:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 05:06:25 2009 -0800"
      },
      "message": "net: cleanup include/net\n\nThis cleanup patch puts struct/union/enum opening braces,\nin first line to ease grep games.\n\nstruct something\n{\n\nbecomes :\n\nstruct something {\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c",
      "tree": "ac6aed9bc6a832b0d17895a55039bc6ba65100c7",
      "parents": [
        "723884339f90a9c420783135168cc1045750eb5d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Sep 04 14:33:19 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:02 2009 -0400"
      },
      "message": "sctp: turn flags in \u0027struct sctp_association\u0027 into bit fields\n\nThis shrinks the size of struct sctp_association a little.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "723884339f90a9c420783135168cc1045750eb5d",
      "tree": "c8538602e56f2310470b0970bf121a1000313401",
      "parents": [
        "8da645e101a8c20c6073efda3c7cc74eec01b87f"
      ],
      "author": {
        "name": "Bhaskar Dutta",
        "email": "bhaskie@gmail.com",
        "time": "Thu Sep 03 17:25:47 2009 +0530"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Sysctl configuration for IPv4 Address Scoping\n\nThis patch introduces a new sysctl option to make IPv4 Address Scoping\nconfigurable \u003cdraft-stewart-tsvwg-sctp-ipv4-00.txt\u003e.\n\nIn networking environments where DNAT rules in iptables prerouting\nchains convert destination IP\u0027s to link-local/private IP addresses,\nSCTP connections fail to establish as the INIT chunk is dropped by the\nkernel due to address scope match failure.\nFor example to support overlapping IP addresses (same IP address with\ndifferent vlan id) a Layer-5 application listens on link local IP\u0027s,\nand there is a DNAT rule that maps the destination IP to a link local\nIP. Such applications never get the SCTP INIT if the address-scoping\ndraft is strictly followed.\n\nThis sysctl configuration allows SCTP to function in such\nunconventional networking environments.\n\nSysctl options:\n0 - Disable IPv4 address scoping draft altogether\n1 - Enable IPv4 address scoping (default, current behavior)\n2 - Enable address scoping but allow IPv4 private addresses in init/init-ack\n3 - Enable address scoping but allow IPv4 link local address in init/init-ack\n\nSigned-off-by: Bhaskar Dutta \u003cbhaskar.dutta@globallogic.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a803c942303e6a4ef0ab6b80114529852cffa058",
      "tree": "d1da47a93ef1683957256a582ed2fcb27d3e9a4b",
      "parents": [
        "4007cc88ceec8892b74792f0a10983b140beae72"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Turn flags in \u0027sctp_packet\u0027 into bit fields\n\nThis shrinks the size of sctp_packet a little.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "f68b2e05f326971cd76c65aa91a1a41771dd7485",
      "tree": "2940d83f3787570cc030791378ee23b89b941662",
      "parents": [
        "cb95ea32a457871f72752164de8d94fa20f4703c"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: Fix SCTP_MAXSEG socket option to comply to spec.\n\nWe had a bug that we never stored the user-defined value for\nMAXSEG when setting the value on an association.  Thus future\nPMTU events ended up re-writing the frag point and increasing\nit past user limit.  Additionally, when setting the option on\nthe socket/endpoint, we effect all current associations, which\nis against spec.\n\nNow, we store the user \u0027maxseg\u0027 value along with the computed\n\u0027frag_point\u0027.  We inherit \u0027maxseg\u0027 from the socket at association\ncreation and use it as an upper limit for \u0027frag_point\u0027 when its\nset.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "cb95ea32a457871f72752164de8d94fa20f4703c",
      "tree": "0a419cdc3fe5e7e2d5fa5036a40d93a4bb6aac42",
      "parents": [
        "b29e7907288554db9c987c36facfd0304ee8ff5a"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: Don\u0027t do NAGLE delay on large writes that were fragmented small\n\nSCTP will delay the last part of a large write due to NAGLE, if that\npart is smaller then MTU.  Since we are doing large writes, we might\nas well send the last portion now instead of waiting untill the next\nlarge write happens.  The small portion will be sent as is regardless,\nso it\u0027s better to not delay it.\n\nThis is a result of much discussions with Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nand Doug Graham \u003cdgraham@nortel.com\u003e.  Many thanks go out to them.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "4d3c46e6833208428d366630aa708f6876e61fc1",
      "tree": "cb5f57a90a261b7443d202d96cf5725dbba371c8",
      "parents": [
        "33ce828131ca6655b48bd2070dadd80f816dfe0d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: drop a_rwnd to 0 when receive buffer overflows.\n\nSCTP has a problem that when small chunks are used, it is possible\nto exhaust the receiver buffer without fully closing receive window.\nThis happens due to all overhead that we have account for with small\nmessages.  To fix this, when receive buffer is exceeded, we\u0027ll drop\nthe window to 0 and save the \u0027drop\u0027 portion.  When application starts\nreading data and freeing up recevie buffer space, we\u0027ll wait until\nwe\u0027ve reached the \u0027drop\u0027 window and then add back this \u0027drop\u0027 one\nmtu at a time.  This worked well in testing and under stress produced\nrather even recovery.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "9c5c62be2f794c7cee533d856f9f34c3cf21ff1b",
      "tree": "e81bcc703cedf4e667b91504b5cf9e8e01ffb6a5",
      "parents": [
        "5d7ff261ef497c62f54c39effc259910a28b313d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Aug 10 13:51:03 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:57 2009 -0400"
      },
      "message": "sctp: Send user messages to the lower layer as one\n\nCurrenlty, sctp breaks up user messages into fragments and\nsends each fragment to the lower layer by itself.  This means\nthat for each fragment we go all the way down the stack\nand back up.  This also discourages bundling of multiple\nfragments when they can fit into a sigle packet (ex: due\nto user setting a low fragmentation threashold).\n\nWe introduce a new command SCTP_CMD_SND_MSG and hand the\nwhole message down state machine.  The state machine and\nthe side-effect parser will cork the queue, add all chunks\nfrom the message to the queue, and then un-cork the queue\nthus causing the chunks to get transmitted.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48",
      "tree": "8c44f18560570c7200eed1a92cd0d9fab6c2a4f2",
      "parents": [
        "af87b823ca2b05257192e8d48dc686db6173d7b2"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Jul 30 18:08:28 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Disallow new connection on a closing socket\n\nIf a socket has a lot of association that are in the process of\nof being closed/aborted, it is possible for a remote to establish\nnew associations during the time period that the old ones are shutting\ndown.  If this was a result of a close() call, there will be no socket\nand will cause a memory leak.  We\u0027ll prevent this by setting the\nsocket state to CLOSING and disallow new associations when in this state.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b4e8c6a7e6caa9c80edcbfb78fc50962b792d5f0",
      "tree": "426cfc5240b6a1d6d49b4f504b359c2d2648a0fa",
      "parents": [
        "40187886bc31aee9c5c6f08f46cde4ab618e9736"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "rosenrami@gmail.com",
        "time": "Thu Jul 30 09:38:43 2009 +0300"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: remove unused union (sctp_cmsg_data_t) definition\n\nThis patch removes an unused union definition (sctp_cmsg_data_t)\nfrom include/net/sctp/user.h.\n\nSigned-off-by: Rami Rosen \u003crosenrami@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "36cbd3dcc10384f813ec0814255f576c84f2bcd4",
      "tree": "c3579edea972519d2f9ae99d7da9a5dd56e6f5c1",
      "parents": [
        "db71789c01ae7b641f83c5aa64e7df25122f4b28"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Aug 05 10:42:58 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 05 10:42:58 2009 -0700"
      },
      "message": "net: mark read-only arrays as const\n\nString literals are constant, and usually, we can also tag the array\nof pointers const too, moving it to the .rodata section.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d55d87fdff8252d0e2f7c28c2d443aee17e9d70f",
      "tree": "a4bfb0a47525672c690b63e85bf3f47f4ab014f7",
      "parents": [
        "d5fdd6babcfc2b0e6a8da1acf492a69fb54b4c47"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 22 02:25:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 23 16:36:25 2009 -0700"
      },
      "message": "net: Move rx skb_orphan call to where needed\n\nIn order to get the tun driver to account packets, we need to be\nable to receive packets with destructors set.  To be on the safe\nside, I added an skb_orphan call for all protocols by default since\nsome of them (IP in particular) cannot handle receiving packets\ndestructors properly.\n\nNow it seems that at least one protocol (CAN) expects to be able\nto pass skb-\u003esk through the rx path without getting clobbered.\n\nSo this patch attempts to fix this properly by moving the skb_orphan\ncall to where it\u0027s actually needed.  In particular, I\u0027ve added it\nto skb_set_owner_[rw] which is what most users of skb-\u003edestructor\ncall.\n\nThis is actually an improvement for tun too since it means that\nwe only give back the amount charged to the socket when the skb\nis passed to another socket that will also be charged accordingly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Oliver Hartkopp \u003colver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6ba68a26645dbc5029a9faa5687ebe6fcfc53e4",
      "tree": "e47a8f343b7fd0ba0a5d3e49a740d5dbe73e430a",
      "parents": [
        "9919b455fc00c995ef8141848bdc0709ce50bf36"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Jun 01 12:41:15 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Jun 03 09:14:47 2009 -0400"
      },
      "message": "sctp: support non-blocking version of the new sctp_connectx() API\n\nPrior implementation of the new sctp_connectx() call that returns\nan association ID did not work correctly on non-blocking socket.\nThis is because we could not return both a EINPROGRESS error and\nan association id.  This is a new implementation that supports this.\n\nOriginally from Ivan Skytte Jørgensen \u003cisj-sctp@i1.dk\n\nSigned-off-by: Ivan Skytte Jørgensen \u003cisj-sctp@i1.dk\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "9919b455fc00c995ef8141848bdc0709ce50bf36",
      "tree": "ec700e8a9fe3dd9f1ed841e22f96c06476d484fb",
      "parents": [
        "d48e074dfdada552fa53f5eab807540f352e0d5d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue May 12 21:52:51 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Jun 03 09:14:46 2009 -0400"
      },
      "message": "sctp: fix to choose alternate destination when retransmit ASCONF chunk\n\nRFC 5061 Section 5.1 ASCONF Chunk Procedures said:\n\nB4)  Re-transmit the ASCONF Chunk last sent and if possible choose an\n     alternate destination address (please refer to [RFC4960],\n     Section 6.4.1).  An endpoint MUST NOT add new parameters to this\n     chunk; it MUST be the same (including its Sequence Number) as\n     the last ASCONF sent.  An endpoint MAY, however, bundle an\n     additional ASCONF with new ASCONF parameters with the next\n     Sequence Number.  For details, see Section 5.5.\n\nThis patch fix to choose an alternate destination address when\nre-transmit the ASCONF chunk, with some dup codes cleanup.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "8d2f9e81169b8120cf2b4872930ae491b17c27b8",
      "tree": "851d3cbb29052ae57f11eca4e6baa2b8dfbd3d38",
      "parents": [
        "09a3b1f8b1af7220fd7a3caf18e6841a7f5a6c6e"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Sat Mar 21 13:41:09 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 21 13:41:09 2009 -0700"
      },
      "message": "sctp: Clean up TEST_FRAME hacks.\n\nRemove 2 TEST_FRAME hacks that are no longer needed.  These allowed\nsctp regression tests to compile before, but are no longer needed.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e99013a5043cacd375375c3efad35b57c3afdba",
      "tree": "52b66988e7f49c644731acfa616afe9b4e1501c1",
      "parents": [
        "f61f6f82c90cbaa85270f26b89e3309a8c6e2e88"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Mar 02 09:46:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 22:49:18 2009 -0800"
      },
      "message": "sctp: Fix broken RTO-doubling for data retransmits\n\nCommit faee47cdbfe8d74a1573c2f81ea6dbb08d735be6\n(sctp: Fix the RTO-doubling on idle-link heartbeats)\nbroke the RTO doubling for data retransmits.  If the\nheartbeat was sent before the data T3-rtx time, the\nthe RTO will not double upon the T3-rtx expiration.\nDistingish between the operations by passing an argument\nto the function.\n\nAdditionally, Wei Youngjun pointed out that our treatment\nof requested HEARTBEATS and timer HEARTBEATS is the same\nwrt resetting congestion window.  That needs to be separated,\nsince user requested HEARTBEATS should not treat the link\nas idle.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "914e1c8b6980c516667375d3e55f0b6e674c8c58",
      "tree": "d61194143a112ace85f6e6dfc22bc01d7173f62e",
      "parents": [
        "faee47cdbfe8d74a1573c2f81ea6dbb08d735be6"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Feb 13 08:33:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:11 2009 -0800"
      },
      "message": "sctp: Inherit all socket options from parent correctly.\n\nDuring peeloff/accept() sctp needs to save the parent socket state\ninto the new socket so that any options set on the parent are\ninherited by the child socket.  This was found when the\nparent/listener socket issues SO_BINDTODEVICE, but the\ndata was misrouted after a route cache flush.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "faee47cdbfe8d74a1573c2f81ea6dbb08d735be6",
      "tree": "6a95e8f91087cd3d584fc89f9bc06355d371d82a",
      "parents": [
        "4458f04c02a46c679a90ef71f866a415c192deb4"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Feb 13 08:33:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:10 2009 -0800"
      },
      "message": "sctp: Fix the RTO-doubling on idle-link heartbeats\n\nSCTP incorrectly doubles rto ever time a Hearbeat chunk\nis generated.   However RFC 4960 states:\n\n   On an idle destination address that is allowed to heartbeat, it is\n   recommended that a HEARTBEAT chunk is sent once per RTO of that\n   destination address plus the protocol parameter \u0027HB.interval\u0027, with\n   jittering of +/- 50% of the RTO value, and exponential backoff of the\n   RTO if the previous HEARTBEAT is unanswered.\n\nEssentially, of if the heartbean is unacknowledged, do we double the RTO.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4458f04c02a46c679a90ef71f866a415c192deb4",
      "tree": "b08aa476ab4c525ab3cb33cea6114cb262cb2941",
      "parents": [
        "06e868066e3b5828383eb40ff4d1c0029100b0b5"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Feb 13 08:33:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:10 2009 -0800"
      },
      "message": "sctp: Clean up sctp checksumming code\n\nThe sctp crc32c checksum is always generated in little endian.\nSo, we clean up the code to treat it as little endian and remove\nall the __force casts.\n\nSuggested by Herbert Xu.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06e868066e3b5828383eb40ff4d1c0029100b0b5",
      "tree": "5fb84de9aff8a0b5d225a4c1137000ef6cc00dd5",
      "parents": [
        "85e8d004ecbc51ead6ae926e15973b42cf07b36e"
      ],
      "author": {
        "name": "Lucas Nussbaum",
        "email": "lucas.nussbaum@ens-lyon.fr",
        "time": "Fri Feb 13 08:33:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:09 2009 -0800"
      },
      "message": "sctp: Allow to disable SCTP checksums via module parameter\n\nThis is a new version of my patch, now using a module parameter instead\nof a sysctl, so that the option is harder to find. Please note that,\nonce the module is loaded, it is still possible to change the value of\nthe parameter in /sys/module/sctp/parameters/, which is useful if you\nwant to do performance comparisons without rebooting.\n\nComputation of SCTP checksums significantly affects the performance of\nSCTP. For example, using two dual-Opteron 246 connected using a Gbe\nnetwork, it was not possible to achieve more than ~730 Mbps, compared to\n941 Mbps after disabling SCTP checksums.\nUnfortunately, SCTP checksum offloading in NICs is not commonly\navailable (yet).\n\nBy default, checksums are still enabled, of course.\n\nSigned-off-by: Lucas Nussbaum \u003clucas.nussbaum@ens-lyon.fr\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c5ff5f75d0d0a1c7928ecfae3f38418b51a88e3",
      "tree": "5211a9794d3d8104b19d1dd544248755f5faf076",
      "parents": [
        "c64d2a9afbccd0aecb122d108770a407fe7b7e3f"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Jan 22 14:52:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 14:52:23 2009 -0800"
      },
      "message": "sctp: Fix crc32c calculations on big-endian arhes.\n\ncrc32c algorithm provides a byteswaped result.  On little-endian\narches, the result ends up in big-endian/network byte order.\nOn big-endinan arches, the result ends up in little-endian\norder and needs to be byte swapped again.  Thus calling cpu_to_le32\ngives the right output.\n\nTested-by: Jukka Taimisto \u003cjukka.taimisto@mail.suomi.net\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aea3c5c05d2c409e93bfa80dcedc06af7da6c13b",
      "tree": "2ee271efa68ef7677c94b1c9daaa33b9ad6a2531",
      "parents": [
        "ea686a2653c5586b1c7192958b9d521abde66e92"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Dec 25 16:57:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 16:57:24 2008 -0800"
      },
      "message": "sctp: Implement socket option SCTP_GET_ASSOC_NUMBER\n\nImplement socket option SCTP_GET_ASSOC_NUMBER of the latest ietf socket\nextensions API draft.\n\n  8.2.5.  Get the Current Number of Associations (SCTP_GET_ASSOC_NUMBER)\n\n   This option gets the current number of associations that are attached\n   to a one-to-many style socket.  The option value is an uint32_t.\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": "1748376b6626acf59c24e9592ac67b3fe2a0e026",
      "tree": "65a28205daf1ca92e31389440764fc407365014e",
      "parents": [
        "c1b56878fb68e9c14070939ea4537ad4db79ffae"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 21:16:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 21:16:35 2008 -0800"
      },
      "message": "net: Use a percpu_counter for sockets_allocated\n\nInstead of using one atomic_t per protocol, use a percpu_counter\nfor \"sockets_allocated\", to reduce cache line contention on\nheavy duty network servers. \n\nNote : We revert commit (248969ae31e1b3276fc4399d67ce29a5d81e6fd9\nnet: af_unix can make unix_nr_socks visbile in /proc),\nsince it is not anymore used after sock_prot_inuse_add() addition\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3685f25de1b0447fff381c420de1e25bd57c9efb",
      "tree": "90a5d87c0ced1b27f654606d50a9ff13ded6f862",
      "parents": [
        "be859405487324ed548f1ba11dc949b8230ab991"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:56:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:56:49 2008 -0700"
      },
      "message": "misc: replace NIPQUAD()\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad",
      "tree": "b6caa0cdbaac016447a790881ad4a6c5dfce6900",
      "parents": [
        "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "message": "net: replace %p6 with %pI6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c6ce78abf6e228d44c3840edb8a4ae0c1299825",
      "tree": "55f228de41dd191609310c03633579eec05b1f33",
      "parents": [
        "38ff4fa49bef77e86b21d95d9ce341a098f02839"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:09:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:31 2008 -0700"
      },
      "message": "net: replace uses of NIP6_FMT with %p6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e3f92dad6bdbee796274bae5c1c50a6ddd31cbb",
      "tree": "e4a08c8d2c43d8fc45937fe9db85f616d2f7c7a1",
      "parents": [
        "cf896d514a4564027929a6d284872c74987085ef"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Oct 23 01:01:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 23 01:01:18 2008 -0700"
      },
      "message": "sctp: Fix to handle SHUTDOWN in SHUTDOWN_RECEIVED state\n\nOnce an endpoint has reached the SHUTDOWN-RECEIVED state,\nit MUST NOT send a SHUTDOWN in response to a ULP request.\nThe Cumulative TSN Ack of the received SHUTDOWN chunk\nMUST be processed.\n\nThis patch fix to process Cumulative TSN Ack of the received\nSHUTDOWN chunk in SHUTDOWN_RECEIVED state.\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": "d5c003b4d1690e666dbab02bc8e705947baa848c",
      "tree": "868edee78b635698429173a95ac4215b932f0155",
      "parents": [
        "8e9c7716c138fa82d919bfe1115ec8c938e90918"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 15 22:01:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:30 2008 -0700"
      },
      "message": "include: replace __FUNCTION__ with __func__\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02015180e2509afd2e3fe3790a333b30708a116b",
      "tree": "d2d92b62758f01375602cd7e44cb9ffbb3e44d59",
      "parents": [
        "8e1ee18c332e08bee9d8bd66e63cd564fbf17fc2"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Oct 08 14:19:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 14:19:01 2008 -0700"
      },
      "message": "sctp: shrink sctp_tsnmap some more by removing gabs array\n\nThe gabs array in the sctp_tsnmap structure is only used\nin one place, sctp_make_sack().  As such, carrying the\narray around in the sctp_tsnmap and thus directly in\nthe sctp_association is rather pointless since most\nof the time it\u0027s just taking up space.  Now, let\nsctp_make_sack create and populate it and then throw\nit away when it\u0027s done.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e1ee18c332e08bee9d8bd66e63cd564fbf17fc2",
      "tree": "8dace1db660d555eb6e020f301fdfe6cf6c05b80",
      "parents": [
        "3c689b7320ae6f20dba6a8b71806a6c6fd604ee8"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Oct 08 14:18:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 14:18:39 2008 -0700"
      },
      "message": "sctp: Rework the tsn map to use generic bitmap.\n\nThe tsn map currently use is 4K large and is stuck inside\nthe sctp_association structure making memory references REALLY\nexpensive.  What we really need is at most 4K worth of bits\nso the biggest map we would have is 512 bytes.   Also, the\nmap is only really usefull when we have gaps to store and\nreport.  As such, starting with minimal map of say 32 TSNs (bits)\nshould be enough for normal low-loss operations.  We can grow\nthe map by some multiple of 32 along with some extra room any\ntime we receive the TSN which would put us outside of the map\nboundry.  As we close gaps, we can shift the map to rebase\nit on the latest TSN we\u0027ve seen.  This saves 4088 bytes per\nassociation just in the map alone along savings from the now\nunnecessary structure members.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52cae8f06babf9eed327479c1aa024ce3732f912",
      "tree": "2ef0dc1e4daf53735681ba7223d40058f1175092",
      "parents": [
        "c226ef9b83694311327f3ab0036c6de9c22e9daf"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Aug 18 10:34:34 2008 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Oct 01 11:33:06 2008 -0400"
      },
      "message": "sctp: try harder to figure out address family when checking wildcards\n\nsctp_is_any() function that is used to check for wildcard addresses\nonly looks at the address itself to determine the address family.\nThis function is used in the API to check the address passed in from\nthe user.  If the user simply zerroes out the sockaddr_storage and\npass that in, we\u0027ll end up failing.  So, let\u0027s try harder to determine\nthe address family by also checking the socket if it\u0027s possible.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "c226ef9b83694311327f3ab0036c6de9c22e9daf",
      "tree": "04c81b4186fd79a1f1b129a8627da6a41ceb4c25",
      "parents": [
        "845b8eda4d783a7ce2670d482a716840a650389e"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Jul 25 12:44:09 2008 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Oct 01 11:33:06 2008 -0400"
      },
      "message": "sctp: reduce memory footprint of sctp_chunk structure\n\nsctp_chunks should be put on a diet.  This is some of the low hanging\nfruit that we can strip out.  Changes all the __s8/__u8 flags to\nbitfields.  Saves 12 bytes per chunk.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b262e60309e1b0eb25d300c7e739427d5316abb1",
      "tree": "bf319d78c79bb5cb617ff0c8340c73aa349bba15",
      "parents": [
        "93c8b90f01f0dc73891da4e84b26524b61d29d66",
        "0523820482dcb42784572ffd2296c2f08c275a2b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 06:12:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 06:12:56 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath9k/core.c\n\tdrivers/net/wireless/ath9k/main.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "ba0166708ef4da7eeb61dd92bbba4d5a749d6561",
      "tree": "0e28c1d17b67d24125df4f05cbcca94c7e90ccd3",
      "parents": [
        "8b122efd13a227d35d5ca242561770db1b5e3658"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Sep 30 05:32:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 30 05:32:24 2008 -0700"
      },
      "message": "sctp: Fix kernel panic while process protocol violation parameter\n\nSince call to function sctp_sf_abort_violation() need paramter \u0027arg\u0027 with\n\u0027struct sctp_chunk\u0027 type, it will read the chunk type and chunk length from\nthe chunk_hdr member of chunk. But call to sctp_sf_violation_paramlen()\nalways with \u0027struct sctp_paramhdr\u0027 type\u0027s parameter, it will be passed to\nsctp_sf_abort_violation(). This may cause kernel panic.\n\n   sctp_sf_violation_paramlen()\n     |-- sctp_sf_abort_violation()\n        |-- sctp_make_abort_violation()\n\nThis patch fixed this problem. This patch also fix two place which called\nsctp_sf_violation_paramlen() with wrong paramter type.\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": "3d09274cc9d816d62945408840a9cb76a5e7aac7",
      "tree": "aaa71085396fae5c2bcbd0752071e3a0139d370d",
      "parents": [
        "1d4a31dde95af56edac4dee268249a29a21fa7c0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:14:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:14:36 2008 -0700"
      },
      "message": "sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f880374c2fe37aad3fa62253a4bc125d7a933aad",
      "tree": "7ff62dfd04689f09c0c27b24340479fc92de5e0d",
      "parents": [
        "cfb266c0ee0ea0b7bfa8189e3a3a80344dec6112"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 03 21:15:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 03 21:15:08 2008 -0700"
      },
      "message": "sctp: Drop ipfargok in sctp_xmit function\n\nThe ipfragok flag controls whether the packet may be fragmented\neither on the local host on beyond.  The latter is only valid on\nIPv4.\n\nIn fact, we never want to do the latter even on IPv4 when PMTU is\nenabled.  This is because even though we can\u0027t fragment packets\nwithin SCTP due to the prtocol\u0027s inherent faults, we can still\nfragment it at IP layer.  By setting the DF bit we will improve\nthe PMTU process.\n\nRFC 2960 only says that we SHOULD clear the DF bit in this case,\nso we\u0027re compliant even if we set the DF bit.  In fact RFC 4960\nno longer has this statement.\n\nOnce we make this change, we only need to control the local\nfragmentation.  There is already a bit in the skb which controls\nthat, local_df.  So this patch sets that instead of using the\nipfragok argument.\n\nThe only complication is that there isn\u0027t a struct sock object\nper transport, so for IPv4 we have to resort to changing the\npmtudisc field for every packet.  This should be safe though\nas the protocol is single-threaded.\n\nNote that after this patch we can remove ipfragok from the rest\nof the stack too.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abd0b198ea699578c3c3476d646c91842e19dbd2",
      "tree": "7fd20239f80d1cad22e9023d3c481944b81a198a",
      "parents": [
        "a94f779f9d82eb2d758a8715eaae5df98e8dcb21"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:20:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:20:45 2008 -0700"
      },
      "message": "sctp: make sctp_outq_flush() static\n\nsctp_outq_flush() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "336d3262df71fcd2661180bb35d5ea41b4cbca58",
      "tree": "54078334c9c3706a003d4b54a8e9e9b23aa01cef",
      "parents": [
        "4e54064e0a13b7a7d4a481123c1783f770538e30"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Jul 18 23:07:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:07:09 2008 -0700"
      },
      "message": "sctp: remove unnecessary byteshifting, calculate directly in big-endian\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7dab83de50c7b2b7ceac695a0b56fa6c0f95b0bc",
      "tree": "979c6905f2ef643acccfea9ab9ed926e764e72c8",
      "parents": [
        "6d0ccbac688207ca0616ab5094932af4db4747b3"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Jul 18 23:05:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:05:40 2008 -0700"
      },
      "message": "sctp: Support ipv6only AF_INET6 sockets.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e3216cd54b142ba605e87522e15f42e0c4e3996",
      "tree": "da4d7a6ff4811d9f38b81c70f08b221b575e1254",
      "parents": [
        "7115e632f90952454ab6426e0d2151327162a30f"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Jun 19 16:08:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 19 16:08:18 2008 -0700"
      },
      "message": "sctp: Follow security requirement of responding with 1 packet\n\nRFC 4960, Section 11.4. Protection of Non-SCTP-Capable Hosts\n\nWhen an SCTP stack receives a packet containing multiple control or\nDATA chunks and the processing of the packet requires the sending of\nmultiple chunks in response, the sender of the response chunk(s) MUST\nNOT send more than one packet.  If bundling is supported, multiple\nresponse chunks that fit into a single packet MAY be bundled together\ninto one single response packet.  If bundling is not supported, then\nthe sender MUST NOT send more than one response chunk and MUST\ndiscard all other responses.  Note that this rule does NOT apply to a\nSACK chunk, since a SACK chunk is, in itself, a response to DATA and\na SACK does not require a response of more DATA.\n\nWe implement this by not servicing our outqueue until we reach the end\nof the packet.  This enables maximum bundling.  We also identify\n\u0027response\u0027 chunks and make sure that we only send 1 packet when sending\nsuch chunks.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ce9c6ede1504d29eead67862edc96c03dd4d0a2",
      "tree": "fe70f8f837d1ff390ef1ae3044393ab53c1cf8e3",
      "parents": [
        "caea902f72b053fd0c76d0d3b6b2e057beb3fc64"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 17 00:40:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 17 00:40:36 2008 -0700"
      },
      "message": "sctp: Kill SCTP_SOCK_SLEEP_{PRE,POST}, unused.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65b53e4cc90e59936733b3b95b9451d2ca47528d",
      "tree": "29932718192962671c48c3fd1ea017a6112459e8",
      "parents": [
        "788c0a53164c05c5ccdb1472474372b72ba74644",
        "2e761e0532a784816e7e822dbaaece8c5d4be14d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 02:22:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 02:22:26 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/tg3.c\n\tdrivers/net/wireless/rt2x00/rt2x00dev.c\n\tnet/mac80211/ieee80211_i.h\n"
    },
    {
      "commit": "b9031d9d87b24e24cd32ea15b5f4220a1e8da909",
      "tree": "9033b439bfead85c115f9952fc060424788e8759",
      "parents": [
        "8b750ce54bd8ab5f75d519ee450e1b0c5226ebe9"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Jun 04 12:40:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 04 12:40:15 2008 -0700"
      },
      "message": "sctp: Fix ECN markings for IPv6\n\nCommit e9df2e8fd8fbc95c57dbd1d33dada66c4627b44c (\"[IPV6]: Use\nappropriate sock tclass setting for routing lookup.\") also changed the\nway that ECN capable transports mark this capability in IPv6.  As a\nresult, SCTP was not marking ECN capablity because the traffic class\nwas never set.  This patch brings back the markings for IPv6 traffic.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62aeaff5ccd96462b7077046357a6d7886175a57",
      "tree": "8ea18997997a8724222c86f659b559e12bcf4a86",
      "parents": [
        "a6465234814efda9ed1dccdba852953f7508e827"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Jun 04 12:39:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 04 12:39:11 2008 -0700"
      },
      "message": "sctp: Start T3-RTX timer when fast retransmitting lowest TSN\n\nWhen we are trying to fast retransmit the lowest outstanding TSN, we\nneed to restart the T3-RTX timer, so that subsequent timeouts will\ncorrectly tag all the packets necessary for retransmissions.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nTested-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "a6465234814efda9ed1dccdba852953f7508e827"
}
