)]}'
{
  "log": [
    {
      "commit": "b4aa9e05a61b845541fa6f5b1d246976922601f0",
      "tree": "ca94478c3df281ab76a3399f5ba6341ade3f5791",
      "parents": [
        "1dc0f3c54ce1df957f99c17b145488fd03eb1a59",
        "4b8fe66300acb2fba8b16d62606e0d30204022fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n\tdrivers/net/wireless/iwlwifi/iwl-1000.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/vhost/vhost.c\n"
    },
    {
      "commit": "7d743b7e952261f4d9ee091100b6403f3ce8a2af",
      "tree": "9829009c63ccebbf65b4cca63c1eb4e14b8e5fd1",
      "parents": [
        "0b7967503dc97864f283a3a06fbe23e041876138"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Dec 14 16:10:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:48:44 2010 -0800"
      },
      "message": "sctp: fix the return value of getting the sctp partial delivery point\n\nGet the sctp partial delivery point using SCTP_PARTIAL_DELIVERY_POINT\nsocket option should return 0 if success, not -ENOTSUPP.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40a010395cd66053f07bffeb3da5e44683bac30e",
      "tree": "f734e8da3145553bd47416d27c33e62435a39e52",
      "parents": [
        "79aeec5822cea63cf732bbc0c9f3337542352616"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Dec 07 17:11:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 15:29:49 2010 -0800"
      },
      "message": "SCTP: Fix SCTP_SET_PEER_PRIMARY_ADDR to accpet v4mapped address\n\nSCTP_SET_PEER_PRIMARY_ADDR does not accpet v4mapped address, using\nv4mapped address in SCTP_SET_PEER_PRIMARY_ADDR socket option will\nget -EADDRNOTAVAIL error if v4map is enabled. This patch try to\nfix it by mapping v4mapped address to v4 address if allowed.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8917a3c0b7d1557548f50bfe3f0e18e0354e38f6",
      "tree": "8bb698c078f7808deaa0de1b9035bbf658416205",
      "parents": [
        "2d5311e4e8272fd398fc1cf278f12fd6dee4074b"
      ],
      "author": {
        "name": "David Shwatrz",
        "email": "dshwatrz@gmail.com",
        "time": "Thu Dec 02 09:01:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 13:10:11 2010 -0800"
      },
      "message": "Fix a typo in datagram.c and sctp/socket.c.\n\nHi,\nThis patch fixes a typo in net/core/datagram.c and in net/sctp/socket.c\n\nRegards,\nDavid Shwartz\n\nSigned-off-by: David Shwartz \u003cdshwatrz@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d987e5c75107ca7515fa19e857cfa24aab6ec8f",
      "tree": "6392c5f08f0df39d42a079336f6be3960ac404dc",
      "parents": [
        "67286640f638f5ad41a946b9a3dc75327950248f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 09 23:24:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:12:00 2010 -0800"
      },
      "message": "net: avoid limits overflow\n\nRobin Holt tried to boot a 16TB machine and found some limits were\nreached : sysctl_tcp_mem[2], sysctl_udp_mem[2]\n\nWe can switch infrastructure to use long \"instead\" of \"int\", now\natomic_long_t primitives are available for free.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "21a180cda012e1f93e362dd4a9b0bfd3d8c92940",
      "tree": "0e0d10baa3fdcd8ffbc6881076ff1695808dad9d",
      "parents": [
        "c7d4426a98a5f6654cd0b4b33d9dab2e77192c18",
        "51e97a12bef19b7e43199fc153cf9bd5f2140362"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 04 11:56:38 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 04 11:56:38 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/Kconfig\n\tnet/ipv4/tcp_timer.c\n"
    },
    {
      "commit": "9a7241c21b06c3a3f8ebcf3e347bd68556369da7",
      "tree": "25f58652823894713a6c6f388b502002cc8edcd8",
      "parents": [
        "3abcdeda59c1d4cf2bf83311ed2d544355ec7c2d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 22:14:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 22:14:37 2010 -0700"
      },
      "message": "sctp: Fix break indentation in sctp_ioctl().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51e97a12bef19b7e43199fc153cf9bd5f2140362",
      "tree": "1ac12f07ab40e28d3ec29d04384a17c3e3b33826",
      "parents": [
        "d7e0d19aa0fdd22819d35db551bd54c1bcf9c2aa"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Fri Oct 01 11:51:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 21:58:49 2010 -0700"
      },
      "message": "sctp: Fix out-of-bounds reading in sctp_asoc_get_hmac()\n\nThe sctp_asoc_get_hmac() function iterates through a peer\u0027s hmac_ids\narray and attempts to ensure that only a supported hmac entry is\nreturned.  The current code fails to do this properly - if the last id\nin the array is out of range (greater than SCTP_AUTH_HMAC_ID_MAX), the\nid integer remains set after exiting the loop, and the address of an\nout-of-bounds entry will be returned and subsequently used in the parent\nfunction, causing potentially ugly memory corruption.  This patch resets\nthe id integer to 0 on encountering an invalid id so that NULL will be\nreturned after finishing the loop if no valid ids are found.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7e0d19aa0fdd22819d35db551bd54c1bcf9c2aa",
      "tree": "3abc10f8a6e3f296fb619077af5f6f16713c62b8",
      "parents": [
        "5b7c84066733c5dfb0e4016d939757b38de189e4"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "dan.j.rosenberg@gmail.com",
        "time": "Fri Oct 01 11:16:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 21:58:48 2010 -0700"
      },
      "message": "sctp: prevent reading out-of-bounds memory\n\nTwo user-controlled allocations in SCTP are subsequently dereferenced as\nsockaddr structs, without checking if the dereferenced struct members fall\nbeyond the end of the allocated chunk.  There doesn\u0027t appear to be any\ninformation leakage here based on how these members are used and\nadditional checking, but it\u0027s still worth fixing.\n\n[akpm@linux-foundation.org: remove unfashionable newlines, fix gmail tab-\u003espace conversion]\nSigned-off-by: Dan Rosenberg \u003cdan.j.rosenberg@gmail.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326",
      "tree": "88eb44e49a75721ae926665a2c42f08badac9d07",
      "parents": [
        "42099d7a3941d4aaf853caac92b3ae76149fc6e7",
        "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/qlcnic/qlcnic_init.c\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bdab43323b459900578b200a4b8cf9713ac8fab",
      "tree": "7a732994407ebb88698845ee36dbf98c062af49e",
      "parents": [
        "2507136f74f70a4869bd4f525d48715ae66db43d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Sep 15 10:00:26 2010 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 17 16:47:56 2010 -0700"
      },
      "message": "sctp: Do not reset the packet during sctp_packet_config().\n\nsctp_packet_config() is called when getting the packet ready\nfor appending of chunks.  The function should not touch the\ncurrent state, since it\u0027s possible to ping-pong between two\ntransports when sending, and that can result packet corruption\nfollowed by skb overlfow crash.\n\nReported-by: Thomas Dreibholz \u003cdreibh@iem.uni-due.de\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "123031c0eeda6144b4002dc3285375aa9ae9dc11",
      "tree": "2f7b13ffb639f3737b52ce47bf7bf258ff496f3a",
      "parents": [
        "e199e6136ce6b151e6638ae93dca60748424d900"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Sep 08 11:04:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 15:00:29 2010 -0700"
      },
      "message": "sctp: fix test for end of loop\n\nAdd a list_has_sctp_addr function to simplify loop\n\nBased on a patches by Dan Carpenter and David Miller\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65040c33ee8d0199ab7686402bffdbf9e1e26cbe",
      "tree": "4c8a35d0b6da2964a0de8f6668c0f5f47efe2825",
      "parents": [
        "2edae08e5b75269855fef3c74fe4292c066e7c33"
      ],
      "author": {
        "name": "Diego Elio \u0027Flameeyes\u0027 Pettenò",
        "email": "flameeyes@gmail.com",
        "time": "Fri Sep 03 03:47:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 13:08:05 2010 -0700"
      },
      "message": "sctp: implement SIOCINQ ioctl() (take 3)\n\nThis simple patch copies the current approach for SIOCINQ ioctl() from DCCP\ninto SCTP so that the userland code working with SCTP can use a similar\ninterface across different protocols to know how much space to allocate for\na buffer.\n\nSigned-off-by: Diego Elio Pettenò \u003cflameeyes@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db40980fcdb560d7992b0511df16cdd3f7e381f3",
      "tree": "337b5c41bd55915a4b894ea6fe09a865e7dcb0e4",
      "parents": [
        "d61702f1273b71c2809365a7806d7fe84fd77f15"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 06 11:13:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:45 2010 -0700"
      },
      "message": "net: poll() optimizations\n\nNo need to test twice sk-\u003esk_shutdown \u0026 RCV_SHUTDOWN\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "145ce502e44b57c074c72cfdc855557e19026999",
      "tree": "fd663feae03f5c5f4a31ceecd6a61e790344b8b3",
      "parents": [
        "dee06e4702b5a64b9ca81e650d66223c5b3e7f14"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Aug 24 13:21:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 14:11:48 2010 -0700"
      },
      "message": "net/sctp: Use pr_fmt and pr_\u003clevel\u003e\n\nChange SCTP_DEBUG_PRINTK and SCTP_DEBUG_PRINTK_IPADDR to\nuse do { print } while (0) guards.\nAdd SCTP_DEBUG_PRINTK_CONT to fix errors in log when\nlines were continued.\nAdd #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\nAdd a missing newline in \"Failed bind hash alloc\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4",
      "tree": "5adc1ff2eaf64d450bf28bb6b2ce890db2567288",
      "parents": [
        "5cf65713f87775c548e3eb48dbafa32e12f28000",
        "0ea6e61122196509af82cc4f36cbdaacbefb8227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)\n  Documentation: update broken web addresses.\n  fix comment typo \"choosed\" -\u003e \"chosen\"\n  hostap:hostap_hw.c Fix typo in comment\n  Fix spelling contorller -\u003e controller in comments\n  Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -\u003e Fault\n  fs/Kconfig: Fix typo Userpace -\u003e Userspace\n  Removing dead MACH_U300_BS26\n  drivers/infiniband: Remove unnecessary casts of private_data\n  fs/ocfs2: Remove unnecessary casts of private_data\n  libfc: use ARRAY_SIZE\n  scsi: bfa: use ARRAY_SIZE\n  drm: i915: use ARRAY_SIZE\n  drm: drm_edid: use ARRAY_SIZE\n  synclink: use ARRAY_SIZE\n  block: cciss: use ARRAY_SIZE\n  comment typo fixes: charater \u003d\u003e character\n  fix comment typos concerning \"challenge\"\n  arm: plat-spear: fix typo in kerneldoc\n  reiserfs: typo comment fix\n  update email address\n  ...\n"
    },
    {
      "commit": "1823e4c80eeae2a774c75569ce3035070e5ee009",
      "tree": "bdc1bdf4a67027193312ad584924ca8a986a064c",
      "parents": [
        "5eaa0bd81f93225b6d1972b373ed00ca763052b2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 22 20:58:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 25 21:33:17 2010 -0700"
      },
      "message": "snmp: add align parameter to snmp_mib_init()\n\nIn preparation for 64bit snmp counters for some mibs,\nadd an \u0027align\u0027 parameter to snmp_mib_init(), instead\nof assuming mibs only contain \u0027unsigned long\u0027 fields.\n\nCallers can use __alignof__(type) to provide correct\nalignment.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCC: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCC: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "421f91d21ad6f799dc7b489bb33cc560ccc56f98",
      "tree": "aaf9f6385233fdf9277e634603156c89ede7f770",
      "parents": [
        "65155b3708137fabee865dc4da822763c0c41208"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jun 11 12:17:00 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jun 16 18:05:05 2010 +0200"
      },
      "message": "fix typos concerning \"initiali[zs]e\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "d8d1f30b95a635dbd610dcc5eb641aca8f4768cf",
      "tree": "71424d82a96facd5fcf05cc769ef2ba52b584aeb",
      "parents": [
        "592fcb9dfafaa02dd0edc207bf5d3a0ee7a1f8df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "message": "net-next: remove useless union keyword\n\nremove useless union keyword in rtable, rt6_info and dn_route.\n\nSince there is only one member in a union, the union keyword isn\u0027t useful.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc10502dba37d3b210efd9f3867212298f13b78e",
      "tree": "af4542eaab79cd509244578f839167f16f3ab02d",
      "parents": [
        "ba2d3587912f82d1ab4367975b1df460db60fb1e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jun 03 03:21:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 03 03:21:52 2010 -0700"
      },
      "message": "net: use __packed annotation\n\ncleanup patch.\n\nUse new __packed annotation in net/ and include/\n(except netfilter)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e3219b5c8a2e44e0b83ae6e04f52f20a82ac0f2",
      "tree": "526cd94d906cc687f556631643fdfa43260918c5",
      "parents": [
        "f8bd909183acffad68780b10c1cdf36161cfd5d1"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Mon May 17 22:51:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:51:58 2010 -0700"
      },
      "message": "sctp: fix append error cause to ERROR chunk correctly\n\ncommit 5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809\n  sctp: Fix skb_over_panic resulting from multiple invalid \\\n    parameter errors (CVE-2010-1173) (v4)\n\ncause \u0027error cause\u0027 never be add the the ERROR chunk due to\nsome typo when check valid length in sctp_init_cause_fixed().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nReviewed-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6811d58fc148c393f80a9f5a9db49d7e75cdc546",
      "tree": "c25d5b0e49ec848943d35f819e748d157ccb492e",
      "parents": [
        "c4949f074332a64baeb2ead6ab9319ca37642f96",
        "c02db8c6290bb992442fec1407643c94cc414375"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/linux/if_link.h\n"
    },
    {
      "commit": "55fa0cfd7c3ac2ae34cac7dca2e3fbcfe661e6c3",
      "tree": "0f9ccf2d00a10a88f601245fced3581f49f93862",
      "parents": [
        "35790c0421121364883a167bab8a2e37e1f67f78"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun May 09 16:56:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 00:46:22 2010 -0700"
      },
      "message": "sctp: delete active ICMP proto unreachable timer when free transport\n\ntransport may be free before ICMP proto unreachable timer expire, so\nwe should delete active ICMP proto unreachable timer when transport\nis going away.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3826f1e946e7d2354943232f1457be1455a29e2",
      "tree": "a34055c7de762410b6a10c21ab5e1999fb38803b",
      "parents": [
        "9f977fb7ae9ddf565b4800854212fb9a1ed6c2ea"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed May 05 00:27:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:28:40 2010 -0700"
      },
      "message": "net: reserve ports for applications using fixed port numbers\n\n(Dropped the infiniband part, because Tetsuo modified the related code,\nI will send a separate patch for it once this is accepted.)\n\nThis patch introduces /proc/sys/net/ipv4/ip_local_reserved_ports which\nallows users to reserve ports for third-party applications.\n\nThe reserved ports will not be used by automatic port assignments\n(e.g. when calling connect() or bind() with port number 0). Explicit\nport allocation behavior is unchanged.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "278554bd6579206921f5d8a523649a7a57f8850d",
      "tree": "4e6c527daf0910e455b3aa72e2c96b0479e430be",
      "parents": [
        "5a147e8bf982f9dd414c1dd751fe02c1942506b2",
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ar9170/usb.c\n\tdrivers/scsi/iscsi_tcp.c\n\tnet/ipv4/ipmr.c\n"
    },
    {
      "commit": "50b5d6ad63821cea324a5a7a19854d4de1a0a819",
      "tree": "a279d53880e3bdf144783598ad03bbaa33e2cd96",
      "parents": [
        "6ec82562ffc6f297d0de36d65776cff8e5704867"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu May 06 00:56:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:56:07 2010 -0700"
      },
      "message": "sctp: Fix a race between ICMP protocol unreachable and connect()\n\nICMP protocol unreachable handling completely disregarded\nthe fact that the user may have locked the socket.  It proceeded\nto destroy the association, even though the user may have\nheld the lock and had a ref on the association.  This resulted\nin the following:\n\nAttempt to release alive inet socket f6afcc00\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: held lock freed! ]\n-------------------------\nsomenu/2672 is freeing memory f6afcc00-f6afcfff, with a lock still held\nthere!\n (sk_lock-AF_INET){+.+.+.}, at: [\u003cc122098a\u003e] sctp_connect+0x13/0x4c\n1 lock held by somenu/2672:\n #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003cc122098a\u003e] sctp_connect+0x13/0x4c\n\nstack backtrace:\nPid: 2672, comm: somenu Not tainted 2.6.32-telco #55\nCall Trace:\n [\u003cc1232266\u003e] ? printk+0xf/0x11\n [\u003cc1038553\u003e] debug_check_no_locks_freed+0xce/0xff\n [\u003cc10620b4\u003e] kmem_cache_free+0x21/0x66\n [\u003cc1185f25\u003e] __sk_free+0x9d/0xab\n [\u003cc1185f9c\u003e] sk_free+0x1c/0x1e\n [\u003cc1216e38\u003e] sctp_association_put+0x32/0x89\n [\u003cc1220865\u003e] __sctp_connect+0x36d/0x3f4\n [\u003cc122098a\u003e] ? sctp_connect+0x13/0x4c\n [\u003cc102d073\u003e] ? autoremove_wake_function+0x0/0x33\n [\u003cc12209a8\u003e] sctp_connect+0x31/0x4c\n [\u003cc11d1e80\u003e] inet_dgram_connect+0x4b/0x55\n [\u003cc11834fa\u003e] sys_connect+0x54/0x71\n [\u003cc103a3a2\u003e] ? lock_release_non_nested+0x88/0x239\n [\u003cc1054026\u003e] ? might_fault+0x42/0x7c\n [\u003cc1054026\u003e] ? might_fault+0x42/0x7c\n [\u003cc11847ab\u003e] sys_socketcall+0x6d/0x178\n [\u003cc10da994\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc1002959\u003e] syscall_call+0x7/0xb\n\nThis was because the sctp_wait_for_connect() would aqcure the socket\nlock and then proceed to release the last reference count on the\nassociation, thus cause the fully destruction path to finish freeing\nthe socket.\n\nThe simplest solution is to start a very short timer in case the socket\nis owned by user.  When the timer expires, we can do some verification\nand be able to do the release properly.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5460618405eec8c3300947a499011528a115acd",
      "tree": "19aba5acb6d91d5a20400292aaf1881a6b26c118",
      "parents": [
        "4f70ecca9c57731b4acbe5043eb22e4416bd2368",
        "0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 16:20:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 16:24:31 2010 -0700"
      },
      "message": "Merge branch \u0027net-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev\n\nAdd missing linux/vmalloc.h include to net/sctp/probe.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ef527377b88ff05fb122a47619ea506c631c914",
      "tree": "2c2e774527d5f591b975834f43e8c6fd12fb38f2",
      "parents": [
        "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
        "1183f3838c588545592c042c0ce15015661ce7f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 21:43:40 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:02:06 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "43815482370c510c569fd18edb57afcb0fa8cab6",
      "tree": "063efaae3758402b84f056438b704d1de68f7837",
      "parents": [
        "83d7eb2979cd3390c375470225dd2d8f2009bc70"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 29 11:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 01 15:00:15 2010 -0700"
      },
      "message": "net: sock_def_readable() and friends RCU conversion\n\nsk_callback_lock rwlock actually protects sk-\u003esk_sleep pointer, so we\nneed two atomic operations (and associated dirtying) per incoming\npacket.\n\nRCU conversion is pretty much needed :\n\n1) Add a new structure, called \"struct socket_wq\" to hold all fields\nthat will need rcu_read_lock() protection (currently: a\nwait_queue_head_t and a struct fasync_struct pointer).\n\n[Future patch will add a list anchor for wakeup coalescing]\n\n2) Attach one of such structure to each \"struct socket\" created in\nsock_alloc_inode().\n\n3) Respect RCU grace period when freeing a \"struct socket_wq\"\n\n4) Change sk_sleep pointer in \"struct sock\" by sk_wq, pointer to \"struct\nsocket_wq\"\n\n5) Change sk_sleep() function to use new sk-\u003esk_wq instead of\nsk-\u003esk_sleep\n\n6) Change sk_has_sleeper() to wq_has_sleeper() that must be used inside\na rcu_read_lock() section.\n\n7) Change all sk_has_sleeper() callers to :\n  - Use rcu_read_lock() instead of read_lock(\u0026sk-\u003esk_callback_lock)\n  - Use wq_has_sleeper() to eventually wakeup tasks.\n  - Use rcu_read_unlock() instead of read_unlock(\u0026sk-\u003esk_callback_lock)\n\n8) sock_wake_async() is modified to use rcu protection as well.\n\n9) Exceptions :\n  macvtap, drivers/net/tun.c, af_unix use integrated \"struct socket_wq\"\ninstead of dynamically allocated ones. They dont need rcu freeing.\n\nSome cleanups or followups are probably needed, (possible\nsk_callback_lock conversion to a spinlock for example...).\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726",
      "tree": "62e19d24380a9a8308d0ef3f2186742944971a5c",
      "parents": [
        "bfa0d9843ac5feb9667990706b4524390fee4df9"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: Tag messages that can be Nagle delayed at creation.\n\nWhen we create the sctp_datamsg and fragment the user data,\nwe know exactly if we are sending full segments or not and\nhow they might be bundled.  During this time, we can mark\nmessages a Nagle capable or not.  This makes the check at\ntransmit time much simpler.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bfa0d9843ac5feb9667990706b4524390fee4df9",
      "tree": "93b3f84efdc8a01ed76c70f8edec0d2f412d9d04",
      "parents": [
        "ea862c8d1f4a0d193979c7412c3b946f600721ce"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: Optimize computation of highest new tsn in SACK.\n\nRight now, if the highest tsn in the SACK doesn\u0027t change, we\u0027ll\nend up scanning the transmitted lists on the transports twice:\nonce for locating the highest _new_ tsn, and once for actually\ntagging chunks as acked.  This is a waste, since we can record\nthe highest _new_ tsn at the same time as tagging chunks.  Long\nago this was not possible because we would try to mark chunks\nas missing at the same time as tagging them acked and this approach\ndidn\u0027t work.  Now that the two steps are separate, we can re-use\nthe old approach.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "ea862c8d1f4a0d193979c7412c3b946f600721ce",
      "tree": "929dd96e2562258a96739373c758ab6dcbc2bb1b",
      "parents": [
        "65883371894be2631603d5d412f90f8c09290fef"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: correctly mark missing chunks in fast recovery\n\nAccording to RFC 4960 Section 7.2.4:\n \t\t\t\t\tIf an endpoint is in Fast\n   Recovery and a SACK arrives that advances the Cumulative TSN Ack\n   Point, the miss indications are incremented for all TSNs reported\n   missing in the SACK.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "65883371894be2631603d5d412f90f8c09290fef",
      "tree": "dbd95cdce0d32544428f26de68b2738a56a70764",
      "parents": [
        "cf9b4812e18aab6f86ff998bd7425a9e823269c3"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: rwnd_press should be cumulative\n\nrwnd_press tracks the pressure on the recieve window.  Every\ntimer the receive buffer overlows, we truncate the receive\nwindow and then grow it back.  However, if we don\u0027t track\nthe cumulative presser, it\u0027s possible to reach a situation\nwhen receive buffer is empty, but rwnd stays truncated.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "cf9b4812e18aab6f86ff998bd7425a9e823269c3",
      "tree": "51181bd38679112d3abc32ba6dc4266acad9251c",
      "parents": [
        "b2cf9b6bd93af1cc047d3356f1c6cc9367fe3731"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: fast recovery algorithm is per association.\n\nSCTP fast recovery algorithm really applies per association\nand impacts all transports.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b2cf9b6bd93af1cc047d3356f1c6cc9367fe3731",
      "tree": "2692be4d6237c1a9ebee27bd52bad7c418fa06f9",
      "parents": [
        "c0058a35aacc79406e867ec33c5cb75624fd5860"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: update transport initializations\n\nRight now, sctp transports are not fully initialized and when\nadding any new fields, they have to be explicitely initialized.\nThis is prone to mistakes.  So we switch to calling kzalloc()\nwhich makes things much simpler.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d9efc2231b28bc199f9de4dd594248b7341188e5",
      "tree": "dd319348c6448a72fb10d1936edde25d8f593e9b",
      "parents": [
        "ae19c54866450f6c6f79223ca7d37965859a54e1"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: Do not force T3 timer on fast retransmissions.\n\nWe don\u0027t need to force the T3 timer any more and it\u0027s\nactually wrong to do as it causes too long of a delay.\nThe timer will be started if one is not running, but if\none is running, we leave it alone.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "ae19c54866450f6c6f79223ca7d37965859a54e1",
      "tree": "4da39a450974841532148b15b15de182c8e40dac",
      "parents": [
        "d598b166ced20d9b9281ea3527c0e18405ddb803"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: remove \u0027resent\u0027 bit from the chunk\n\nThe \u0027resent\u0027 bit is used to make sure that we don\u0027t update\nrto estimate based on retransmitted chunks.  However, we already\nhave the \u0027rto_pending\u0027 bit that we test when need to update rto,\nso \u0027resent\u0027 bit is just extra.  Additionally, we currently have\na bug in that we always set a \u0027resent\u0027 bit and thus rto estimate\nis only updated by Heartbeats.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d598b166ced20d9b9281ea3527c0e18405ddb803",
      "tree": "9133b90a3f42347842190938cd27fa7ce6729377",
      "parents": [
        "b99a4d53a74ac25eb4b930eef6c745579149c571"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: Make sure we always return valid retransmit path\n\ncommit 4951feda0c60d1ef681f1a270afdd617924ab041\n    sctp: Do no select unconfirmed transports for retransmissions\n\nadded code to make sure that we do not select unconfirmed paths\nfor data transmission.  This caused a problem when there are only\n2 paths, 1 unconfirmed and 1 unreachable.  In that case, the next\nretransmit path returned is NULL and that causes a kernel crash.\n\nThe solution is to only change retransmit paths if we found one to use.\n\nReported-by: Frank Schuster \u003cfrank.schuster01@web.de\u003e\nSigned-off-b: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b99a4d53a74ac25eb4b930eef6c745579149c571",
      "tree": "fec5c6fa1d9fa083d9676417f3c1e4edf8ce1094",
      "parents": [
        "787a51a0878f7bee3a9a83040077301e1556b69a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.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: cleanup: remove duplicate assignment\n\nThis assignment isn\u0027t needed because we did it earlier already.\n\nAlso another reason to delete the assignment is because it triggers a\nSmatch warning about checking for NULL pointers after a dereference.\n\nReported-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "787a51a0878f7bee3a9a83040077301e1556b69a",
      "tree": "0099ddf04a475fb0c3d102a042de186351315061",
      "parents": [
        "ec7b9519509061bbc09a43284c3570aa492e07f0"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.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: implement sctp association probing module\n\nThis patch implement sctp association probing module, the module\nwill be called sctp_probe.\n\nThis module allows for capturing the changes to SCTP association\nstate in response to incoming packets. It is used for debugging\nSCTP congestion control algorithms.\n\nUsage:\n  $ modprobe sctp_probe [full\u003dn] [port\u003dn] [bufsize\u003dn]\n  $ cat /proc/net/sctpprobe\n\n  The output format is:\n    TIME     ASSOC     LPORT RPORT MTU    RWND  UNACK \u003cREMOTE-ADDR   STATE  CWND   SSTHRESH  INFLIGHT  PARTIAL_BYTES_ACKED MTU\u003e ...\n\n  The output will be like this:\n    9.226086 c4064c48  9000  8000  1500    53352     1 *192.168.0.19  1     4380    54784     1252        0     1500\n    9.287195 c4064c48  9000  8000  1500    45144     5 *192.168.0.19  1     5880    54784     6500        0     1500\n    9.289130 c4064c48  9000  8000  1500    42724     5 *192.168.0.19  1     7380    54784     6500        0     1500\n    9.620332 c4064c48  9000  8000  1500    48284     4 *192.168.0.19  1     8880    54784     5200        0     1500\n    ......\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "ec7b9519509061bbc09a43284c3570aa492e07f0",
      "tree": "2808e03bcfc0045bc1b3f35b47966c9fec9413a8",
      "parents": [
        "fbdf501c9374966a56829ecca3a7f25d2b49a305"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.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: use sctp_chunk_is_data macro to decide a chunk is data chunk\n\nsctp_chunk_is_data macro is defined to decide that\nwhether a chunk is data chunk or not.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "fbdf501c9374966a56829ecca3a7f25d2b49a305",
      "tree": "f52fae427ba1c58789e1fc2f11a47725ea132f1d",
      "parents": [
        "bc4f841a05364b2572bcc266e9fd7e9cf5f06d5b"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:39:26 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:39:26 2010 -0400"
      },
      "message": "sctp: Do no select unconfirmed transports for retransmissions\n\nAn unconfirmed transport is one that we have not been\nable to reach since the beginning.  There is no point in\ntrying to retrasnmit data on those transports.  Also, the\nspecification forbids it due to security issues.\n\nReported-by: Frank Schuster \u003cfrank.schuster01@web.de\u003e\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bc4f841a05364b2572bcc266e9fd7e9cf5f06d5b",
      "tree": "4d49c9d95422f5028b41920a960c8f4b33e4e76c",
      "parents": [
        "6429d3dc4bd6251b01c11b851e23a4d60f079e06"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Apr 30 22:38:53 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:38:53 2010 -0400"
      },
      "message": "sctp: fix to retranmit at least one DATA chunk\n\nWhile doing retranmit, if control chunk exists, such as\nFORWARD TSN chunk, and the DATA chunk can not be bundled with\nthis control chunk because of PMTU limit, no DATA chunk\nwill be retranmitted in the current implementation. This\npatch makes sure to retranmit at least one DATA chunk in this case.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "6429d3dc4bd6251b01c11b851e23a4d60f079e06",
      "tree": "9bb9366ef05e1f05323c581df51b3b79af248eed",
      "parents": [
        "52688d6ec977e69b164e0bd3de51d43cf6d4b7b3"
      ],
      "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: missing set src and dest port while lookup output route\n\nWhile lookup the output route, we do not set the src and dest\nport. This will cause we got a wrong route if we had set the\noutbund transport to IPsec with src or dst port.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bd69b981a354be40cc709f3046f0c56f00da6163",
      "tree": "60fec31042a51203b945c8b492c6fa6e9366fccc",
      "parents": [
        "c17b02b38aa99ef806c7066ef19a6f51122304f1"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Apr 30 21:42:43 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 21:42:43 2010 -0400"
      },
      "message": "sctp: assure at least one T3-rtx timer is running if a FORWARD TSN is sent\n\nPR-SCTP extension section 3.5 Sender Side Implementation of PR-SCTP:\n  C5) If a FORWARD TSN is sent, the sender MUST assure that at\n      least one T3-rtx timer is running.\n\nSo this patch fix to assure at least one T3-rtx timer is running\nif a FORWARD TSN is or will to sent.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "c17b02b38aa99ef806c7066ef19a6f51122304f1",
      "tree": "7ca3b679e86c822626f7e64472c27a1442c7cdf9",
      "parents": [
        "a5f4cea74f1397bb29d0bbdabeb05bd05a23a741"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 21:42:43 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 21:42:43 2010 -0400"
      },
      "message": "sctp: send SHUTDOWN-ACK chunk back to the source.\n\nSHUTDOWN-ACK is alaways sent to the primary path at the first time,\nbut should better transmit SHUTDOWN-ACK chunk to the same destination\ntransport address from which it received the SHUTDOWN chunk.\nBased on the work from Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a5f4cea74f1397bb29d0bbdabeb05bd05a23a741",
      "tree": "7810a501cb7936897f59970ceb0d1170ba30526a",
      "parents": [
        "83d7eb2979cd3390c375470225dd2d8f2009bc70"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 21:42:42 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 21:42:42 2010 -0400"
      },
      "message": "sctp: Use correct address family in sctp_getsockopt_peer_addrs()\n\nThe function should use the address family of the address when\ntrying to determine the length of the structure.\n\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": "a8170c35e738d62e9919ce5b109cf4ed66e95bde",
      "tree": "72abf999ebe24d308175ad1410e12de056268dd3",
      "parents": [
        "81419d862db743fe4450a021893f24bab4698c1d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Apr 28 08:47:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:33 2010 -0700"
      },
      "message": "sctp: fix to calc the INIT/INIT-ACK chunk length correctly is set\n\nWhen calculating the INIT/INIT-ACK chunk length, we should not\nonly account the length of parameters, but also the parameters\nzero padding length, such as AUTH HMACS parameter and CHUNKS\nparameter. Without the parameters zero padding length we may get\nfollowing oops.\n\nskb_over_panic: text:ce2068d2 len:130 put:6 head:cac3fe00 data:cac3fe00 tail:0xcac3fe82 end:0xcac3fe80 dev:\u003cNULL\u003e\n------------[ cut here ]------------\nkernel BUG at net/core/skbuff.c:127!\ninvalid opcode: 0000 [#2] SMP\nlast sysfs file: /sys/module/aes_generic/initstate\nModules linked in: authenc ......\n\nPid: 4102, comm: sctp_darn Tainted: G      D    2.6.34-rc2 #6\nEIP: 0060:[\u003cc0607630\u003e] EFLAGS: 00010282 CPU: 0\nEIP is at skb_over_panic+0x37/0x3e\nEAX: 00000078 EBX: c07c024b ECX: c07c02b9 EDX: cb607b78\nESI: 00000000 EDI: cac3fe7a EBP: 00000002 ESP: cb607b74\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess sctp_darn (pid: 4102, ti\u003dcb607000 task\u003dcabdc990 task.ti\u003dcb607000)\nStack:\n c07c02b9 ce2068d2 00000082 00000006 cac3fe00 cac3fe00 cac3fe82 cac3fe80\n\u003c0\u003e c07c024b cac3fe7c cac3fe7a c0608dec ca986e80 ce2068d2 00000006 0000007a\n\u003c0\u003e cb8120ca ca986e80 cb812000 00000003 cb8120c4 ce208a25 cb8120ca cadd9400\nCall Trace:\n [\u003cce2068d2\u003e] ? sctp_addto_chunk+0x45/0x85 [sctp]\n [\u003cc0608dec\u003e] ? skb_put+0x2e/0x32\n [\u003cce2068d2\u003e] ? sctp_addto_chunk+0x45/0x85 [sctp]\n [\u003cce208a25\u003e] ? sctp_make_init+0x279/0x28c [sctp]\n [\u003cc0686a92\u003e] ? apic_timer_interrupt+0x2a/0x30\n [\u003cce1fdc0b\u003e] ? sctp_sf_do_prm_asoc+0x2b/0x7b [sctp]\n [\u003cce202823\u003e] ? sctp_do_sm+0xa0/0x14a [sctp]\n [\u003cce2133b9\u003e] ? sctp_pname+0x0/0x14 [sctp]\n [\u003cce211d72\u003e] ? sctp_primitive_ASSOCIATE+0x2b/0x31 [sctp]\n [\u003cce20f3cf\u003e] ? sctp_sendmsg+0x7a0/0x9eb [sctp]\n [\u003cc064eb1e\u003e] ? inet_sendmsg+0x3b/0x43\n [\u003cc04244b7\u003e] ? task_tick_fair+0x2d/0xd9\n [\u003cc06031e1\u003e] ? sock_sendmsg+0xa7/0xc1\n [\u003cc0416afe\u003e] ? smp_apic_timer_interrupt+0x6b/0x75\n [\u003cc0425123\u003e] ? dequeue_task_fair+0x34/0x19b\n [\u003cc0446abb\u003e] ? sched_clock_local+0x17/0x11e\n [\u003cc052ea87\u003e] ? _copy_from_user+0x2b/0x10c\n [\u003cc060ab3a\u003e] ? verify_iovec+0x3c/0x6a\n [\u003cc06035ca\u003e] ? sys_sendmsg+0x186/0x1e2\n [\u003cc042176b\u003e] ? __wake_up_common+0x34/0x5b\n [\u003cc04240c2\u003e] ? __wake_up+0x2c/0x3b\n [\u003cc057e35c\u003e] ? tty_wakeup+0x43/0x47\n [\u003cc04430f2\u003e] ? remove_wait_queue+0x16/0x24\n [\u003cc0580c94\u003e] ? n_tty_read+0x5b8/0x65e\n [\u003cc042be02\u003e] ? default_wake_function+0x0/0x8\n [\u003cc0604e0e\u003e] ? sys_socketcall+0x17f/0x1cd\n [\u003cc040264c\u003e] ? sysenter_do_call+0x12/0x22\nCode: 0f 45 de 53 ff b0 98 00 00 00 ff b0 94 ......\nEIP: [\u003cc0607630\u003e] skb_over_panic+0x37/0x3e SS:ESP 0068:cb607b74\n\nTo reproduce:\n\n# modprobe sctp\n# echo 1 \u003e /proc/sys/net/sctp/addip_enable\n# echo 1 \u003e /proc/sys/net/sctp/auth_enable\n# sctp_test -H 3ffe:501:ffff:100:20c:29ff:fe4d:f37e -P 800 -l\n# sctp_darn -H 3ffe:501:ffff:100:20c:29ff:fe4d:f37e -P 900 -h 192.168.0.21 -p 800 -I -s -t\nsctp_darn ready to send...\n3ffe:501:ffff:100:20c:29ff:fe4d:f37e:900-192.168.0.21:800 Interactive mode\u003e bindx-add\u003d192.168.0.21\n3ffe:501:ffff:100:20c:29ff:fe4d:f37e:900-192.168.0.21:800 Interactive mode\u003e bindx-add\u003d192.168.1.21\n3ffe:501:ffff:100:20c:29ff:fe4d:f37e:900-192.168.0.21:800 Interactive mode\u003e snd\u003d10\n\n------------------------------------------------------------------\neth0 has addresses: 3ffe:501:ffff:100:20c:29ff:fe4d:f37e and 192.168.0.21\neth1 has addresses: 192.168.1.21\n------------------------------------------------------------------\n\nReported-by: George Cheimonidis \u003cgchimon@gmail.com\u003e\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": "81419d862db743fe4450a021893f24bab4698c1d",
      "tree": "01e1624bc38ba93dcc365c4c09e6235fb95c7c9b",
      "parents": [
        "0c42749cffbb4a06be86c5e5db6c7ebad548781f"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Apr 28 08:47:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:33 2010 -0700"
      },
      "message": "sctp: per_cpu variables should be in bh_disabled section\n\nSince the change of the atomics to percpu variables, we now\nhave to disable BH in process context when touching percpu variables.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c42749cffbb4a06be86c5e5db6c7ebad548781f",
      "tree": "5b497b337457540b78c221fc173dbb634858a7a1",
      "parents": [
        "561b1733a465cf9677356b40c27653dd45f1ac56"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Apr 28 08:47:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:32 2010 -0700"
      },
      "message": "sctp: fix potential reference of a freed pointer\n\nWhen sctp attempts to update an assocition, it removes any\naddresses that were not in the updated INITs.  However, the loop\nmay attempt to refrence a transport with address after removing it.\n\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": "c377411f2494a931ff7facdbb3a6839b1266bcf6",
      "tree": "6846cdcec913f50839e3916856f78f7e059ff5fb",
      "parents": [
        "6e7676c1a76aed6e957611d8d7a9e5592e23aeba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 27 15:13:20 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:13:20 2010 -0700"
      },
      "message": "net: sk_add_backlog() take rmem_alloc into account\n\nCurrent socket backlog limit is not enough to really stop DDOS attacks,\nbecause user thread spend many time to process a full backlog each\nround, and user might crazy spin on socket lock.\n\nWe should add backlog size and receive_queue size (aka rmem_alloc) to\npace writers, and let user run without being slow down too much.\n\nIntroduce a sk_rcvqueues_full() helper, to avoid taking socket lock in\nstress situations.\n\nUnder huge stress from a multiqueue/RPS enabled NIC, a single flow udp\nreceiver can now process ~200.000 pps (instead of ~100 pps before the\npatch) on a 8 core machine.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e15ed4d930297c127d280ca1d0c785be870def4",
      "tree": "e0808d650ae66cf273758496100d3d24739a9e48",
      "parents": [
        "0eecb784942792863b77dfe11e0c7e286e92db85"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Apr 15 16:43:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 23:36:37 2010 -0700"
      },
      "message": "net: replace ipfragok with skb-\u003elocal_df\n\nAs Herbert Xu said: we should be able to simply replace ipfragok\nwith skb-\u003elocal_df. commit f88037(sctp: Drop ipfargok in sctp_xmit function)\nhas droped ipfragok and set local_df value properly.\n\nThe patch kills the ipfragok parameter of .queue_xmit().\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "486f50ca796a2572c42c34dd4378cdc8eeb0b137",
      "tree": "4edfa3c2180e5e9bcc3f7f61ba248b26adca59b9",
      "parents": [
        "1f8438a853667d48055ad38384c63e94b32c6578"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Sat Apr 03 15:10:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 15:10:21 2010 -0700"
      },
      "message": "SCTP: Change to use ipv6_addr_copy()\n\nChange SCTP IPv6 code to use ipv6_addr_copy()\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b68c92460d380c59891ba97531edbe5b01f5ea0b",
      "tree": "05ebe496fbb01f0277eb7a45aa6c90ffc2268463",
      "parents": [
        "8379d07031e59a5d72bc73a6060c4d63aac956ce"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Tue Mar 30 14:24:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 23:58:22 2010 -0700"
      },
      "message": "sctp: eliminate useless code\n\nRemove duplicate declaration of symbol: struct hlist_node *node was\nalready declared, the seconds declaration shadows the first one.\n\nCC: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de7737e056d65ad6b0f135f7bb24d86458af0d47",
      "tree": "97eb9cb157c92359a09fe54e30f635b113a1e5d8",
      "parents": [
        "d57b8fb8a8f94bdf467a4435be7d8bbebf87fe2a"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Mar 26 08:34:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 23:28:47 2010 -0700"
      },
      "message": "sctp: Use ipv6_addr_diff() in sctp_v6_addr_match_len().\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "502a2ffd7376ae27cfde6172257db0ff9d8cfec2",
      "tree": "de51fc19a9442f3edd344f56ff1887b25a5da6c9",
      "parents": [
        "3a88a81d89c20be312b3b219b185bbdde24b8fb8"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Mar 17 20:31:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 15:45:09 2010 -0700"
      },
      "message": "ipv6: convert idev_list to list macros\n\nConvert to list macro\u0027s for the list of addresses per interface\nin IPv6.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d89b218b801fd93ea95880f1c7fde348cbcc51c5",
      "tree": "cd3c34e1811f9b2bc10ecfb957bf26cbd04c677e",
      "parents": [
        "80a186074e72e2cd61f6716d90cf32ce54981a56",
        "bec68ff1637ca00bb1585a03a7be8a13380084de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:50:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:50:18 2010 -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: (108 commits)\n  bridge: ensure to unlock in error path in br_multicast_query().\n  drivers/net/tulip/eeprom.c: fix bogus \"(null)\" in tulip init messages\n  sky2: Avoid rtnl_unlock without rtnl_lock\n  ipv6: Send netlink notification when DAD fails\n  drivers/net/tg3.c: change the field used with the TG3_FLAG_10_100_ONLY constant\n  ipconfig: Handle devices which take some time to come up.\n  mac80211: Fix memory leak in ieee80211_if_write()\n  mac80211: Fix (dynamic) power save entry\n  ipw2200: use kmalloc for large local variables\n  ath5k: read eeprom IQ calibration values correctly for G mode\n  ath5k: fix I/Q calibration (for real)\n  ath5k: fix TSF reset\n  ath5k: use fixed antenna for tx descriptors\n  libipw: split ieee-\u003enetworks into small pieces\n  mac80211: Fix sta_mtx unlocking on insert STA failure path\n  rt2x00: remove KSEG1ADDR define from rt2x00soc.h\n  net: add ColdFire support to the smc91x driver\n  asix: fix setting mac address for AX88772\n  ipv6 ip6_tunnel: eliminate unused recursion field from ip6_tnl{}.\n  net: Fix dev_mc_add()\n  ...\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "a3a858ff18a72a8d388e31ab0d98f7e944841a62",
      "tree": "e51a59ce280f0aa818ac5e1d989bc8a137b7cd47",
      "parents": [
        "2499849ee8f513e795b9f2c19a42d6356e4943a4"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Thu Mar 04 18:01:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 05 13:34:03 2010 -0800"
      },
      "message": "net: backlog functions rename\n\nsk_add_backlog -\u003e __sk_add_backlog\nsk_add_backlog_limited -\u003e sk_add_backlog\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50b1a782f845140f4138f14a1ce8a4a6dd0cc82f",
      "tree": "3cb1df5d01fb46ca4fef4146dc50eb455643e252",
      "parents": [
        "79545b681961d7001c1f4c3eb9ffb87bed4485db"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Thu Mar 04 18:01:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 05 13:34:01 2010 -0800"
      },
      "message": "sctp: use limited socket backlog\n\nMake sctp adapt to the limited socket backlog change.\n\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc4c2c31053ba5bf685d273cd62ecca406dddb2d",
      "tree": "c74ac486ee668eec2a24d9a4191a855fb0eed8af",
      "parents": [
        "f6ca057f1bfe251d944505fc5ba4df3762802539"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Feb 12 11:41:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 17 00:03:27 2010 -0800"
      },
      "message": "net: remove INIT_RCU_HEAD() usage\n\ncall_rcu() will unconditionally reinitialize RCU head anyway.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d720c3e4f0c4fc152a6bf17e24244a3c85412d2",
      "tree": "36e037187ce79acb211702bea22e99c625787757",
      "parents": [
        "2bb4646fce8d09916b351d1a62f98db7cec6fc41"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 16 15:20:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 23:05:38 2010 -0800"
      },
      "message": "percpu: add __percpu sparse annotations to net\n\nAdd __percpu sparse annotations to net.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nThe macro and type tricks around snmp stats make things a bit\ninteresting.  DEFINE/DECLARE_SNMP_STAT() macros mark the target field\nas __percpu and SNMP_UPD_PO_STATS() macro is updated accordingly.  All\nsnmp_mib_*() users which used to cast the argument to (void **) are\nupdated to cast it to (void __percpu **).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "5833929cc2ad2b3064b4fac8c44e293972d240d8",
      "tree": "f40c1e8c54f7b42fb1edf7dadc624ad60deac307",
      "parents": [
        "81c1ebfc4379f529b001e23164dd5c2282bdc0ec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 22 10:17:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 01:21:27 2010 -0800"
      },
      "message": "net: constify MIB name tables\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09cb47a2c68f9596927bc05dab0453edb35cd32d",
      "tree": "5aad2a10a6ea10d8a80cfffabc63cae42871376a",
      "parents": [
        "17660f81243e998f36257881ac3ae61685bf91c1"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Jan 21 02:43:20 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 21 02:43:20 2010 -0800"
      },
      "message": "net/sctp: Eliminate useless code\n\nThe variable newinet is initialized twice to the same (side effect-free)\nexpression.  Drop one initialization.\n\nA simplified version of the semantic match that finds this problem is:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@forall@\nidexpression *x;\nidentifier f!\u003dERR_PTR;\n@@\n\nx \u003d f(...)\n... when !\u003d x\n(\nx \u003d f(...,\u003c+...x...+\u003e,...)\n|\n* x \u003d f(...)\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ffd32083c849dcf476e56e6c5f728c80797ecdd",
      "tree": "a721db1db6b73c458c3602747d59c27197f655dd",
      "parents": [
        "1f731b63752dac76ff4dbf568a08ff2e3663316f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 21 14:25:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 03 21:25:53 2010 -0800"
      },
      "message": "net/sctp/socket.c: squish warning\n\nnet/sctp/socket.c: In function \u0027sctp_setsockopt_autoclose\u0027:\nnet/sctp/socket.c:2090: warning: comparison is always false due to limited range of data type\n\nCc: Andrei Pelinescu-Onciul \u003candrei@iptel.org\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "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": "a252e749f1ae17e43ccc5824f7b1b5854417c98b",
      "tree": "0398ece85ef2e5ec63780ec892921a589e7a4d71",
      "parents": [
        "6035ccd8e9e40bb654fbfdef325902ab531679a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 12:51:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 12:51:22 2009 -0800"
      },
      "message": "sctp: fix compile error due to sysctl mismerge\n\nI messed up the merge in d7fc02c7bae7b1cf69269992cf880a43a350cdaa, where\nthe conflict in question wasn\u0027t just about CTL_UNNUMBERED being removed,\nbut the \u0027strategy\u0027 field is too (sysctl handling is now done through the\n/proc interface, with no duplicate protocols for reading the data).\n\nReported-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "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: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "1557d33007f63dd96e5d15f33af389378e5f2e54",
      "tree": "06d05722b2ba5d2a67532f779fa8a88efe3c88f1",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "c656ae95d1c5c8ed5763356263ace2d03087efec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits)\n  security/tomoyo: Remove now unnecessary handling of security_sysctl.\n  security/tomoyo: Add a special case to handle accesses through the internal proc mount.\n  sysctl: Drop \u0026 in front of every proc_handler.\n  sysctl: Remove CTL_NONE and CTL_UNNUMBERED\n  sysctl: kill dead ctl_handler definitions.\n  sysctl: Remove the last of the generic binary sysctl support\n  sysctl net: Remove unused binary sysctl code\n  sysctl security/tomoyo: Don\u0027t look at ctl_name\n  sysctl arm: Remove binary sysctl support\n  sysctl x86: Remove dead binary sysctl support\n  sysctl sh: Remove dead binary sysctl support\n  sysctl powerpc: Remove dead binary sysctl support\n  sysctl ia64: Remove dead binary sysctl support\n  sysctl s390: Remove dead sysctl binary support\n  sysctl frv: Remove dead binary sysctl support\n  sysctl mips/lasat: Remove dead binary sysctl support\n  sysctl drivers: Remove dead binary sysctl support\n  sysctl crypto: Remove dead binary sysctl support\n  sysctl security/keys: Remove dead binary sysctl support\n  sysctl kernel: Remove binary sysctl logic\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": "94e2bd688820aed72b4f8092f88c2ccf64e003de",
      "tree": "988de1817ec5ebe40dc6f2901eb86987876c517f",
      "parents": [
        "65cb76baa1058d17d51ce948b697cdbd5dc97421"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Fri Oct 16 15:20:49 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:48 2009 +0100"
      },
      "message": "tree-wide: fix some typos and punctuation in comments\n\nfix some typos and punctuation in comments\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "810c07194f6ef541625e65b53392e9f605611a1a",
      "tree": "9ba4de19f2762a08ab4853c24feed86b1e373278",
      "parents": [
        "acb3cecdf89f9a9f30bf493f07dc5af333b45f8e"
      ],
      "author": {
        "name": "Andrei Pelinescu-Onciul",
        "email": "andrei@iptel.org",
        "time": "Wed Dec 02 01:16:49 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 01:16:49 2009 -0800"
      },
      "message": "sctp: fix sctp_setsockopt_autoclose compile warning\n\nFix the following warning, when building on 64 bits:\n\nnet/sctp/socket.c:2091: warning: large integer implicitly\n                        truncated to unsigned type\n\nSigned-off-by: Andrei Pelinescu-Onciul \u003candrei@iptel.org\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "4814326b59db0cfd18ac652626d955ad3f57fb0f",
      "tree": "41975c6b2eea1812012802bdb2337c43fa240178",
      "parents": [
        "da85b7396f3b6cb3fea7d77091498bfa1051ef7c"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:54:01 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:54:01 2009 -0500"
      },
      "message": "sctp: prevent too-fast association id reuse\n\nWe use the idr subsystem and always ask for an id\nat or above 1.  This results in a id reuse when one\nassociation is terminated while another is created.\n\nTo prevent re-use, we keep track of the last id returned\nand ask for that id + 1 as a base for each query.  We let\nthe idr spin lock protect this base id as well.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "da85b7396f3b6cb3fea7d77091498bfa1051ef7c",
      "tree": "692d41265fdff68172ea6cd4e70e9efbd40fe88e",
      "parents": [
        "f6778aab6ccc4b510b4dcfa770d9949b696b4545"
      ],
      "author": {
        "name": "Andrei Pelinescu-Onciul",
        "email": "andrei@iptel.org",
        "time": "Mon Nov 23 15:54:01 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:54:01 2009 -0500"
      },
      "message": "sctp: fix integer overflow when setting the autoclose timer\n\nWhen setting the autoclose timeout in jiffies there is a possible\ninteger overflow if the value in seconds is very large\n(e.g. for 2^22 s with HZ\u003d1024). The problem appears even on\n64-bit due to the integer promotion rules. The fix is just a cast\n to unsigned long.\n\nSigned-off-by: Andrei Pelinescu-Onciul \u003candrei@iptel.org\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "f6778aab6ccc4b510b4dcfa770d9949b696b4545",
      "tree": "d3aca83fb8994d2efbc5420d68e1d27f1c8c08a7",
      "parents": [
        "d8dd15781dd621c5ceab79083f4c5112787863f5"
      ],
      "author": {
        "name": "Andrei Pelinescu-Onciul",
        "email": "andrei@iptel.org",
        "time": "Mon Nov 23 15:54:01 2009 -0500"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Nov 23 15:54:01 2009 -0500"
      },
      "message": "sctp: limit maximum autoclose setsockopt value\n\nTo avoid overflowing the maximum timer interval when transforming\nthe  autoclose interval from seconds to jiffies, limit the maximum\nautoclose value to MAX_SCHEDULE_TIMEOUT/HZ.\n\nSigned-off-by: Andrei Pelinescu-Onciul \u003candrei@iptel.org\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d8dd15781dd621c5ceab79083f4c5112787863f5",
      "tree": "49ee8bfc01d2ded7130a0c17298ca7a9db998fa4",
      "parents": [
        "46d5a808558181e03a4760d2188cc9879445738a"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.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: Fix mis-ordering of user space data when multihoming in use\n\nRecently had a bug reported to me, in which the user was sending\npackets with a payload containing a sequence number.  The packets\nwere getting delivered in order according the chunk TSN values, but\nthe sequence values in the payload were arriving out of order.  At\nfirst I thought it must be an application error, but we eventually\nfound it to be a problem on the transmit side in the sctp stack.\n\nThe conditions for the error are that multihoming must be in use,\nand it helps if each transport has a different pmtu.  The problem\noccurs in sctp_outq_flush.  Basically we dequeue packets from the\ndata queue, and attempt to append them to the orrered packet for a\ngiven transport.  After we append a data chunk we add the trasport\nto the end of a list of transports to have their packets sent at\nthe end of sctp_outq_flush.  The problem occurs when a data chunks\nfills up a offered packet on a transport.  The function that does\nthe appending (sctp_packet_transmit_chunk), will try to call\nsctp_packet_transmit on the full packet, and then append the chunk\nto a new packet.  This call to sctp_packet_transmit, sends that\npacket ahead of the others that may be queued in the transport_list\nin sctp_outq_flush.  The result is that frames that were sent in one\norder from the user space sending application get re-ordered prior\nto tsn assignment in sctp_packet_transmit, resulting in mis-sequencing\nof data payloads, even though tsn ordering is correct.\n\nThe fix is to change where we assign a tsn.  By doing this earlier,\nwe are then free to place chunks in packets, whatever way we\nsee fit and the protocol will make sure to do all the appropriate\nre-ordering on receive as is needed.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReported-by: William Reich \u003creich@ulticom.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\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": "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": "37051f73862d15862aecc08b887b2884137af327",
      "tree": "c62999e8365a14ecb5f87a2921bc964bc609b915",
      "parents": [
        "90f2f5318b3a5b0898fef0fec9b91376c7de7a2c"
      ],
      "author": {
        "name": "Andrei Pelinescu-Onciul",
        "email": "andrei@iptel.org",
        "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: allow setting path_maxrxt independent of SPP_PMTUD_ENABLE\n\nSince draft-ietf-tsvwg-sctpsocket-15.txt, setting the\nSPP_MTUD_ENABLE flag when changing pathmaxrxt via the\nSCTP_PEER_ADDR_PARAMS setsockopt is not required any\nlonger.\n\nSigned-off-by: Andrei Pelinescu-Onciul \u003candrei@iptel.org\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": "e0e9db178a5ba4dbb5f16f958f1affbdc63d2cc4",
      "tree": "22affd5fd2b2975de845a9626a89c40ad1c2df24",
      "parents": [
        "6383cfb3ed3c5c0bea06da0099c219ef4237ecf5"
      ],
      "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: Select a working primary during sctp_connectx()\n\nWhen sctp_connectx() is used, we pick the first address as\nprimary, even though it may not have worked.  This results\nin excessive retransmits and poor performance.  We should\nselect the address that the association was established with.\n\nReported-by: Thomas Dreibholz \u003cdreibh@iem.uni-due.de\u003e\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"
    }
  ],
  "next": "b93d6471748de2ce02cc24774b774deb306a57a8"
}
