)]}'
{
  "log": [
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -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: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "abb434cb0539fb355c1c921f8fd761efbbac3462",
      "tree": "24a7d99ec161f8fd4dc9ff03c9c4cc93be883ce6",
      "parents": [
        "2494654d4890316e7340fb8b3458daad0474a1b9",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n\nJust two overlapping changes, one added an initialization of\na local variable, and another change added a new local variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a76c0adf60f6ca5ff3481992e4ea0383776b24d2",
      "tree": "97d0fa429a11bf6a975778728e10fd44bbfad80f",
      "parents": [
        "e8303a3b2196272c3eb994d0fd1a189a958a2bdd"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@redhat.com",
        "time": "Mon Dec 19 04:11:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 20 13:58:37 2011 -0500"
      },
      "message": "sctp: Do not account for sizeof(struct sk_buff) in estimated rwnd\n\nWhen checking whether a DATA chunk fits into the estimated rwnd a\nfull sizeof(struct sk_buff) is added to the needed chunk size. This\nquickly exhausts the available rwnd space and leads to packets being\nsent which are much below the PMTU limit. This can lead to much worse\nperformance.\n\nThe reason for this behaviour was to avoid putting too much memory\npressure on the receiver. The concept is not completely irational\nbecause a Linux receiver does in fact clone an skb for each DATA chunk\ndelivered. However, Linux also reserves half the available socket\nbuffer space for data structures therefore usage of it is already\naccounted for.\n\nWhen proposing to change this the last time it was noted that this\nbehaviour was introduced to solve a performance issue caused by rwnd\noverusage in combination with small DATA chunks.\n\nTrying to reproduce this I found that with the sk_buff overhead removed,\nthe performance would improve significantly unless socket buffer limits\nare increased.\n\nThe following numbers have been gathered using a patched iperf\nsupporting SCTP over a live 1 Gbit ethernet network. The -l option\nwas used to limit DATA chunk sizes. The numbers listed are based on\nthe average of 3 test runs each. Default values have been used for\nsk_(r|w)mem.\n\nChunk\nSize    Unpatched     No Overhead\n-------------------------------------\n   4    15.2 Kbit [!]   12.2 Mbit [!]\n   8    35.8 Kbit [!]   26.0 Mbit [!]\n  16    95.5 Kbit [!]   54.4 Mbit [!]\n  32   106.7 Mbit      102.3 Mbit\n  64   189.2 Mbit      188.3 Mbit\n 128   331.2 Mbit      334.8 Mbit\n 256   537.7 Mbit      536.0 Mbit\n 512   766.9 Mbit      766.6 Mbit\n1024   810.1 Mbit      808.6 Mbit\n\nSigned-off-by: Thomas Graf \u003ctgraf@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2692ba61a82203404abd7dd2a027bda962861f74",
      "tree": "e39f21131faf42ada263c1969cfa200af2f4b0f9",
      "parents": [
        "2ca6cf06d988fea21e812a86be79353352677c9c"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Fri Dec 16 12:44:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 19 16:25:46 2011 -0500"
      },
      "message": "sctp: fix incorrect overflow check on autoclose\n\nCommit 8ffd3208 voids the previous patches f6778aab and 810c0719 for\nlimiting the autoclose value.  If userspace passes in -1 on 32-bit\nplatform, the overflow check didn\u0027t work and autoclose would be set\nto 0xffffffff.\n\nThis patch defines a max_autoclose (in seconds) for limiting the value\nand exposes it through sysctl, with the following intentions.\n\n1) Avoid overflowing autoclose * HZ.\n\n2) Keep the default autoclose bound consistent across 32- and 64-bit\n   platforms (INT_MAX / HZ in this patch).\n\n3) Keep the autoclose value consistent between setsockopt() and\n   getsockopt() calls.\n\nSuggested-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dfd56b8b38fff3586f36232db58e1e9f7885a605",
      "tree": "64c7142ebf4625939f68bd3603f1d37bacb20a73",
      "parents": [
        "1ded132d4c3442aa3a619c94c245d7b5e0eb9731"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Dec 10 09:48:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 11 18:25:16 2011 -0500"
      },
      "message": "net: use IS_ENABLED(CONFIG_IPV6)\n\nInstead of testing defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3613118eb30a589d971e4eccbbb2a1314f5dfd4",
      "tree": "868c1ee59e1b5c19a4f2e43716400d0001a994e5",
      "parents": [
        "7505afe28c16a8d386624930a018d0052c75d687",
        "5983fe2b29df5885880d7fa3b91aca306c7564ef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 13:49:21 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 13:49:21 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "42b2aa86c6670347a2a07e6d7af0e0ecc8fdbff9",
      "tree": "6f8fb2a1efb3e84bf281658befe06dc6a7fb026b",
      "parents": [
        "a13b032776379fa6e2bfccf798969ca51e5fb052"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Mon Nov 28 20:31:00 2011 -0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 02 14:57:31 2011 +0100"
      },
      "message": "treewide: Fix typos in various parts of the kernel, and fix some comments.\n\nThe below patch fixes some typos in various parts of the kernel, as well as fixes some comments.\nPlease let me know if I missed anything, and I will try to get it changed and resent.\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "c89304b8ea34ab48ba6ae10e06a8b1b8c8212307",
      "tree": "ef464824214e0e82b488664df25d1e9ebb9128b7",
      "parents": [
        "c1baa88431fe0fe4fad492dece4177a7735f89cf"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Tue Nov 29 09:26:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 15:51:03 2011 -0500"
      },
      "message": "sctp: better integer overflow check in sctp_auth_create_key()\n\nThe check from commit 30c2235c is incomplete and cannot prevent\ncases like key_len \u003d 0x80000000 (INT_MAX + 1).  In that case, the\nleft-hand side of the check (INT_MAX - key_len), which is unsigned,\nbecomes 0xffffffff (UINT_MAX) and bypasses the check.\n\nHowever this shouldn\u0027t be a security issue.  The function is called\nfrom the following two code paths:\n\n 1) setsockopt()\n\n 2) sctp_auth_asoc_set_secret()\n\nIn case (1), sca_keylength is never going to exceed 65535 since it\u0027s\nbounded by a u16 from the user API.  As such, the key length will\nnever overflow.\n\nIn case (2), sca_keylength is computed based on the user key (1 short)\nand 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still\nwill not overflow.\n\nIn other words, this overflow check is not really necessary.  Just\nmake it more correct.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e3fd7a06dc20b2d8ec6892233ad2012968fe7b6",
      "tree": "da3fbec7672ac6b967dfa31cec6c88f468a57fa2",
      "parents": [
        "40ba84993d66469d336099c5af74c3da5b73e28d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 21 03:39:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 16:43:32 2011 -0500"
      },
      "message": "net: remove ipv6_addr_copy()\n\nC assignment can handle struct in6_addr copying.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "34d2d89f2d7da3b72b3157e778bbf709047ded97",
      "tree": "d782069c43150d842a274489f9c4b1a35e8e0981",
      "parents": [
        "ddc4bbee6ef1ed20314be3888dd39ceefe233e79"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Fri Jun 17 11:22:35 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 15:11:30 2011 -0500"
      },
      "message": "sctp: fasthandoff with ASCONF at server-node\n\nRetransmit chunks to newly confirmed destination when ASCONF and\nHEARTBEAT negotiation has success with a single-homed peer.\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddc4bbee6ef1ed20314be3888dd39ceefe233e79",
      "tree": "d52c0d7e64e83dd8f17fd0340c3c62402c7cd7ce",
      "parents": [
        "8ce120f11898c921329a5f618d01dcc1e8e69cac"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Fri Jun 17 11:03:23 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 15:11:29 2011 -0500"
      },
      "message": "sctp: fasthandoff with ASCONF at mobile-node\n\nFast retransmission after changing the last address\nwith ASCONF negotiation\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "b903d324bee2627036d024dceed73b3c96558795",
      "tree": "976d7f5ff6d765faca2e1af86cbcddc9257470ab",
      "parents": [
        "138c4ae9cfda8fdcf9e137457853b09ef8cf8f77"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 27 00:44:35 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 27 00:44:35 2011 -0400"
      },
      "message": "ipv6: tcp: fix TCLASS value in ACK messages sent from TIME_WAIT\n\ncommit 66b13d99d96a (ipv4: tcp: fix TOS value in ACK messages sent from\nTIME_WAIT) fixed IPv4 only.\n\nThis part is for the IPv6 side, adding a tclass param to ip6_xmit()\n\nWe alias tw_tclass and tw_tos, if socket family is INET6.\n\n[ if sockets is ipv4-mapped, only IP_TOS socket option is used to fill\nTOS field, TCLASS is not taken into account ]\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87fb4b7b533073eeeaed0b6bf7c2328995f6c075",
      "tree": "be4b37f08d7fe2d018ae68bae4577b1b2bafd0fc",
      "parents": [
        "97ba0eb64ca690165f945a83e609102fcefa99cb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 13 07:28:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 16:05:07 2011 -0400"
      },
      "message": "net: more accurate skb truesize\n\nskb truesize currently accounts for sk_buff struct and part of skb head.\nkmalloc() roundings are also ignored.\n\nConsidering that skb_shared_info is larger than sk_buff, its time to\ntake it into account for better memory accounting.\n\nThis patch introduces SKB_TRUESIZE(X) macro to centralize various\nassumptions into a single place.\n\nAt skb alloc phase, we put skb_shared_info struct at the exact end of\nskb head, to allow a better use of memory (lowering number of\nreallocations), since kmalloc() gives us power-of-two memory blocks.\n\nUnless SLUB/SLUB debug is active, both skb-\u003ehead and skb_shared_info are\naligned to cache lines, as before.\n\nNote: This patch might trigger performance regressions because of\nmisconfigured protocol stacks, hitting per socket or global memory\nlimits that were previously not reached. But its a necessary step for a\nmore accurate memory accounting.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Andi Kleen \u003cak@linux.intel.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8decf868790b48a727d7e7ca164f2bcd3c1389c0",
      "tree": "b759a5f861f842af7ea76f9011b579d06e9d5508",
      "parents": [
        "3fc72370186be2f9d4d6ef06d99e1caa5d92c564",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/Kconfig\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c\n\tdrivers/net/ethernet/broadcom/tg3.c\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c\n\tdrivers/net/wireless/rt2x00/rt2800usb.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "d5ccd496601b8776a516d167a6485754575dc38f",
      "tree": "f5c92cd4b9a20470bd083ab840cf27821ad68de6",
      "parents": [
        "fb82fd204b6e6c67661bbd37df032edafb2da56e"
      ],
      "author": {
        "name": "Max Matveev",
        "email": "makc@redhat.com",
        "time": "Mon Aug 29 21:02:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 16 17:17:22 2011 -0400"
      },
      "message": "sctp: deal with multiple COOKIE_ECHO chunks\n\nAttempt to reduce the number of IP packets emitted in response to single\nSCTP packet (2e3216cd) introduced a complication - if a packet contains\ntwo COOKIE_ECHO chunks and nothing else then SCTP state machine corks the\nsocket while processing first COOKIE_ECHO and then loses the association\nand forgets to uncork the socket. To deal with the issue add new SCTP\ncommand which can be used to set association explictly. Use this new\ncommand when processing second COOKIE_ECHO chunk to restore the context\nfor SCTP state machine.\n\nSigned-off-by: Max Matveev \u003cmakc@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6af29ccc223b0feb6fc6112281c3fa3cdb1afddf",
      "tree": "53cc047bce9d4c81860f5e852851f94cd1022e0e",
      "parents": [
        "f207c050fb1c385e34946e57107e639831c7d557"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Thu Jun 16 17:14:34 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 19:41:13 2011 -0700"
      },
      "message": "sctp: Bundle HEAERTBEAT into ASCONF_ACK\n\nWith this patch a HEARTBEAT chunk is bundled into the ASCONF-ACK\nfor ADD IP ADDRESS, confirming the new destination as quickly as\npossible.\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f207c050fb1c385e34946e57107e639831c7d557",
      "tree": "cd42c5c405d99658dc79936ee31b0485126b1514",
      "parents": [
        "a262f0cdf1f2916ea918dc329492abb5323d9a6c"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Thu Jun 16 10:54:23 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 19:41:09 2011 -0700"
      },
      "message": "sctp: HEARTBEAT negotiation after ASCONF\n\nThis patch fixes BUG that the ASCONF receiver transmits DATA chunks\nto the newly added UNCONFIRMED destination.\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "033b1142f4bd44a116d1356fe4a0510437ceddf9",
      "tree": "d2a971a7dc9f3a1af8035e38419c4c4ad8c22632",
      "parents": [
        "f5caadbb3d8fc0b71533e880c684b2230bdb76ac",
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 13:38:42 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 13:38:42 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n"
    },
    {
      "commit": "b73c43f884b1b26ef8e824a33f3924f92e493c11",
      "tree": "83b71863345ef94720c00b4d7aedc387d3eee8c7",
      "parents": [
        "51414d41084496aaefd06d7f19eb8206e8bfac2d"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Wed Jul 13 14:10:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 15:16:31 2011 -0700"
      },
      "message": "net: sctp: fix checksum marking for outgoing packets\n\nPackets to devices without NETIF_F_SCTP_CSUM (including NETIF_F_NO_CSUM)\nshould be properly checksummed because the packets can be diverted or\nrerouted after construction. This still leaves packets diverted from\nNETIF_F_SCTP_CSUM-enabled devices with broken checksums. Fixing this\nneeds implementing software offload fallback in networking core.\n\nFor users of sctp_checksum_disable, skb-\u003eip_summed should be left as\nCHECKSUM_NONE and not CHECKSUM_UNNECESSARY as per include/linux/skbuff.h.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a7ebdf2fd15417e87b4fd02ff411aeaca34da5f",
      "tree": "86b15d8cd3e25c97b348b5a61bdb16c02726a480",
      "parents": [
        "f6b72b6217f8c24f2a54988e58af858b4e66024d",
        "51414d41084496aaefd06d7f19eb8206e8bfac2d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 07:56:40 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 07:56:40 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n"
    },
    {
      "commit": "cd4fcc704f30f2064ab30b5300d44d431e46db50",
      "tree": "cc08106433d2353adb5f7b52b7bfe6e4f9ebceb8",
      "parents": [
        "3f97fae9482dac1dbdd870a25c89033d3a0b35dc"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Fri Jul 08 04:37:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 09:53:08 2011 -0700"
      },
      "message": "sctp: ABORT if receive, reassmbly, or reodering queue is not empty while closing socket\n\nTrigger user ABORT if application closes a socket which has data\nqueued on the socket receive queue or chunks waiting on the\nreassembly or ordering queue as this would imply data being lost\nwhich defeats the point of a graceful shutdown.\n\nThis behavior is already practiced in TCP.\n\nWe do not check the input queue because that would mean to parse\nall chunks on it to look for unacknowledged data which seems too\nmuch of an effort. Control chunks or duplicated chunks may also\nbe in the input queue and should not be stopping a graceful\nshutdown.\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8d9605243280f1870dd2c6c37a735b925c15f3c",
      "tree": "2d6a3ce33c503bce8fca71489d4c4dc266579469",
      "parents": [
        "31cb852809c86541c817538c98003678546dfa58"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Thu Jul 07 00:28:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 14:08:44 2011 -0700"
      },
      "message": "sctp: Enforce retransmission limit during shutdown\n\nWhen initiating a graceful shutdown while having data chunks\non the retransmission queue with a peer which is in zero\nwindow mode the shutdown is never completed because the\nretransmission error count is reset periodically by the\nfollowing two rules:\n\n - Do not timeout association while doing zero window probe.\n - Reset overall error count when a heartbeat request has\n   been acknowledged.\n\nThe graceful shutdown will wait for all outstanding TSN to\nbe acknowledged before sending the SHUTDOWN request. This\nnever happens due to the peer\u0027s zero window not acknowledging\nthe continuously retransmitted data chunks. Although the\nerror counter is incremented for each failed retransmission,\nthe receiving of the SACK announcing the zero window clears\nthe error count again immediately. Also heartbeat requests\ncontinue to be sent periodically. The peer acknowledges these\nrequests causing the error counter to be reset as well.\n\nThis patch changes behaviour to only reset the overall error\ncounter for the above rules while not in shutdown. After\nreaching the maximum number of retransmission attempts, the\nT5 shutdown guard timer is scheduled to give the receiver\nsome additional time to recover. The timer is stopped as soon\nas the receiver acknowledges any data.\n\nThe issue can be easily reproduced by establishing a sctp\nassociation over the loopback device, constantly queueing\ndata at the sender while not reading any at the receiver.\nWait for the window to reach zero, then initiate a shutdown\nby killing both processes simultaneously. The association\nwill never be freed and the chunks on the retransmission\nqueue will be retransmitted indefinitely.\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "949123016a2ef578009b6aa3e98d45d1a154ebfb",
      "tree": "da0f3af2817c235155efd813094710564a7d515a",
      "parents": [
        "f03d78db65085609938fdb686238867e65003181"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 02 09:28:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 04:10:26 2011 -0700"
      },
      "message": "sctp: fix missing send up SCTP_SENDER_DRY_EVENT when subscribe it\n\nWe forgot to send up SCTP_SENDER_DRY_EVENT notification when\nuser app subscribes to this event, and there is no data to be\nsent or retransmit.\n\nThis is required by the Socket API and used by the DTLS/SCTP\nimplementation.\n\nReported-by: Michael Tüxen \u003cMichael.Tuexen@lurchi.franken.de\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nTested-by: Robin Seggelmann \u003cseggelmann@fh-muenster.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f03d78db65085609938fdb686238867e65003181",
      "tree": "03b8e492d91ad6819a44e0d454af2292e884964c",
      "parents": [
        "eebb02b1f03b3722d678bfcb560f3b26661ab0d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 07 00:27:05 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 00:27:05 2011 -0700"
      },
      "message": "net: refine {udp|tcp|sctp}_mem limits\n\nCurrent tcp/udp/sctp global memory limits are not taking into account\nhugepages allocations, and allow 50% of ram to be used by buffers of a\nsingle protocol [ not counting space used by sockets / inodes ...]\n\nLets use nr_free_buffer_pages() and allow a default of 1/8 of kernel ram\nper protocol, and a minimum of 128 pages.\nHeavy duty machines sysadmins probably need to tweak limits anyway.\n\n\nReferences: https://bugzilla.stlinux.com/show_bug.cgi?id\u003d38032\nReported-by: starlight \u003cstarlight@binnacle.cx\u003e\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fd71b1e0787d4d32c6225ca59e23e522cd67cc3",
      "tree": "4668b677bfc6f1519ba1e02361c0ccdaa9ccd3e2",
      "parents": [
        "c485538901e0334a3016241bf73b864216ff2e73"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Jul 01 09:43:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 01 16:11:16 2011 -0700"
      },
      "message": "sctp: Reduce switch/case indent\n\nMake the case labels the same indent as the switch.\n\ngit diff -w shows useless break;s removed after returns\nand a comment added to an unnecessary default: break;\nbecause of a dubious gcc warning.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea110733874d5176cb56dcf612a629ffac09dbf0",
      "tree": "d079bb9990ecf7dadc326b62605fb4de1f6fad4f",
      "parents": [
        "3c8def9776c3d4636291432522ea312f7a44be95"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jun 13 16:21:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@conan.davemloft.net",
        "time": "Thu Jun 16 23:19:27 2011 -0400"
      },
      "message": "net: Remove casts of void *\n\nUnnecessary casts of void * clutter the code.\n\nThese are the remainder casts after several specific\npatches to remove netdev_priv and dev_priv.\n\nDone via coccinelle script:\n\n$ cat cast_void_pointer.cocci\n@@\ntype T;\nT *pt;\nvoid *pv;\n@@\n\n- pt \u003d (T *)pv;\n+ pt \u003d pv;\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@conan.davemloft.net\u003e\n"
    },
    {
      "commit": "6d65e5eee6fc8fa9abef9e78e7e789c2cb06f95c",
      "tree": "5f01ae4b2f28dd5e462fb73770edfe61de39487c",
      "parents": [
        "69785b79ca9b1acb62098ff059f897bfe59d443f"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Fri Jun 10 16:42:14 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 11 15:53:45 2011 -0700"
      },
      "message": "sctp: kzalloc() error handling on deleting last address\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nAcked-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d0c90cf4d417ccafcd1af4ec32945c3f80e98e2",
      "tree": "a20778871b29a651aef304131389fe964886aa57",
      "parents": [
        "e3cc055c18ab575291acf0af7622a2e97c4728fa"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 13:05:55 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 13:05:55 2011 -0700"
      },
      "message": "sctp: Guard IPV6 specific code properly.\n\nOutside of net/sctp/ipv6.c, IPV6 specific code needs to\nbe ifdef guarded.\n\nThis fixes build failures with IPV6 disabled.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a07eb0a50aebc8c95478d49c28c7f8419a26cef",
      "tree": "a98ab91189d1dd0781d7768c0b0d395c1919d571",
      "parents": [
        "7dc04d712203eecdc1435a4cd135935c4a297be5"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Tue Apr 26 20:19:36 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 02:04:53 2011 -0700"
      },
      "message": "sctp: Add ASCONF operation on the single-homed host\n\nIn this case, the SCTP association transmits an ASCONF packet\nincluding addition of the new IP address and deletion of the old\naddress.  This patch implements this functionality.\nIn this case, the ASCONF chunk is added to the beginning of the\nqueue, because the other chunks cannot be transmitted in this state.\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7dc04d712203eecdc1435a4cd135935c4a297be5",
      "tree": "d50fa7599ca9ee393f7c50510e6ea742efcfbf81",
      "parents": [
        "dd51be0f5484b450b8d48c9226ed86ce3dd5102e"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Tue Apr 26 20:16:31 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 02:04:53 2011 -0700"
      },
      "message": "sctp: Add socket option operation for Auto-ASCONF.\n\nThis patch allows the application to operate Auto-ASCONF on/off\nbehavior via setsockopt() and getsockopt().\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd51be0f5484b450b8d48c9226ed86ce3dd5102e",
      "tree": "9e4744154cac9bb5f26960d01d90fbfa3045be61",
      "parents": [
        "9f7d653b67aed2d92540fbb0a8adaf32fcf352ae"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Tue Apr 26 17:36:05 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 02:04:53 2011 -0700"
      },
      "message": "sctp: Add sysctl support for Auto-ASCONF.\n\nThis patch allows the system administrator to change default\nAuto-ASCONF on/off behavior via an sysctl value.\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f7d653b67aed2d92540fbb0a8adaf32fcf352ae",
      "tree": "1e128f1465135dd70f202b8720c32cbfd536cb68",
      "parents": [
        "3ced2dddf10f26f0aaff96f3345a3d876cea62f8"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Tue Apr 26 19:32:51 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 02:04:53 2011 -0700"
      },
      "message": "sctp: Add Auto-ASCONF support (core).\n\nSCTP reconfigure the IP addresses in the association by using\nASCONF chunks as mentioned in RFC5061.  For example, we can\nstart to use the newly configured IP address in the existing\nassociation.  This patch implements automatic ASCONF operation\nin the SCTP stack with address events in the host computer,\nwhich is called auto_asconf.\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1364104e37c9d8cf437746ba5f5dfedcc0bc132",
      "tree": "fa2cbe48cf1ef54ae7544f518e0c26736ba8a973",
      "parents": [
        "40d69043fce579378eb185d31445b6ff66abbd93"
      ],
      "author": {
        "name": "Michio Honda",
        "email": "micchie@sfc.wide.ad.jp",
        "time": "Tue Apr 26 17:37:02 2011 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 02:04:52 2011 -0700"
      },
      "message": "sctp: Add ADD/DEL ASCONF handling at the receiver.\n\nThis patch fixes the problem that the original code cannot delete\nthe remote address where the corresponding transport is currently\ndirected, even when the ASCONF is sent from the other address (this\nsituation happens when the single-homed sender transmits  ASCONF\nwith ADD and DEL.)\n\nSigned-off-by: Michio Honda \u003cmicchie@sfc.wide.ad.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a000c01e60e40e15304ffe48fff051d17a7bea91",
      "tree": "429060980f87287a3df70d8d286b73d6f1985cc8",
      "parents": [
        "b10cec8a4e8167075b9e1ff3f05419769e7f381a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun May 29 23:23:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 31 15:29:17 2011 -0700"
      },
      "message": "sctp: stop pending timers and purge queues when peer restart asoc\n\nIf the peer restart the asoc, we should not only fail any unsent/unacked\ndata, but also stop the T3-rtx, SACK, T4-rto timers, and teardown ASCONF\nqueues.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b4472cc13136d04727e399c6fdadf58d2218b0a",
      "tree": "cad3cdcca69d8a701558386fef36f2f158a570a5",
      "parents": [
        "f11970e383acd6f505f492f1bc07fb1a4d884829"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue May 24 21:48:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 25 17:55:32 2011 -0400"
      },
      "message": "sctp: fix memory leak of the ASCONF queue when free asoc\n\nIf an ASCONF chunk is outstanding, then the following ASCONF\nchunk will be queued for later transmission. But when we free\nthe asoc, we forget to free the ASCONF queue at the same time,\nthis will cause memory leak.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71338aa7d050c86d8765cd36e46be514fb0ebbce",
      "tree": "96bacb805b939c490145b31b4e2fb9e5cea79c5d",
      "parents": [
        "229de618ba6ff36e382b908b7637fe56c25ae9f1"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Mon May 23 12:17:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 24 01:13:12 2011 -0400"
      },
      "message": "net: convert %p usage to %pK\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\nThe supporting code for kptr_restrict and %pK are currently in the -mm\ntree.  This patch converts users of %p in net/ to %pK.  Cases of printing\npointers to the syslog are not covered, since this would eliminate useful\ninformation for postmortem debugging and the reading of the syslog is\nalready optionally protected by the dmesg_restrict sysctl.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d414521663295ce25c90164f4d41a07ac846468",
      "tree": "50a3175fe7292ab775cf8031eee510aec2356de4",
      "parents": [
        "0a384b226f61b310586701669b573b49cfcbf436"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 21 02:10:23 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 21 02:10:23 2011 -0400"
      },
      "message": "sctp: Fix build failure.\n\nCommit c182f90bc1f22ce5039b8722e45621d5f96862c2 (\"SCTP: fix race\nbetween sctp_bind_addr_free() and sctp_bind_addr_conflict()\") and\ncommit 1231f0baa547a541a7481119323b7f964dda4788 (\"net,rcu: convert\ncall_rcu(sctp_local_addr_free) to kfree_rcu()\"), happening in\ndifferent trees, introduced a build failure.\n\nSimply make the SCTP race fix use kfree_rcu() too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "c182f90bc1f22ce5039b8722e45621d5f96862c2",
      "tree": "48c5f4f727a2aa7fcde81fccc4ab26f9a0c1a517",
      "parents": [
        "be281e554e2a4cf2478df7a8b8926c89454bccfa"
      ],
      "author": {
        "name": "Jacek Luczak",
        "email": "difrost.kernel@gmail.com",
        "time": "Thu May 19 09:55:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 17:13:04 2011 -0400"
      },
      "message": "SCTP: fix race between sctp_bind_addr_free() and sctp_bind_addr_conflict()\n\nDuring the sctp_close() call, we do not use rcu primitives to\ndestroy the address list attached to the endpoint.  At the same\ntime, we do the removal of addresses from this list before\nattempting to remove the socket from the port hash\n\nAs a result, it is possible for another process to find the socket\nin the port hash that is in the process of being closed.  It then\nproceeds to traverse the address list to find the conflict, only\nto have that address list suddenly disappear without rcu() critical\nsection.\n\nFix issue by closing address list removal inside RCU critical\nsection.\n\nRace can result in a kernel crash with general protection fault or\nkernel NULL pointer dereference:\n\nkernel: general protection fault: 0000 [#1] SMP\nkernel: RIP: 0010:[\u003cffffffffa02f3dde\u003e]  [\u003cffffffffa02f3dde\u003e] sctp_bind_addr_conflict+0x64/0x82 [sctp]\nkernel: Call Trace:\nkernel:  [\u003cffffffffa02f415f\u003e] ? sctp_get_port_local+0x17b/0x2a3 [sctp]\nkernel:  [\u003cffffffffa02f3d45\u003e] ? sctp_bind_addr_match+0x33/0x68 [sctp]\nkernel:  [\u003cffffffffa02f4416\u003e] ? sctp_do_bind+0xd3/0x141 [sctp]\nkernel:  [\u003cffffffffa02f5030\u003e] ? sctp_bindx_add+0x4d/0x8e [sctp]\nkernel:  [\u003cffffffffa02f5183\u003e] ? sctp_setsockopt_bindx+0x112/0x4a4 [sctp]\nkernel:  [\u003cffffffff81089e82\u003e] ? generic_file_aio_write+0x7f/0x9b\nkernel:  [\u003cffffffffa02f763e\u003e] ? sctp_setsockopt+0x14f/0xfee [sctp]\nkernel:  [\u003cffffffff810c11fb\u003e] ? do_sync_write+0xab/0xeb\nkernel:  [\u003cffffffff810e82ab\u003e] ? fsnotify+0x239/0x282\nkernel:  [\u003cffffffff810c2462\u003e] ? alloc_file+0x18/0xb1\nkernel:  [\u003cffffffff8134a0b1\u003e] ? compat_sys_setsockopt+0x1a5/0x1d9\nkernel:  [\u003cffffffff8134aaf1\u003e] ? compat_sys_socketcall+0x143/0x1a4\nkernel:  [\u003cffffffff810467dc\u003e] ? sysenter_dispatch+0x7/0x32\n\nSigned-off-by: Jacek Luczak \u003cluczak.jacek@gmail.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afd7614c00e364f8f1327e73ad291b02f6d4d1a6",
      "tree": "67a49abb1a0efa9544ae3a328f1eafe34436799b",
      "parents": [
        "517aa0bcda9b092a4c3fab7bf93f0cebe372ece0"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 12 09:19:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 17:30:50 2011 -0400"
      },
      "message": "sctp: sctp_sendmsg: Don\u0027t test known non-null sinfo\n\nIt\u0027s already known non-null above.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "517aa0bcda9b092a4c3fab7bf93f0cebe372ece0",
      "tree": "28edc7ce3bd99465ae0eca4294ebd98dd4bbdb25",
      "parents": [
        "1769192a3c50778e03352a3d95faec830d47ba55"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 12 11:27:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 17:30:49 2011 -0400"
      },
      "message": "sctp: sctp_sendmsg: Don\u0027t initialize default_sinfo\n\nThis variable only needs initialization when cmsgs.info\nis NULL.\n\nUse memset to ensure padding is also zeroed so\nkernel doesn\u0027t leak any data.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "902ebd3e0de618b6d39004edac00b2cc36362065",
      "tree": "907740c5c0ff7aba906141001d8c69209f5498a6",
      "parents": [
        "79ab053145ae10edf8f0809d1c788b853c7f6ef1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 14:49:13 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 13:32:47 2011 -0700"
      },
      "message": "sctp: Remove rt-\u003ert_src usage in sctp_v4_get_saddr()\n\nFlow key is available, so fetch it from there.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ef73bca731fea9d4b706db2acb96b6488aa1b0e",
      "tree": "61ad9f5fe7d0459ec651f69d46f06f4572f5c971",
      "parents": [
        "f5fca6086511294653a9e821f8e22f041415ba7b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:14:41 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:24:07 2011 -0700"
      },
      "message": "sctp: Fix debug message args.\n\nI messed things up when I converted over to the transport\nflow, I passed the ipv4 address value instead of it\u0027s address.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1c0a276ea1786213bda2313cd9034f3a23f2e77",
      "tree": "c46e1a4551cbbe6c41be286390e06f9a3df3e270",
      "parents": [
        "ea4fc0d6193ff56fcef39b0d2210d402a7acb5f0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:34:29 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:29 2011 -0700"
      },
      "message": "sctp: Don\u0027t use rt-\u003ert_{src,dst} in sctp_v4_xmit()\n\nNow we can pick it out of the transport\u0027s flow key.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9d8da805dcb503ef8ee49918a94d49085060f23",
      "tree": "ede7d2af74c2982eb24430079aea63c05a3420e9",
      "parents": [
        "0e734419923bd8e599858f8fc196c7804bb85564"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:23:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:28 2011 -0700"
      },
      "message": "inet: Pass flowi to -\u003equeue_xmit().\n\nThis allows us to acquire the exact route keying information from the\nprotocol, however that might be managed.\n\nIt handles all of the possibilities, from the simplest case of storing\nthe key in inet-\u003ecork.fl to the more complex setup SCTP has where\nindividual transports determine the flow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8663c938ceb72f47941c95ff0ea491ebbdd68f26",
      "tree": "f87bf63fb7f8ca29e01083e742c0530c25a9feb9",
      "parents": [
        "b57ae01a8a8446dbbed7365c9b05aef1fc6dea20"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 16:32:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 14:05:14 2011 -0700"
      },
      "message": "sctp: Store a flowi in transports to provide persistent keying.\n\nSeveral future simplifications are possible now because of this.\n\nFor example, the sctp_addr unions can simply refer directly to\nthe flowi information.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1231f0baa547a541a7481119323b7f964dda4788",
      "tree": "4f03036990f55084650cda8f2cd17c759c6b2542",
      "parents": [
        "37b6b935e96e837ccc60812c03e9f92e7dce2e61"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 18:05:02 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:51 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(sctp_local_addr_free) to kfree_rcu()\n\nThe rcu callback sctp_local_addr_free() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(sctp_local_addr_free).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "18a353f42817f08e3501162ceda9d2efddb08a40",
      "tree": "250d1977232b7a14330b18758e091c0b3ac5d73e",
      "parents": [
        "492f64ce12e259abd85714d05b885e105bd8aeef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:55:05 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:55:05 2011 -0700"
      },
      "message": "sctp: Use flowi4\u0027s {saddr,daddr} in sctp_v4_dst_saddr() and sctp_v4_get_dst()\n\nInstead of rt-\u003ert_{src,dst}\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da0420bee24a1ba54e55a61e95b1a53205d7e62d",
      "tree": "b17401ad5e6d97f8e3c8649725d5ca0a20e1b765",
      "parents": [
        "af1384703f8a4ff3d245925d6596ef1c5c6e469e"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 26 21:54:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:06 2011 -0700"
      },
      "message": "sctp: clean up route lookup calls\n\nChange the call to take the transport parameter and set the\ncached \u0027dst\u0027 appropriately inside the get_dst() function calls.\n\nThis will allow us in the future  to clean up source address\nstorage as well.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af1384703f8a4ff3d245925d6596ef1c5c6e469e",
      "tree": "e96ff72cb9dd65961d0e175a61aa6c0b8c91b7e1",
      "parents": [
        "9c6a02f41d10dc9fbf5dd42058e8846f38dd2d9a"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 26 21:53:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:06 2011 -0700"
      },
      "message": "sctp: remove useless arguments from get_saddr() call\n\nThere is no point in passing a destination address to\na get_saddr() call.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c6a02f41d10dc9fbf5dd42058e8846f38dd2d9a",
      "tree": "c6ce6904ce9517fbba4b6b9b5c02c0d604b33e59",
      "parents": [
        "9914ae3ca770389a3bec3114d0a07532a7f235dd"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 26 21:52:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:05 2011 -0700"
      },
      "message": "sctp: make sctp over IPv6 work with IPsec\n\nSCTP never called xfrm_output after it\u0027s v6 route lookups so\nthat never really worked with ipsec.  Additioanlly, we never\npassed port nubmers and protocol in the flowi, so any port\nbased policies were never applied as well.  Now that we can\nfixed ipv6 routing lookup code, using ip6_dst_lookup_flow()\nand pass port numbers.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9914ae3ca770389a3bec3114d0a07532a7f235dd",
      "tree": "269120740aa1afdb0dd792284341aaee93024f28",
      "parents": [
        "625034113bd45c71fb9e329f52f25fef9e6993a3"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 26 21:51:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:04 2011 -0700"
      },
      "message": "sctp: cache the ipv6 source after route lookup\n\nThe ipv6 routing lookup does give us a source address,\nbut instead of filling it into the dst, it\u0027s stored in\nthe flowi.  We can use that instead of going through the\nentire source address selection again.\nAlso the useless -\u003edst_saddr member of sctp_pf is removed.\nAnd sctp_v6_dst_saddr() is removed, instead by introduce\nsctp_v6_to_addr(), which can be reused to cleanup some dup\ncode.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "625034113bd45c71fb9e329f52f25fef9e6993a3",
      "tree": "f4bd4ffc34bcf7993f8815ed55adc7cf0f4c2be9",
      "parents": [
        "66e6961c8e53c0c0079d5b67faf9b7fe33525892"
      ],
      "author": {
        "name": "Weixing Shi",
        "email": "Weixing.Shi@windriver.com",
        "time": "Tue Apr 26 21:36:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:14:04 2011 -0700"
      },
      "message": "sctp: fix sctp to work with ipv6 source address routing\n\nIn the below test case, using the source address routing,\nsctp can not work.\nNode-A\n1)ifconfig eth0 inet6 add 2001:1::1/64\n2)ip -6 rule add from 2001:1::1 table 100 pref 100\n3)ip -6 route add 2001:2::1 dev eth0 table 100\n4)sctp_darn -H 2001:1::1 -P 250 -l \u0026\nNode-B\n1)ifconfig eth0 inet6 add 2001:2::1/64\n2)ip -6 rule add from 2001:2::1 table 100 pref 100\n3)ip -6 route add 2001:1::1 dev eth0 table 100\n4)sctp_darn -H 2001:2::1 -P 250 -h 2001:1::1 -p 250 -s\n\nroot cause:\nNode-A and Node-B use the source address routing, and\nat begining, source address will be NULL,sctp will\nsearch the  routing table by the destination address,\nbecause using the source address routing table, and\nthe result dst_entry will be NULL.\n\nsolution:\nwalk through the bind address list to get the source\naddress and then lookup the routing table again to get\nthe correct dst_entry.\n\nSigned-off-by: Weixing Shi \u003cWeixing.Shi@windriver.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9c549998dc24209847007e1f209f3b6c88d21ba",
      "tree": "0f52fcbe1dfa158349afc6ad2edaa6738615dc3b",
      "parents": [
        "8e10cd74342c7f5ce259cceca36f6eba084f5d58"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:28:26 2011 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:31:11 2011 -0700"
      },
      "message": "Revert wrong fixes for common misspellings\n\nThese changes were incorrectly fixed by codespell. They were now\nmanually corrected.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "b71d1d426d263b0b6cb5760322efebbfc89d4463",
      "tree": "226ca7390bd6187ec9139d2ccedd26fd94d8e57a",
      "parents": [
        "5f8629c526b4f7e529a6d27bbd802c0dc7fcc357"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Apr 22 04:53:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 22 11:04:14 2011 -0700"
      },
      "message": "inet: constify ip headers and in6_addr\n\nAdd const qualifiers to structs iphdr, ipv6hdr and in6_addr pointers\nwhere possible, to make code intention more obvious.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1cdd553d482ceb083fac5e544e8702fccefbfd6",
      "tree": "b2b0f0bdc7a90c03a91bba6289143ae0056c651a",
      "parents": [
        "ee916fd0fdb8f43dacaab431de3e1f7225039d72"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Apr 17 17:29:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 21 10:35:44 2011 -0700"
      },
      "message": "sctp: implement event notification SCTP_SENDER_DRY_EVENT\n\nThis patch implement event notification SCTP_SENDER_DRY_EVENT.\nSCTP Socket API Extensions:\n\n  6.1.9. SCTP_SENDER_DRY_EVENT\n\n  When the SCTP stack has no more user data to send or retransmit, this\n  notification is given to the user. Also, at the time when a user app\n  subscribes to this event, if there is no data to be sent or\n  retransmit, the stack will immediately send up this notification.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee916fd0fdb8f43dacaab431de3e1f7225039d72",
      "tree": "98dc89aaaf3b2e6c4b69276e7e33c960f4b7b19a",
      "parents": [
        "209ba424c2c6e5ff4dd0ff79bb23659aa6048eac"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Apr 17 17:28:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 21 10:35:44 2011 -0700"
      },
      "message": "sctp: change auth event type name to SCTP_AUTHENTICATION_EVENT\n\nThis patch change the auth event type name to SCTP_AUTHENTICATION_EVENT,\nwhich is based on API extension compliance.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "209ba424c2c6e5ff4dd0ff79bb23659aa6048eac",
      "tree": "df443b83a4d458cfb46ea2e08e176b2433fa5b66",
      "parents": [
        "4c6a6f42131dd750dcfe3c71e63bfc046e5a227e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Apr 17 17:27:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 21 10:35:43 2011 -0700"
      },
      "message": "sctp: implement socket option SCTP_GET_ASSOC_ID_LIST\n\nThis patch Implement socket option SCTP_GET_ASSOC_ID_LIST.\nSCTP Socket API Extension:\n\n  8.2.6. Get the Current Identifiers of Associations\n         (SCTP_GET_ASSOC_ID_LIST)\n\n  This option gets the current list of SCTP association identifiers of\n  the SCTP associations handled by a one-to-many style socket.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c6a6f42131dd750dcfe3c71e63bfc046e5a227e",
      "tree": "3f339059c819b083700e803319fa54a4666bd312",
      "parents": [
        "92c73af58e9f1b487322ce25a7a67889c9d91343"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:32:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:06 2011 -0700"
      },
      "message": "sctp: move chunk from retransmit queue to abandoned list\n\nIf there is still data waiting to retransmit and remain in\nretransmit queue, while doing the next retransmit, if the\nchunk is abandoned, we should move it to abandoned list.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92c73af58e9f1b487322ce25a7a67889c9d91343",
      "tree": "e15fe97de52dfade4956a5c6378f16ddde0d0c7c",
      "parents": [
        "de6becdc0844ff92b38ffd9f0c4db1d3de02835f"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:31:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:05 2011 -0700"
      },
      "message": "sctp: make heartbeat information in sctp_make_heartbeat()\n\nMake heartbeat information in sctp_make_heartbeat() instead\nof make it in sctp_sf_heartbeat() directly for common using.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de6becdc0844ff92b38ffd9f0c4db1d3de02835f",
      "tree": "f52df91a347ece7e4efc09ca2974e8e38f38a3f8",
      "parents": [
        "85c5ed4e44a262344ce43b4bf23204107923ca95"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:30:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:05 2011 -0700"
      },
      "message": "sctp: fix to check the source address of COOKIE-ECHO chunk\n\nSCTP does not check whether the source address of COOKIE-ECHO\nchunk is the original address of INIT chunk or part of the any\naddress parameters saved in COOKIE in CLOSED state. So even if\nthe COOKIE-ECHO chunk is from any address but with correct COOKIE,\nthe COOKIE-ECHO chunk still be accepted. If the COOKIE is not from\na valid address, the assoc should not be established.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85c5ed4e44a262344ce43b4bf23204107923ca95",
      "tree": "1b494d271d2e08a4f316bbf8cbeb677eed11b939",
      "parents": [
        "deb85a6ecc432a4f342004a6ac2a0dad7cba6846"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:30:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:04 2011 -0700"
      },
      "message": "sctp: handle ootb packet in chunk order as defined\n\nChanged the order of processing SHUTDOWN ACK and COOKIE ACK\nrefer to section 8.4:Handle \"Out of the Blue\" Packets.\n\nSHUTDOWN ACK chunk should be processed before processing\n\"Stale Cookie\" ERROR or a COOKIE ACK.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "deb85a6ecc432a4f342004a6ac2a0dad7cba6846",
      "tree": "45bbca28f552fe2f74202117d564ecd7cbe8ddde",
      "parents": [
        "0b8f9e25b0aaf5a5d9fd844a97e5c17746b865d4"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 19 21:29:23 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:03 2011 -0700"
      },
      "message": "sctp: bail from sctp_endpoint_lookup_assoc() if not bound\n\nThe sctp_endpoint_lookup_assoc() function uses a port hash\nto lookup the association and then checks to see if any of\nthem are on the current endpoint.  However, if the current\nendpoint is not bound, there can\u0027t be any associations on\nit, thus we can bail early.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b8f9e25b0aaf5a5d9fd844a97e5c17746b865d4",
      "tree": "cc531084f434bc4602341f3144ee654a9a4af612",
      "parents": [
        "48669698c23339e0fa31753f04e77648fc210339"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 19 21:28:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:03 2011 -0700"
      },
      "message": "sctp: remove completely unsed EMPTY state\n\nSCTP does not SCTP_STATE_EMPTY and we can never be in\nthat state.  Remove useless code.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96ca468b86b09aa6a001ac65dba93a6c4a3692a5",
      "tree": "2fe288fb35d4dd0faa0cd9ea0fd6c32690ec387d",
      "parents": [
        "8a00be1c89cc17fda5f438794ff27449af6f00f1"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:26:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:02 2011 -0700"
      },
      "message": "sctp: check invalid value of length parameter in error cause\n\nRFC4960, section 3.3.7 said:\n If an endpoint receives an ABORT with a format error or no TCB is\n found, it MUST silently discard it.\n\nWhen an endpoint receives ABORT that parameter value is invalid,\ndrop it.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a00be1c89cc17fda5f438794ff27449af6f00f1",
      "tree": "a9b01d90300f59ca15b5f38a0c3804ccca6bb719",
      "parents": [
        "882553752196605bf27057e7adb298ecae8058c4"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Apr 19 21:25:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:51:01 2011 -0700"
      },
      "message": "sctp: check parameter value of length in ERROR chunk\n\nWhen an endpoint receives ERROR that parameter value is invalid,\nsend an ABORT to peer with a Protocol Violation error code.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6ef006bf57fb6a8a0b134928b5c5606090ef0a0",
      "tree": "75edcd54d0d475cb1c3a21e06422c333b5a0096f",
      "parents": [
        "ee9cbaca7d73ea0098f00ecd10fe6e4a4792e32c"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Apr 18 19:15:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:22 2011 -0700"
      },
      "message": "sctp: Release all routes when processing acks ADD_IP or DEL_IP\n\nWhen processing an ACK for ADD_IP parameter, we only release\nthe routes on non-active transports.  This can cause a wrong\nsource address to be used.  We can release the routes and\ncause new route lookups and source address selection so that\nnew addresses can be used as source.  Additionally, we don\u0027t need\nto lookup routes for all transports at the same time.  We can let\nthe transmit code path update the cached route when the transport\nactually sends something.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee9cbaca7d73ea0098f00ecd10fe6e4a4792e32c",
      "tree": "248b339ae6e8c048dcbe844c4cd8bcf1ebbbfc2f",
      "parents": [
        "f246a7b7c5b9df0ea0f0807a7101995af5e83213"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Apr 18 19:14:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:21 2011 -0700"
      },
      "message": "sctp: Allow bindx_del to accept 0 port\n\nWe allow 0 port when adding new addresses.  It only\nmakes sence to allow 0 port when removing addresses.\nWhen removing the currently bound port will be used\nwhen the port in the address is set to 0.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f246a7b7c5b9df0ea0f0807a7101995af5e83213",
      "tree": "4362f120c0f483b603407f04c66a0f7b472b0287",
      "parents": [
        "934253a7b4ab4151037ea9532552628723a14442"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Apr 18 19:13:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:21 2011 -0700"
      },
      "message": "sctp: teach CACC algorithm about removed transports\n\nWhen we have have to remove a transport due to ASCONF, we move\nthe data to a new active path.  This can trigger CACC algorithm\nto not mark that data as missing when SACKs arrive.  This is\nbecause the transport passed to the CACC algorithm is the one\nthis data is sitting on, not the one it was sent on (that one\nmay be gone).  So, by sending the original transport (even if\nit\u0027s NULL), we may start marking data as missing.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "934253a7b4ab4151037ea9532552628723a14442",
      "tree": "34958bbe96f709ff06c7e9ea77d44b96da3986d7",
      "parents": [
        "66009927f1e7374afdc6f9fdd25c493ee4eadf7c"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:13:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:20 2011 -0700"
      },
      "message": "sctp: use memdup_user to copy data from userspace\n\nUse common function to simply code.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66009927f1e7374afdc6f9fdd25c493ee4eadf7c",
      "tree": "0c7ae1b31bc879bd9a334c4348275f59754979ae",
      "parents": [
        "6a435732accd9e3f4a8d9c320fabe578b1bf5add"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:12:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:19 2011 -0700"
      },
      "message": "sctp: kill abandoned SCTP_CMD_TRANSMIT command\n\nRemove SCTP_CMD_TRANSMIT command as it never be used.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a435732accd9e3f4a8d9c320fabe578b1bf5add",
      "tree": "35492d5afc59dabb41361c5a6dec015b89303fe6",
      "parents": [
        "33c7cfdbb0d2bc021979e4947c7030c30d572532"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:11:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:19 2011 -0700"
      },
      "message": "sctp: use common head of addr parameter to access member in addr-unrelated code\n\nThe \u0027p\u0027 member of struct sctp_paramhdr is common part for\nIPv4 addr parameter and IPv6 addr parameter in union sctp_addr_param.\n\nFor addr-related code, use specified addr parameter.\nOtherwise, use common header to access type/length member.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33c7cfdbb0d2bc021979e4947c7030c30d572532",
      "tree": "4efc68e4e16ecb3ad53ad082eabcae92dafd5bcf",
      "parents": [
        "709d38714eff234432956931437457e0de806784"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Apr 18 19:11:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 21:45:18 2011 -0700"
      },
      "message": "sctp: fix the comment of sctp_sf_violation_paramlen()\n\nUpdate the comment about sctp_sf_violation_paramlen() to be\nmore precise.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9494c7c5774d64a84a269aad38c153c4dbff97e6",
      "tree": "03d1eb5fffa30789455f12fb59bbd917e465e8c9",
      "parents": [
        "25f7bf7d0dfb460505cbe42676340e33100aca2e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Apr 12 15:22:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 12 19:33:51 2011 -0700"
      },
      "message": "sctp: fix oops while removed transport still using as retran path\n\nSince we can not update retran path to unconfirmed transports,\nwhen we remove a peer, the retran path may not be update if the\nother transports are all unconfirmed, and we will still using\nthe removed transport as the retran path. This may cause panic\nif retrasnmit happen.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25f7bf7d0dfb460505cbe42676340e33100aca2e",
      "tree": "76467af7ca483f836f9acc2fc73f000db6223a4e",
      "parents": [
        "31d8b9e099e59f880aa65095951559896d4e20fa"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Apr 12 15:20:48 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 12 19:33:50 2011 -0700"
      },
      "message": "sctp: fix oops when updating retransmit path with DEBUG on\n\ncommit fbdf501c9374966a56829ecca3a7f25d2b49a305\n  sctp: Do no select unconfirmed transports for retransmissions\n\nIntroduced the initial falt.\n\ncommit d598b166ced20d9b9281ea3527c0e18405ddb803\n  sctp: Make sure we always return valid retransmit path\n\nSolved the problem, but forgot to change the DEBUG statement.\nThus it was still possible to dereference a NULL pointer.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "2cab86bee8e7f353e6ac8c15b3eb906643497644",
      "tree": "8b65b48f5b32d3e6a60e97674f4b21be24f840a6",
      "parents": [
        "028dba0ac3fc3c82da06110b011fce22a5ffad00"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Mar 31 23:42:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 01 21:45:51 2011 -0700"
      },
      "message": "sctp: malloc enough room for asconf-ack chunk\n\nSometime the ASCONF_ACK parameters can equal to the fourfold of\nASCONF parameters, this only happend in some special case:\n\n  ASCONF parameter is :\n    Unrecognized Parameter (4 bytes)\n  ASCONF_ACK parameter should be:\n    Error Cause Indication parameter (8 bytes header)\n     + Error Cause (4 bytes header)\n       + Unrecognized Parameter (4bytes)\n\nFour 4bytes Unrecognized Parameters in ASCONF chunk will cause panic.\n\nPid: 0, comm: swapper Not tainted 2.6.38-next+ #22 Bochs Bochs\nEIP: 0060:[\u003cc0717eae\u003e] EFLAGS: 00010246 CPU: 0\nEIP is at skb_put+0x60/0x70\nEAX: 00000077 EBX: c09060e2 ECX: dec1dc30 EDX: c09469c0\nESI: 00000000 EDI: de3c8d40 EBP: dec1dc58 ESP: dec1dc2c\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess swapper (pid: 0, ti\u003ddec1c000 task\u003dc09aef20 task.ti\u003dc0980000)\nStack:\n c09469c0 e1894fa4 00000044 00000004 de3c8d00 de3c8d00 de3c8d44 de3c8d40\n c09060e2 de25dd80 de3c8d40 dec1dc7c e1894fa4 dec1dcb0 00000040 00000004\n 00000000 00000800 00000004 00000004 dec1dce0 e1895a2b dec1dcb4 de25d960\nCall Trace:\n [\u003ce1894fa4\u003e] ? sctp_addto_chunk+0x4e/0x89 [sctp]\n [\u003ce1894fa4\u003e] sctp_addto_chunk+0x4e/0x89 [sctp]\n [\u003ce1895a2b\u003e] sctp_process_asconf+0x32f/0x3d1 [sctp]\n [\u003ce188d554\u003e] sctp_sf_do_asconf+0xf8/0x173 [sctp]\n [\u003ce1890b02\u003e] sctp_do_sm+0xb8/0x159 [sctp]\n [\u003ce18a2248\u003e] ? sctp_cname+0x0/0x52 [sctp]\n [\u003ce189392d\u003e] sctp_assoc_bh_rcv+0xac/0xe3 [sctp]\n [\u003ce1897d76\u003e] sctp_inq_push+0x2d/0x30 [sctp]\n [\u003ce18a21b2\u003e] sctp_rcv+0x7a7/0x83d [sctp]\n [\u003cc077a95c\u003e] ? ipv4_confirm+0x118/0x125\n [\u003cc073a970\u003e] ? nf_iterate+0x34/0x62\n [\u003cc074789d\u003e] ? ip_local_deliver_finish+0x0/0x194\n [\u003cc074789d\u003e] ? ip_local_deliver_finish+0x0/0x194\n [\u003cc0747992\u003e] ip_local_deliver_finish+0xf5/0x194\n [\u003cc074789d\u003e] ? ip_local_deliver_finish+0x0/0x194\n [\u003cc0747a6e\u003e] NF_HOOK.clone.1+0x3d/0x44\n [\u003cc0747ab3\u003e] ip_local_deliver+0x3e/0x44\n [\u003cc074789d\u003e] ? ip_local_deliver_finish+0x0/0x194\n [\u003cc074775c\u003e] ip_rcv_finish+0x29f/0x2c7\n [\u003cc07474bd\u003e] ? ip_rcv_finish+0x0/0x2c7\n [\u003cc0747a6e\u003e] NF_HOOK.clone.1+0x3d/0x44\n [\u003cc0747cae\u003e] ip_rcv+0x1f5/0x233\n [\u003cc07474bd\u003e] ? ip_rcv_finish+0x0/0x2c7\n [\u003cc071dce3\u003e] __netif_receive_skb+0x310/0x336\n [\u003cc07221f3\u003e] netif_receive_skb+0x4b/0x51\n [\u003ce0a4ed3d\u003e] cp_rx_poll+0x1e7/0x29c [8139cp]\n [\u003cc072275e\u003e] net_rx_action+0x65/0x13a\n [\u003cc0445a54\u003e] __do_softirq+0xa1/0x149\n [\u003cc04459b3\u003e] ? __do_softirq+0x0/0x149\n \u003cIRQ\u003e\n [\u003cc0445891\u003e] ? irq_exit+0x37/0x72\n [\u003cc040a7e9\u003e] ? do_IRQ+0x81/0x95\n [\u003cc07b3670\u003e] ? common_interrupt+0x30/0x38\n [\u003cc0428058\u003e] ? native_safe_halt+0xa/0xc\n [\u003cc040f5d7\u003e] ? default_idle+0x58/0x92\n [\u003cc0408fb0\u003e] ? cpu_idle+0x96/0xb2\n [\u003cc0797989\u003e] ? rest_init+0x5d/0x5f\n [\u003cc09fd90c\u003e] ? start_kernel+0x34b/0x350\n [\u003cc09fd0cb\u003e] ? i386_start_kernel+0xba/0xc1\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "a84b50ceb7d640437d0dc28a2bef0d0de054de89",
      "tree": "e16a02b6be682dd9c3560fe7639331d1f1d62fa1",
      "parents": [
        "04f482faf50535229a5a5c8d629cf963899f857c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 17:51:36 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 17:51:36 2011 -0700"
      },
      "message": "sctp: Pass __GFP_NOWARN to hash table allocation attempts.\n\nLike DCCP and other similar pieces of code, there are mechanisms\nhere to try allocating smaller hash tables if the allocation\nfails.  So pass in __GFP_NOWARN like the others do instead of\nemitting a scary message.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c9483b2fb5d2548c3cc1fe03cdd4484ceeb5d1c",
      "tree": "c29c8070012cffb38fe249cf528589a675f622b1",
      "parents": [
        "9cce96df5b76691712dba22e83ff5efe900361e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 16:22:43 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "ipv6: Convert to use flowi6 where applicable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cce96df5b76691712dba22e83ff5efe900361e1",
      "tree": "eecf99e64c6866af944e1e1644d87737392b2da2",
      "parents": [
        "f42454d632753d71ea1a2df09be7bbda32b6372d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 03:00:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "net: Put fl4_* macros to struct flowi4 and use them again.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d6ec938019c6b16cb9ec96598ebe8f20de435fe",
      "tree": "9b850eb7fd48a6e5ffc15f47afd2e3edc93f5290",
      "parents": [
        "68a5e3dd0a0056d8b349f9eea3756adda53ec17a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 01:12:47 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in public route lookup interfaces.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6281dcc94a96bd73017b2baa8fa83925405109ef",
      "tree": "8deee4d66d256d10ea25f66520eb96b1fade1545",
      "parents": [
        "08704bcbf022786532b5f188935ab6619906049f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:43:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Make flowi ports AF dependent.\n\nCreate two sets of port member accessors, one set prefixed by fl4_*\nand the other prefixed by fl6_*\n\nThis will let us to create AF optimal flow instances.\n\nIt will work because every context in which we access the ports,\nwe have to be fully aware of which AF the flowi is anyways.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efea2c6b2efc1716b2c0cf257cc428d6cd3ed6e2",
      "tree": "b2b630441b908802ccfa303fb35f07aab11a78a0",
      "parents": [
        "e143038f4dda10a51985b9a3f9fb07d73a5eadfa"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:14 2011 -0800"
      },
      "message": "sctp: several declared/set but unused fixes\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eaefd1105bc431ef329599e307a07f2a36ae7872",
      "tree": "658eeed417654c8f6015d4d5f957f5a1b5e9521f",
      "parents": [
        "04cfa852ff8dab923640500ee850d19e75bacabc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Feb 18 03:26:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 10:19:31 2011 -0800"
      },
      "message": "net: add __rcu annotations to sk_wq and wq\n\nAdd proper RCU annotations/verbs to sk_wq and wq members\n\nFix __sctp_write_space() sk_sleep() abuse (and sock-\u003ewq access)\n\nFix sunrpc sk_sleep() abuse too\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59ed5aba9ca1c799e272b352d5d2d7fe12bd32e8",
      "tree": "87cc24c96233c6ea6e1a81cc314f9c2f1cf557af",
      "parents": [
        "089c34827e52346f0303d1e6a7b744c1f4da3095"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Sat Feb 19 21:57:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 20 11:10:15 2011 -0800"
      },
      "message": "sctp: fix compile warnings in sctp_tsnmap_num_gabs\n\nnet/sctp/tsnmap.c: In function ‘sctp_tsnmap_num_gabs’:\nnet/sctp/tsnmap.c:347: warning: ‘start’ may be used uninitialized in this function\nnet/sctp/tsnmap.c:347: warning: ‘end’ may be used uninitialized in this function\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2205a6ea93fea76f88b43727fea53f3ce3790d6f",
      "tree": "440ff9d40ce5eeee3c85e22feea20f2a0c4d4065",
      "parents": [
        "226111d1fbe611bc7a5ffaa5275ccb41e73fd011"
      ],
      "author": {
        "name": "Jiri Bohac",
        "email": "jbohac@suse.cz",
        "time": "Thu Feb 17 13:12:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 19:06:55 2011 -0800"
      },
      "message": "sctp: fix reporting of unknown parameters\n\ncommit 5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809 re-worked the\nhandling of unknown parameters. sctp_init_cause_fixed() can now\nreturn -ENOSPC if there is not enough tailroom in the error\nchunk skb. When this happens, the error header is not appended to\nthe error chunk. In that case, the payload of the unknown parameter\nshould not be appended either.\n\nSigned-off-by: Jiri Bohac \u003cjbohac@suse.cz\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4580ccc04ddd8c17a470573a7fdb8def2e036dfa",
      "tree": "09c0d4c275c95b70b7e859b0449019fb791fc09c",
      "parents": [
        "d402786ea4f8433774a812d6b8635e737425cddd"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Jan 18 22:39:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 16:51:29 2011 -0800"
      },
      "message": "sctp: user perfect name for Delayed SACK Timer option\n\nThe option name of Delayed SACK Timer should be SCTP_DELAYED_SACK,\nnot SCTP_DELAYED_ACK.\n\nLeft SCTP_DELAYED_ACK be concomitant with SCTP_DELAYED_SACK,\nfor making compatibility with existing applications.\n\nReference:\n8.1.19.  Get or Set Delayed SACK Timer (SCTP_DELAYED_SACK)\n（http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-25)\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4aa9e05a61b845541fa6f5b1d246976922601f0",
      "tree": "ca94478c3df281ab76a3399f5ba6341ade3f5791",
      "parents": [
        "1dc0f3c54ce1df957f99c17b145488fd03eb1a59",
        "4b8fe66300acb2fba8b16d62606e0d30204022fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n\tdrivers/net/wireless/iwlwifi/iwl-1000.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/vhost/vhost.c\n"
    },
    {
      "commit": "7d743b7e952261f4d9ee091100b6403f3ce8a2af",
      "tree": "9829009c63ccebbf65b4cca63c1eb4e14b8e5fd1",
      "parents": [
        "0b7967503dc97864f283a3a06fbe23e041876138"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Dec 14 16:10:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:48:44 2010 -0800"
      },
      "message": "sctp: fix the return value of getting the sctp partial delivery point\n\nGet the sctp partial delivery point using SCTP_PARTIAL_DELIVERY_POINT\nsocket option should return 0 if success, not -ENOTSUPP.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40a010395cd66053f07bffeb3da5e44683bac30e",
      "tree": "f734e8da3145553bd47416d27c33e62435a39e52",
      "parents": [
        "79aeec5822cea63cf732bbc0c9f3337542352616"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Dec 07 17:11:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 15:29:49 2010 -0800"
      },
      "message": "SCTP: Fix SCTP_SET_PEER_PRIMARY_ADDR to accpet v4mapped address\n\nSCTP_SET_PEER_PRIMARY_ADDR does not accpet v4mapped address, using\nv4mapped address in SCTP_SET_PEER_PRIMARY_ADDR socket option will\nget -EADDRNOTAVAIL error if v4map is enabled. This patch try to\nfix it by mapping v4mapped address to v4 address if allowed.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8917a3c0b7d1557548f50bfe3f0e18e0354e38f6",
      "tree": "8bb698c078f7808deaa0de1b9035bbf658416205",
      "parents": [
        "2d5311e4e8272fd398fc1cf278f12fd6dee4074b"
      ],
      "author": {
        "name": "David Shwatrz",
        "email": "dshwatrz@gmail.com",
        "time": "Thu Dec 02 09:01:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 13:10:11 2010 -0800"
      },
      "message": "Fix a typo in datagram.c and sctp/socket.c.\n\nHi,\nThis patch fixes a typo in net/core/datagram.c and in net/sctp/socket.c\n\nRegards,\nDavid Shwartz\n\nSigned-off-by: David Shwartz \u003cdshwatrz@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d987e5c75107ca7515fa19e857cfa24aab6ec8f",
      "tree": "6392c5f08f0df39d42a079336f6be3960ac404dc",
      "parents": [
        "67286640f638f5ad41a946b9a3dc75327950248f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 09 23:24:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:12:00 2010 -0800"
      },
      "message": "net: avoid limits overflow\n\nRobin Holt tried to boot a 16TB machine and found some limits were\nreached : sysctl_tcp_mem[2], sysctl_udp_mem[2]\n\nWe can switch infrastructure to use long \"instead\" of \"int\", now\natomic_long_t primitives are available for free.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    }
  ],
  "next": "21a180cda012e1f93e362dd4a9b0bfd3d8c92940"
}
