)]}'
{
  "log": [
    {
      "commit": "a9e527e3f9f4510e9f3450ca3bc51bc3ef2854fd",
      "tree": "519458581cf3b8dd7c7a6d19c29572efb3405df1",
      "parents": [
        "755807a296f77ca7c31dc000afdfe1e5172bbf72"
      ],
      "author": {
        "name": "Rolf Manderscheid",
        "email": "rvm@obsidianresearch.com",
        "time": "Mon Dec 10 13:38:41 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:37 2008 -0800"
      },
      "message": "IPoIB: improve IPv4/IPv6 to IB mcast mapping functions\n\nAn IPoIB subnet on an IB fabric that spans multiple IB subnets can\u0027t\nuse link-local scope in multicast GIDs.  The existing routines that\nmap IP/IPv6 multicast addresses into IB link-level addresses hard-code\nthe scope to link-local, and they also leave the partition key field\nuninitialised.  This patch adds a parameter (the link-level broadcast\naddress) to the mapping routines, allowing them to initialise both the\nscope and the P_Key appropriately, and fixes up the call sites.\n\nThe next step will be to add a way to configure the scope for an IPoIB\ninterface.\n\nSigned-off-by: Rolf Manderscheid \u003crvm@obsidianresearch.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f945fa7ad9c12a3356a3de7fb2143ccc2f2c3bca",
      "tree": "2dd386474d0ab5e728af671c2b2eafdacc099f09",
      "parents": [
        "ff4b950277b6534caab2b2b956dba6ce29757551"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jan 22 22:39:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 23 03:11:43 2008 -0800"
      },
      "message": "[INET]: Fix truesize setting in ip_append_data\n\nAs it is ip_append_data only counts page fragments to the skb that\nallocated it.  As such it means that the first skb gets hit with a\n4K charge even though it might have only used a fraction of it while\nall subsequent skb\u0027s that use the same page gets away with no charge\nat all.\n\nThis bug was exposed by the UDP accounting patch.\n\n[ The wmem_alloc bumping needs to be moved with the truesize,\n  noticed by Takahiro Yasui.  -DaveM ]\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e34a11d55c9437775367d72ad03f9af99e78bd0",
      "tree": "d2b2daf8f433ae851faaf007ce9e6b0b33427cf0",
      "parents": [
        "4c93566e2a61b48ef071a8d8a8fa9904c83a668e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 22 23:44:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 23 03:11:40 2008 -0800"
      },
      "message": "[IPV4]: Add missing skb-\u003etruesize increment in ip_append_page().\n\nAnd as noted by Takahiro Yasui, we thus need to bump the\nsk-\u003esk_wmem_alloc at this spot as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b4d383a1a562de6955cacd72e20809064ee137f",
      "tree": "461579467e46a46611c8e3745bc9cb5fa7d41a99",
      "parents": [
        "fa95c28322a312a798a688c655458ab2079b72eb"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jan 21 03:39:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 21 03:39:45 2008 -0800"
      },
      "message": "[ICMP]: ICMP_MIB_OUTMSGS increment duplicated\n\nCommit \"96793b482540f3a26e2188eaf75cb56b7829d3e3\" (Add ICMPMsgStats\nMIB (RFC 4293)) made a mistake.\n\nIn that patch, David L added a icmp_out_count() in\nip_push_pending_frames(), remove icmp_out_count() from\nicmp_reply(). But he forgot to remove icmp_out_count() from\nicmp_send() too.  Since icmp_send and icmp_reply will call\nicmp_push_reply, which will call ip_push_pending_frames, a duplicated\nincrement happened in icmp_send.\n\nThis patch remove the icmp_out_count from icmp_send too.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d3f099abe25c21670cb5728178a1f286952782d",
      "tree": "074339fd500a3af4f89cab67c0a90bae81bc93a7",
      "parents": [
        "49d85c502ec5e6d5998c1a04394c5b24e8f7d32d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Jan 18 04:30:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 20 20:31:39 2008 -0800"
      },
      "message": "[IPV4] FIB_HASH : Avoid unecessary loop in fn_hash_dump_zone()\n\nI noticed \"ip route list\" was slower than \"cat /proc/net/route\" on a\nmachine with a full Internet routing table (214392 entries : Special\nthanks to Robert ;) )\n\nThis is similar to problem reported in commit\nd8c9283089287341c85a0a69de32c2287a990e71 (\"[IPV4] ROUTE: ip_rt_dump()\nis unecessary slow\")\n\nFix is to avoid scanning the begining of fz_hash table, but directly\nseek to the right offset.\n\nBefore patch :\n\ntime ip route \u003e/tmp/ROUTE\n\nreal    0m1.285s\nuser    0m0.712s\nsys     0m0.436s\n\nAfter patch\n\n# time ip route \u003e/tmp/ROUTE\n\nreal    0m0.835s\nuser    0m0.692s\nsys     0m0.124s\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6725033fa27c8f49e1221d2badbaaaf1ef459519",
      "tree": "6d011efcb23f7349b5a19c213f52cc17fe1c3def",
      "parents": [
        "bd566e7525b5986864e8d6eb5b67640abcd284a9"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Fri Jan 18 03:45:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 20 20:31:38 2008 -0800"
      },
      "message": "[IPV4] fib_trie: fix duplicated route issue\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9493\n\nThe fib allows making identical routes with \u0027ip route replace\u0027.\nThis patch makes the fib return -EEXIST if replacement would cause duplication.\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd566e7525b5986864e8d6eb5b67640abcd284a9",
      "tree": "ef53396f419171eb1db49803d84c0c8b50af0ca8",
      "parents": [
        "b3652b2dc5ec6ccd946ae9136b30c6babb81305a"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Fri Jan 18 03:44:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 20 20:31:37 2008 -0800"
      },
      "message": "[IPV4] fib_hash: fix duplicated route issue\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9493\n\nThe fib allows making identical routes with \u0027ip route replace\u0027.\nThis patch makes the fib return -EEXIST if replacement would cause duplication.\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bcceadceb0907094ba4e40bf9a7cd9b080f13fb",
      "tree": "6cec2343354c5a22107eb53da276ab744519033a",
      "parents": [
        "9cd40029423701c376391da59d2c6469672b4bed"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 10 03:55:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 03:55:57 2008 -0800"
      },
      "message": "[IPV4] ROUTE: fix rcu_dereference() uses in /proc/net/rt_cache\n\nIn rt_cache_get_next(), no need to guard seq-\u003eprivate by a\nrcu_dereference() since seq is private to the thread running this\nfunction. Reading seq.private once (as guaranted bu rcu_dereference())\nor several time if compiler really is dumb enough wont change the\nresult.\n\nBut we miss real spots where rcu_dereference() are needed, both in\nrt_cache_get_first() and rt_cache_get_next()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "877364e60edeea06efa8ceb9d29201f195af8a47",
      "tree": "9faedc7c3735ec04b0434b769e50fecc01dc5e6c",
      "parents": [
        "02f1c89d6e36507476f78108a3dcc78538be460b"
      ],
      "author": {
        "name": "Brice Goglin",
        "email": "Brice.Goglin@inria.fr",
        "time": "Mon Jan 07 22:09:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:30:18 2008 -0800"
      },
      "message": "[LRO] Fix lro_mgr-\u003efeatures checks\n\nlro_mgr-\u003efeatures contains a bitmask of LRO_F_* values which are\ndefined as power of two, not as bit indexes.\nThey must be checked with x\u0026LRO_F_FOO, not with test_bit(LRO_F_FOO,\u0026x).\n\nSigned-off-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nAcked-by: Andrew Gallatin \u003cgallatin@myri.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8c9283089287341c85a0a69de32c2287a990e71",
      "tree": "e504124cb4825357eed1665d988c3295b4649030",
      "parents": [
        "2b2b2e35b71e5be8bc06cc0ff38df15dfedda19b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Jan 07 21:52:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:30:16 2008 -0800"
      },
      "message": "[IPV4] ROUTE: ip_rt_dump() is unecessary slow\n\nI noticed \"ip route list cache x.y.z.t\" can be *very* slow.\n\nWhile strace-ing -T it I also noticed that first part of route cache\nis fetched quite fast :\n\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3772 \u003c0.000047\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3736 \u003c0.000042\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3740 \u003c0.000055\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3712 \u003c0.000043\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3732 \u003c0.000053\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3708 \u003c0.000052\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3680 \u003c0.000041\u003e\n\nwhile the part at the end of the table is more expensive:\n\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3656 \u003c0.003857\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3772 \u003c0.003891\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3712 \u003c0.003765\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3700 \u003c0.003879\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3676 \u003c0.003797\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3724 \u003c0.003856\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3736 \u003c0.003848\u003e\n\nThe following patch corrects this performance/latency problem,\nremoving quadratic behavior.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92ffb85dd33d62ac1dad8b44da62365f2aad413d",
      "tree": "248504c621af6bb50c9a399b9540c2e6500a1e30",
      "parents": [
        "f844c74fe07321953e2dd227fe35280075f18f60"
      ],
      "author": {
        "name": "Amos Waterland",
        "email": "apw@us.ibm.com",
        "time": "Sat Jan 05 23:23:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:29:58 2008 -0800"
      },
      "message": "[IPV4] ipconfig: Fix regression in ip command line processing\n\nThe recent changes for ip command line processing fixed some problems\nbut unfortunately broke some common usage scenarios.  In current\n2.6.24-rc6 the following command line results in no IP address\nassignment, which is surely a regression:\n\n ip\u003d10.0.2.15::10.0.2.2:255.255.255.0::eth0:off\n\nPlease find below a patch that works for all cases I can find.\n\nSigned-off-by: Amos Waterland \u003capw@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f844c74fe07321953e2dd227fe35280075f18f60",
      "tree": "045fedb426c7990ad254520cb413010acbbe0ab8",
      "parents": [
        "cb77df3ec88f07c6141924dfe6fd96a2f541cc09"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jan 05 23:14:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:29:57 2008 -0800"
      },
      "message": "[IPV4] raw: Strengthen check on validity of iph-\u003eihl\n\nWe currently check that iph-\u003eihl is bounded by the real length and that\nthe real length is greater than the minimum IP header length.  However,\nwe did not check the caes where iph-\u003eihl is less than the minimum IP\nheader length.\n\nThis breaks because some ip_fast_csum implementations assume that which\nis quite reasonable.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44344b2a85f03326c7047a8c861b0c625c674839",
      "tree": "fe578496a5c71a74500260a5f9bcced8d5299f22",
      "parents": [
        "14be85f555fa53a3b80119569e4c2fe88aa9fd3e"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Jan 04 00:56:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 04 03:55:34 2008 -0800"
      },
      "message": "[INET]: Fix netdev renaming and inet address labels\n\nWhen re-naming an interface, the previous secondary address\nlabels get lost e.g.\n\n  $\u003e brctl addbr foo\n  $\u003e ip addr add 192.168.0.1 dev foo\n  $\u003e ip addr add 192.168.0.2 dev foo label foo:00\n  $\u003e ip addr show dev foo | grep inet\n    inet 192.168.0.1/32 scope global foo\n    inet 192.168.0.2/32 scope global foo:00\n  $\u003e ip link set foo name bar\n  $\u003e ip addr show dev bar | grep inet\n    inet 192.168.0.1/32 scope global bar\n    inet 192.168.0.2/32 scope global bar:2\n\nTurns out to be a simple thinko in inetdev_changename() - clearly we\nwant to look at the address label, rather than the device name, for\na suffix to retain.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2072c228c9a05c004a230620196da7607cdcc5b6",
      "tree": "86516b5ea185dddb64734d2ea4e310118be13284",
      "parents": [
        "9cecd07c3f7a818a5865daad8cb5be408508dc99"
      ],
      "author": {
        "name": "Gavin McCullagh",
        "email": "gavin.mccullagh@nuim.ie",
        "time": "Sat Dec 29 19:11:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 29 19:11:21 2007 -0800"
      },
      "message": "[TCP]: use non-delayed ACK for congestion control RTT\n\nWhen a delayed ACK representing two packets arrives, there are two RTT\nsamples available, one for each packet.  The first (in order of seq\nnumber) will be artificially long due to the delay waiting for the\nsecond packet, the second will trigger the ACK and so will not itself\nbe delayed.\n\nAccording to rfc1323, the SRTT used for RTO calculation should use the\nfirst rtt, so receivers echo the timestamp from the first packet in\nthe delayed ack.  For congestion control however, it seems measuring\ndelayed ack delay is not desirable as it varies independently of\ncongestion.\n\nThe patch below causes seq_rtt and last_ackt to be updated with any\navailable later packet rtts which should have less (and hopefully\nzero) delack delay.  The rtt value then gets passed to\nca_ops-\u003epkts_acked().\n\nWhere TCP_CONG_RTT_STAMP was set, effort was made to supress RTTs from\nwithin a TSO chunk (!fully_acked), using only the final ACK (which\nincludes any TSO delay) to generate RTTs.  This patch removes these\nchecks so RTTs are passed for each ACK to ca_ops-\u003epkts_acked().\n\nFor non-delay based congestion control (cubic, h-tcp), rtt is\nsometimes used for rtt-scaling.  In shortening the RTT, this may make\nthem a little less aggressive.  Delay-based schemes (eg vegas, veno,\nillinois) should get a cleaner, more accurate congestion signal,\nparticularly for small cwnds.  The congestion control module can\npotentially also filter out bad RTTs due to the delayed ack alarm by\nlooking at the associated cnt which (where delayed acking is in use)\nshould probably be 1 if the alarm went off or greater if the ACK was\ntriggered by a packet.\n\nSigned-off-by: Gavin McCullagh \u003cgavin.mccullagh@nuim.ie\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cecd07c3f7a818a5865daad8cb5be408508dc99",
      "tree": "ab53cda73cb6873576f5fa6d100623d9c0aac5c8",
      "parents": [
        "1842c7f260dd24dad2dd8eded80904d7a6c5525f"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Dec 27 21:19:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 28 13:39:11 2007 -0800"
      },
      "message": "[IPV4] Fix ip\u003ddhcp regression\n\nDavid Brownell pointed out a regression in my recent \"Fix ip command\nline processing\" patch. It turns out to be a fairly blatant oversight on\nmy part whereby ic_enable is never set, and thus autoconfiguration is\nnever enabled. Clearly my testing was broken :-(\n\nThe solution that I have is to set ic_enable to 1 if we hit\nip_auto_config_setup(), which basically means that autoconfiguration is\nactivated unless told otherwise. I then flip ic_enable to 0 if ip\u003doff,\nip\u003dnone, ip\u003d::::::off or ip\u003d::::::none using ic_proto_name();\n\nThe incremental patch is below, let me know if a non-incremental version\nis prepared, as I did as for the original patch to be reverted pending a\nfix.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6c05c3d064dbb83be88cba3189beb5db9d2dfc3",
      "tree": "3520d14af7692de0e66525f94f62948f1dc759cf",
      "parents": [
        "ecef969e5b376f98b142e22deb1cec2f23e4f5d6"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Dec 25 20:54:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 26 19:36:36 2007 -0800"
      },
      "message": "[IPV4]: Fix ip command line processing.\n\nRecently the documentation in Documentation/nfsroot.txt was\nupdate to note that in fact ip\u003doff and ip\u003d::::::off as the\nlatter is ignored and the default (on) is used.\n\nThis was certainly a step in the direction of reducing confusion.\nBut it seems to me that the code ought to be fixed up so that\nip\u003d::::::off actually turns off ip autoconfiguration.\n\nThis patch also notes more specifically that ip\u003don (aka ip\u003d::::::on)\nis the default.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fae718ddaf2b00e222dddec6717aca023376723c",
      "tree": "a3ea0668f21555cca021f4d19ce5b22e6eca5c49",
      "parents": [
        "81100eb80add328c4d2a377326f15aa0e7236398"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Dec 24 21:09:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 26 19:36:33 2007 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack_ipv4: fix module parameter compatibility\n\nSome users do \"modprobe ip_conntrack hashsize\u003d...\". Since we have the\nmodule aliases this loads nf_conntrack_ipv4 and nf_conntrack, the\nhashsize parameter is unknown for nf_conntrack_ipv4 however and makes\nit fail.\n\nAllow to specify hashsize\u003d for both nf_conntrack and nf_conntrack_ipv4.\n\nNote: the nf_conntrack message in the ringbuffer will display an\nincorrect hashsize since nf_conntrack is first pulled in as a\ndependency and calculates the size itself, then it gets changed\nthrough a call to nf_conntrack_set_hashsize().\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d883a0367149506e8b7a3f31891d1ea30b9377f3",
      "tree": "d016dc1959372baa50e6d64f76ff14bbe3c8927b",
      "parents": [
        "1ac70e7ad24a88710cf9b6d7ababaefa2b575df0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Dec 21 02:01:53 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 21 02:01:53 2007 -0800"
      },
      "message": "[IPV4]: OOPS with NETLINK_FIB_LOOKUP netlink socket\n\n[ Regression added by changeset:\n\tcd40b7d3983c708aabe3d3008ec64ffce56d33b0\n\t[NET]: make netlink user -\u003e kernel interface synchronious\n  -DaveM ]\n\nnl_fib_input re-reuses incoming skb to send the reply. This means that this\npacket will be freed twice, namely in:\n- netlink_unicast_kernel\n- on receive path\nUse clone to send as a cure, the caller is responsible for kfree_skb on error.\n\nThanks to Alexey Dobryan, who originally found the problem.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e00ccd4a787fe03887f81467babcf8d057f8718d",
      "tree": "b92c8bb84f3b16fafc14061608f3a41937f2c6a3",
      "parents": [
        "c82381775062cd8d55579959e1fd710f0e607985"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Dec 20 14:05:03 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 20 14:05:03 2007 -0800"
      },
      "message": "[NETFILTER] ipv4: Spelling fixes\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d0691674764098304ae4c63c715f5883b4d3784",
      "tree": "37f3804b70ded513a0e8f1865bc64a6588354925",
      "parents": [
        "5951cab136d8b7e84696061dc2e69c402bc94f61"
      ],
      "author": {
        "name": "Timo Teras",
        "email": "timo.teras@iki.fi",
        "time": "Thu Dec 20 00:10:33 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 20 00:10:33 2007 -0800"
      },
      "message": "[IPV4] ip_gre: set mac_header correctly in receive path\n\nmac_header update in ipgre_recv() was incorrectly changed to\nskb_reset_mac_header() when it was introduced.\n\nSigned-off-by: Timo Teras \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0260feddf8a68301c75cdfff9ec251d5851b006",
      "tree": "e2de76fad9b970a547b848219c146b7534a87aa9",
      "parents": [
        "286e310f94b9459f3fa975333781c969b1041522"
      ],
      "author": {
        "name": "Mark Ryden",
        "email": "markryde@gmail.com",
        "time": "Wed Dec 19 23:38:11 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 19 23:38:11 2007 -0800"
      },
      "message": "[IPV4] ARP: Remove not used code\n\nIn arp_process() (net/ipv4/arp.c), there is unused code: definition\nand assignment of tha (target hw address ).\n\nSigned-off-by: Mark Ryden \u003cmarkryde@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "488faa2ae32c2f8b1ffda5c7fae5eb7c979acc15",
      "tree": "6e8eca37bbfd76d9c7875df6c5016c57dae316dd",
      "parents": [
        "cf6fc4a92400decda932e5ab97b46916919142b1"
      ],
      "author": {
        "name": "Satoru SATOH",
        "email": "satoru.satoh@gmail.com",
        "time": "Sun Dec 16 14:00:19 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 16 14:00:19 2007 -0800"
      },
      "message": "[IPV4]: Make tcp_input_metrics() get minimum RTO via tcp_rto_min()\n\ntcp_input_metrics() refers to the built-time constant TCP_RTO_MIN\nregardless of configured minimum RTO with iproute2.\n\nSigned-off-by: Satoru SATOH \u003csatoru.satoh@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f33e1d9fa20381afa3be7e7f560c59845bfa5cec",
      "tree": "4de2973e4f53cc8d10da205810e757ad0b998a40",
      "parents": [
        "f58adb757be48068e2bded3dd77ba072c22a10ff"
      ],
      "author": {
        "name": "Amos Waterland",
        "email": "apw@us.ibm.com",
        "time": "Fri Dec 14 11:30:22 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 14 13:54:40 2007 -0800"
      },
      "message": "[IPV4]: Updates to nfsroot documentation\n\nThe difference between ip\u003doff and ip\u003d::::::off has been a cause of much\nconfusion.  Document how each behaves, and do not contradict ourselves by\nsaying that \"off\" is the default when in fact \"any\" is the default and is\ndescibed as being so lower in the file.\n\nSigned-off-by: Amos Waterland \u003capw@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a18aa31b7774d8b36048e256a02d9d689533fc96",
      "tree": "095e8f12e838b819961adea85738c0a6e72048a9",
      "parents": [
        "f2a89004da23a5ed2d78ac5550ccda5b714fe7d0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Dec 12 10:35:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 14 13:54:35 2007 -0800"
      },
      "message": "[NETFILTER]: ip_tables: fix compat copy race\n\nWhen copying entries to user, the kernel makes two passes through the\ndata, first copying all the entries, then fixing up names and counters.\nOn the second pass it copies the kernel and match data from userspace\nto the kernel again to find the corresponding structures, expecting\nthat kernel pointers contained in the data are still valid.\n\nThis is obviously broken, fix by avoiding the second pass completely\nand fixing names and counters while dumping the ruleset, using the\nkernel-internal data structures.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2017a72c070033830b460d31cd4703f9d2ec0d56",
      "tree": "1f9b9cace02c54739fbc36430bd685ee4d0806fe",
      "parents": [
        "a4e65d36a959005f14142535b58c44cd0f1de8cb"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Dec 10 16:53:05 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Dec 11 02:45:26 2007 -0800"
      },
      "message": "[IPv4] ESP: Discard dummy packets introduced in rfc4303\n\nRFC4303 introduces dummy packets with a nexthdr value of 59\nto implement traffic confidentiality. Such packets need to\nbe dropped silently and the payload may not be attempted to\nbe parsed as it consists of random chunk.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4e65d36a959005f14142535b58c44cd0f1de8cb",
      "tree": "8f6e438dfb7e869387538bd4205c01ba05f665f1",
      "parents": [
        "1df2e44560c0d72f381126e52a3ba53614c1c484"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Dec 07 23:55:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Dec 11 02:45:25 2007 -0800"
      },
      "message": "[IPV4]: Swap the ifa allocation with the\"ipv4_devconf_setall\" call\n\nAccording to Herbert, the ipv4_devconf_setall should be called\nonly when the ifa is added to the device. However, failed\nifa allocation may bring things into inconsistent state.\n\nMove the call to ipv4_devconf_setall after the ifa allocation.\n\nFits both net-2.6 (with offsets) and net-2.6.25 (cleanly).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56c99d0415e8b778c200f115b198c126243ec351",
      "tree": "0e8c15e26681fbcaf5127c8238950c2c5c58a6ac",
      "parents": [
        "7f53878dc2618bf7c01e2135bd271ac01bd85dc9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Dec 06 02:19:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 07 01:07:38 2007 -0800"
      },
      "message": "[IPV4]: Remove prototype of ip_rt_advice\n\nip_rt_advice has been gone, so no need to keep prototype and debug message.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f53878dc2618bf7c01e2135bd271ac01bd85dc9",
      "tree": "9a0f0d7dcb2aba668f423b2f5392ab5ec290ec8f",
      "parents": [
        "ca46f9c834913fc5d5c196d70673375cdaba6b56"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Fri Dec 07 01:07:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 07 01:07:24 2007 -0800"
      },
      "message": "[IPv4]: Reply net unreachable ICMP message\n\nIPv4 stack doesn\u0027t reply any ICMP destination unreachable message\nwith net unreachable code when IP detagrams are being discarded\nbecause of no route could be found in the forwarding path.\nIncidentally, IPv6 stack replies such ICMPv6 message in the similar\nsituation.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "621544eb8c3beaa859c75850f816dd9b056a00a3",
      "tree": "15c4375c8899ced48bd751eb139cfe9b3778bda9",
      "parents": [
        "4e67d876ce07471e02be571038d5435a825f0215"
      ],
      "author": {
        "name": "Andrew Gallatin",
        "email": "gallatin@myri.com",
        "time": "Wed Dec 05 02:31:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:32 2007 -0800"
      },
      "message": "[LRO]: fix lro_gen_skb() alignment\n\nAdd a field to the lro_mgr struct so that drivers can specify how much\npadding is required to align layer 3 headers when a packet is copied\ninto a freshly allocated skb by inet_lro.c:lro_gen_skb().  Without\npadding, skbs generated by LRO will cause alignment warnings on\narchitectures which require strict alignment (seen on sparc64).\n\nMyri10GE is updated to use this field.\n\nSigned-off-by: Andrew Gallatin \u003cgallatin@myri.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e67d876ce07471e02be571038d5435a825f0215",
      "tree": "99735632828d178f6dd9bc9d036b6879bcdcbebe",
      "parents": [
        "52d3408150858a301a84bcbfe2f323d90d71d2ce"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Dec 05 02:25:32 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:31 2007 -0800"
      },
      "message": "[TCP]: NAGLE_PUSH seems to be a wrong way around\n\nThe comment in tcp_nagle_test suggests that. This bug is very\nvery old, even 2.4.0 seems to have it.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52d3408150858a301a84bcbfe2f323d90d71d2ce",
      "tree": "275691a21b251220257fac8932f71e77dbafbbc4",
      "parents": [
        "3e6f049e0c4cf0606207c1a210abf50b436e9adf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Dec 05 02:21:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:30 2007 -0800"
      },
      "message": "[TCP]: Move prior_in_flight collect to more robust place\n\nThe previous location is after sacktag processing, which affects\ncounters tcp_packets_in_flight depends on. This may manifest as\nwrong behavior if new SACK blocks are present and all is clear\nfor call to tcp_cong_avoid, which in the case of\ntcp_reno_cong_avoid bails out early because it thinks that\nTCP is not limited by cwnd.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e6f049e0c4cf0606207c1a210abf50b436e9adf",
      "tree": "1001162134823ffb936b0db5baf3b19a419a2e7e",
      "parents": [
        "92b05e13f16a41405c4f6c953c47b6c4bcf82d30"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Dec 05 02:20:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:29 2007 -0800"
      },
      "message": "[TCP] FRTO: Use of existing funcs make code more obvious \u0026 robust\n\nThough there\u0027s little need for everything that tcp_may_send_now\ndoes (actually, even the state had to be adjusted to pass some\nchecks FRTO does not want to occur), it\u0027s more robust to let it\nmake the decision if sending is allowed. State adjustments\nneeded:\n- Make sure snd_cwnd limit is not hit in there\n- Disable nagle (if necessary) through the frto_counter \u003d\u003d 2\n\nThe result of check for frto_counter in argument to call for\ntcp_enter_frto_loss can just be open coded, therefore there\nisn\u0027t need to store the previous frto_counter past\ntcp_may_send_now.\n\nIn addition, returns can then be combined.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ac63ad6c52e9cdefbcb54ec4575ab12b78b49d9",
      "tree": "e8ff9d5a9bbe01c68a95f71f1707cc24afa770d1",
      "parents": [
        "a014bc8f0f0a3a0cac4fef656f101cdfb77b71eb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 04 00:45:06 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:27 2007 -0800"
      },
      "message": "[IPVS]: Fix sched registration race when checking for name collision.\n\nThe register_ip_vs_scheduler() checks for the scheduler with the\nsame name under the read-locked __ip_vs_sched_lock, then drops,\ntakes it for writing and puts the scheduler in list.\n\nThis is racy, since we can have a race window between the lock\nbeing re-locked for writing.\n\nThe fix is to search the scheduler with the given name right under\nthe write-locked __ip_vs_sched_lock.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a014bc8f0f0a3a0cac4fef656f101cdfb77b71eb",
      "tree": "0b48fdff5525ddba1c64a8c0fd8c8fb6e1a9aeab",
      "parents": [
        "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 04 00:43:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:26 2007 -0800"
      },
      "message": "[IPVS]: Don\u0027t leak sysctl tables if the scheduler registration fails.\n\nIn case we load lblc or lblcr module we can leak some sysctl\ntables if the call to register_ip_vs_scheduler() fails.\n\nI\u0027ve looked at the register_ip_vs_scheduler() code and saw, that\nthe only reason to fail is the name collision, so I think that\nwith some 3rd party schedulers this becomes a relevant issue. No?\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d523a328fb0271e1a763e985a21f2488fd816e7e",
      "tree": "c877f39b7719531646d7066085f1fc2af39be5ed",
      "parents": [
        "2b1e300a9dfc3196ccddf6f1d74b91b7af55e416"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 03 15:51:25 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 03 15:51:25 2007 +1100"
      },
      "message": "[INET]: Fix inet_diag dead-lock regression\n\nThe inet_diag register fix broke inet_diag module loading because the\nloaded module had to take the same mutex that\u0027s already held by the\nloader in order to register the new handler.\n\nThis patch fixes it by introducing a separate mutex to protect the\nhandling of handlers.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a357dde9df33f28611e6a3d4f88265e39bcc8880",
      "tree": "181c8b1508a84ca30d32c779a508bb475fb96077",
      "parents": [
        "5e5234ff17ef98932688116025b30958bd28a940"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Nov 30 01:10:55 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 30 01:10:55 2007 +1100"
      },
      "message": "[TCP] illinois: Incorrect beta usage\n\nLachlan Andrew observed that my TCP-Illinois implementation uses the\nbeta value incorrectly:\n  The parameter  beta  in the paper specifies the amount to decrease\n  *by*:  that is, on loss,\n     W \u003c-  W -  beta*W\n  but in   tcp_illinois_ssthresh() uses  beta  as the amount\n  to decrease  *to*: W \u003c- beta*W\n\nThis bug makes the Linux TCP-Illinois get less-aggressive on uncongested network,\nhurting performance. Note: since the base beta value is .5, it has no\nimpact on a congested network.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "076931989fe96823a577259cc6bc205d7ec31754",
      "tree": "9a940f50bfef9b9b9e190696668612aed316b23e",
      "parents": [
        "82de382ce8e1c7645984616728dc7aaa057821e4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Nov 30 00:08:14 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 30 00:08:14 2007 +1100"
      },
      "message": "[INET]: Fix inet_diag register vs rcv race\n\nThe following race is possible when one cpu unregisters the handler\nwhile other one is trying to receive a message and call this one:\n\nCPU1:                                                 CPU2:\ninet_diag_rcv()                                       inet_diag_unregister()\n  mutex_lock(\u0026inet_diag_mutex);\n  netlink_rcv_skb(skb, \u0026inet_diag_rcv_msg);\n    if (inet_diag_table[nlh-\u003enlmsg_type] \u003d\u003d \n                               NULL) /* false handler is still registered */\n    ...\n    netlink_dump_start(idiagnl, skb, nlh,\n                           inet_diag_dump, NULL);\n           cb \u003d kzalloc(sizeof(*cb), GFP_KERNEL);\n                   /* sleep here freeing memory \n                    * or preempt\n                    * or sleep later on nlk-\u003ecb_mutex\n                    */\n                                                         spin_lock(\u0026inet_diag_register_lock);\n                                                         inet_diag_table[type] \u003d NULL;\n    ...                                                  spin_unlock(\u0026inet_diag_register_lock);\n                                                         synchronize_rcu();\n                                                         /* CPU1 is sleeping - RCU quiescent\n                                                          * state is passed\n                                                          */\n                                                         return;\n    /* inet_diag_dump is finally called: */\n    inet_diag_dump()\n      handler \u003d inet_diag_table[cb-\u003enlh-\u003enlmsg_type];\n      BUG_ON(handler \u003d\u003d NULL); \n      /* OOPS! While we slept the unregister has set\n       * handler to NULL :(\n       */\n\nGrep showed, that the register/unregister functions are called\nfrom init/fini module callbacks for tcp_/dccp_diag, so it\u0027s OK\nto use the inet_diag_mutex to synchronize manipulations with the\ninet_diag_table and the access to it.\n\nBesides, as Herbert pointed out, asynchronous dumps should hold \nthis mutex as well, and thus, we provide the mutex as cb_mutex one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "3660019e5f96fd9a8b7d4214a96523c0bf7b676d",
      "tree": "71f6f3fdd539473f5c6d9230c77a9b36d741ec90",
      "parents": [
        "2d4baff8da06f424a6fca10e26434c4926a7c3df"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Nov 26 23:17:53 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Nov 26 23:17:53 2007 +0800"
      },
      "message": "[IPV4]: Remove bogus ifdef mess in arp_process\n\nThe #ifdef\u0027s in arp_process() were not only a mess, they were also wrong \nin the CONFIG_NET_ETHERNET\u003dn and (CONFIG_NETDEV_1000\u003dy or \nCONFIG_NETDEV_10000\u003dy) cases.\n\nSince they are not required this patch removes them.\n\nAlso removed are some #ifdef\u0027s around #include\u0027s that caused compile \nerrors after this change.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7f9c33e515353ea91afc62341161fead19e78567",
      "tree": "3491ab469f790f6c5538de6e24e93c7bbe6a84b1",
      "parents": [
        "91cc17c0e5e5ada156a8d5787a2509d263ea6bbf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Nov 23 19:10:56 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 23 19:10:56 2007 +0800"
      },
      "message": "[TCP] MTUprobe: Cleanup send queue check (no need to loop)\n\nThe original code has striking complexity to perform a query\nwhich can be reduced to a very simple compare.\n\nFIN seqno may be included to write_seq but it should not make\nany significant difference here compared to skb-\u003elen which was\nused previously. One won\u0027t end up there with SYN still queued.\n\nUse of write_seq check guarantees that there\u0027s a valid skb in\nsend_head so I removed the extra check.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nAcked-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "91cc17c0e5e5ada156a8d5787a2509d263ea6bbf",
      "tree": "776cd7cf3438913d6a10b4071c528307eb4db50c",
      "parents": [
        "88c07ddec8c5e06aa331470076af27a397fc0993"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Nov 23 19:08:16 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 23 19:08:16 2007 +0800"
      },
      "message": "[TCP]: MTUprobe: receiver window \u0026 data available checks fixed\n\nIt seems that the checked range for receiver window check should\nbegin from the first rather than from the last skb that is going\nto be included to the probe. And that can be achieved without\nreference to skbs at all, snd_nxt and write_seq provides the\ncorrect seqno already. Plus, it SHOULD account packets that are\nnecessary to trigger fast retransmit [RFC4821].\n\nLocation of snd_wnd \u003c probe_size/size_needed check is bogus\nbecause it will cause the other if() match as well (due to\nsnd_nxt \u003e\u003d snd_una invariant).\n\nRemoved dead obvious comment.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "d535a916cdb1620d936a0a6197194c458854bd71",
      "tree": "1117969a146d7cc0a05c816e593e9ca1f661ebaf",
      "parents": [
        "b4a9811c42ecb70b2f0b375f6d4c77ab34d1f598"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Nov 20 17:44:01 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 20 17:44:01 2007 -0800"
      },
      "message": "[IPVS]: Fix compiler warning about unused register_ip_vs_protocol\n\nThis is silly, but I have turned the CONFIG_IP_VS to m,\nto check the compilation of one (recently sent) fix\nand set all the CONFIG_IP_VS_PROTO_XXX options to n to\nspeed up the compilation.\n\nIn this configuration the compiler warns me about\n\n  CC [M]  net/ipv4/ipvs/ip_vs_proto.o\nnet/ipv4/ipvs/ip_vs_proto.c:49: warning: \u0027register_ip_vs_protocol\u0027 defined but not used\n\nIndeed. With no protocols selected there are no\ncalls to this function - all are compiled out with\nifdefs.\n\nMaybe the best fix would be to surround this call with\nifdef-s or tune the Kconfig dependences, but I think that\nmarking this register function as __used is enough. No?\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4a9811c42ecb70b2f0b375f6d4c77ab34d1f598",
      "tree": "84cb96d0195a995b6d5bd5ca31c6c270e6097dbc",
      "parents": [
        "77adefdc9863d63f8d8bdc6a9adcdf9a6b0e2410"
      ],
      "author": {
        "name": "Jonas Danielsson",
        "email": "the.sator@gmail.com",
        "time": "Tue Nov 20 17:38:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 20 17:38:16 2007 -0800"
      },
      "message": "[ARP]: Fix arp reply when sender ip 0\n\nFix arp reply when received arp probe with sender ip 0.\n\nSend arp reply with target ip address 0.0.0.0 and target hardware\naddress set to hardware address of requester. Previously sent reply\nwith target ip address and target hardware address set to same as\nsource fields.\n\nSigned-off-by: Jonas Danielsson \u003cthe.sator@gmail.com\u003e\nAcked-by: Alexey Kuznetov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "354faf0977397cea382e9e9c214fd028377d277b",
      "tree": "5b3082736caaf676dcee2618db8cfb127a213f55",
      "parents": [
        "a80cc20da492d9a00b0851a6632dc03fed5d2e30"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Nov 20 17:30:31 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 20 17:30:31 2007 -0800"
      },
      "message": "[IPV4] TCPMD5: Use memmove() instead of memcpy() because we have overlaps.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a80cc20da492d9a00b0851a6632dc03fed5d2e30",
      "tree": "721cc20b229b5ed0156a4e1e390923b0f3c32625",
      "parents": [
        "53438e5d04f156dc36ff5cf44740262205bfb206"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Nov 20 17:30:06 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 20 17:30:06 2007 -0800"
      },
      "message": "[IPV4] TCPMD5: Omit redundant NULL check for kfree() argument.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f305323ff5b9ddc1a4346d36072bcdb58f3f68a",
      "tree": "aa4497ece78e8fe53113d6d39bca8a2159d88c7d",
      "parents": [
        "0a06ea87185531705e4417e3a051f81b64f210c1"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Tue Nov 20 04:27:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 20 04:27:35 2007 -0800"
      },
      "message": "[NETFILTER]: Fix kernel panic with REDIRECT target.\n\nWhen connection tracking entry (nf_conn) is about to copy itself it can\nhave some of its extension users (like nat) as being already freed and\nthus not required to be copied.\n\nActually looking at this function I suspect it was copied from\nnf_nat_setup_info() and thus bug was introduced.\n\nReport and testing from David \u003cdavid@unsolicited.net\u003e.\n\n[ Patrick McHardy states:\n\n\tI now understand whats happening:\n\n\t- new connection is allocated without helper\n\t- connection is REDIRECTed to localhost\n\t- nf_nat_setup_info adds NAT extension, but doesn\u0027t initialize it yet\n\t- nf_conntrack_alter_reply performs a helper lookup based on the\n\t   new tuple, finds the SIP helper and allocates a helper extension,\n\t   causing reallocation because of too little space\n\t- nf_nat_move_storage is called with the uninitialized nat extension\n\n\tSo your fix is entirely correct, thanks a lot :)  ]\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "464c4f184ac671c6206d502a67034f9bfe9fe25c",
      "tree": "f09baabf8b3dc700a3820c10bd7786a2a32f7586",
      "parents": [
        "4756daa3b63e806d8ef093c8b4b5f56ee34250a2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 23:46:29 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 23:46:29 2007 -0800"
      },
      "message": "[IPV4]: Add missing \"space\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5487796f0c9475586277a0a7a91211ce5746fa6a",
      "tree": "80ea156ec6f2b549706b57b267e1dcf327e0dde2",
      "parents": [
        "6e42141009ff18297fe19d19296738b742f861db"
      ],
      "author": {
        "name": "Sam Jansen",
        "email": "sjansen@google.com",
        "time": "Mon Nov 19 23:28:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 23:28:21 2007 -0800"
      },
      "message": "[TCP]: Problem bug with sysctl_tcp_congestion_control function\n\nFrom: \"Sam Jansen\" \u003csjansen@google.com\u003e\n\nsysctl_tcp_congestion_control seems to have a bug that prevents it\nfrom actually calling the tcp_set_default_congestion_control\nfunction. This is not so apparent because it does not return an error\nand generally the /proc interface is used to configure the default TCP\ncongestion control algorithm.  This is present in 2.6.18 onwards and\nprobably earlier, though I have not inspected 2.6.15--2.6.17.\n\nsysctl_tcp_congestion_control calls sysctl_string and expects a successful\nreturn code of 0. In such a case it actually sets the congestion control\nalgorithm with tcp_set_default_congestion_control. Otherwise, it returns the\nvalue returned by sysctl_string. This was correct in 2.6.14, as sysctl_string\nreturned 0 on success. However, sysctl_string was updated to return 1 on\nsuccess around about 2.6.15 and sysctl_tcp_congestion_control was not updated.\nEven though sysctl_tcp_congestion_control returns 1, do_sysctl_strategy\nconverts this return code to \u00270\u0027, so the caller never notices the error.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e42141009ff18297fe19d19296738b742f861db",
      "tree": "6bbe19922e9b24d0ce4df6effc45abcf0aa2af51",
      "parents": [
        "1f8170b0ecd8363847792b3b1f269e9d8e10391a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 19 23:24:09 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 23:24:09 2007 -0800"
      },
      "message": "[TCP] MTUprobe: fix potential sk_send_head corruption\n\nWhen the abstraction functions got added, conversion here was\nmade incorrectly. As a result, the skb may end up pointing\nto skb which got included to the probe skb and then was freed.\nFor it to trigger, however, skb_transmit must fail sending as\nwell.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9055fa1f3ded5ad858a55ae18439ed55227ee7eb",
      "tree": "d8ea30e4b8b53f3f6e47cb6c2823fc84d40bea60",
      "parents": [
        "9e103fa6bd53147e228e941256803a6b8927cdb9"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Nov 19 21:51:13 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 21:51:13 2007 -0800"
      },
      "message": "[IPVS]: Move remaining sysctl handlers over to CTL_UNNUMBERED\n\nSwitch the remaining IPVS sysctl entries over to to use CTL_UNNUMBERED,\nI stronly doubt that anyone is using the sys_sysctl interface to\nthese variables.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e103fa6bd53147e228e941256803a6b8927cdb9",
      "tree": "9460058bcf8d27f4a3f9f69103b896ff74cf6f0a",
      "parents": [
        "611cd55b155a89d9a0ce5f92a9cbabc5e284d0d4"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Nov 19 21:50:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 21:50:21 2007 -0800"
      },
      "message": "[IPVS]: Fix sysctl warnings about missing strategy in schedulers\n\nsysctl table check failed: /net/ipv4/vs/lblc_expiration .3.5.21.19 Missing strategy\n[...]\nsysctl table check failed: /net/ipv4/vs/lblcr_expiration .3.5.21.20 Missing strategy\n\nSwitch these entried over to use CTL_UNNUMBERED as clearly\nthe sys_syscal portion wasn\u0027t working.\n\nThis is along the same lines as Christian Borntraeger\u0027s patch that fixes\nup entries with no stratergy in net/ipv4/ipvs/ip_vs_ctl.c\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "611cd55b155a89d9a0ce5f92a9cbabc5e284d0d4",
      "tree": "369fe04d727a5ef83b2585f95604ce3092051021",
      "parents": [
        "21df56c6e2372e09c916111efb6c14c372a5ab2e"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Nov 19 21:49:25 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 21:49:25 2007 -0800"
      },
      "message": "[IPVS]: Fix sysctl warnings about missing strategy\n\nRunning the latest git code I get the following messages during boot:\nsysctl table check failed: /net/ipv4/vs/drop_entry .3.5.21.4 Missing strategy\n[...]\t\t  \nsysctl table check failed: /net/ipv4/vs/drop_packet .3.5.21.5 Missing strategy\n[...]\nsysctl table check failed: /net/ipv4/vs/secure_tcp .3.5.21.6 Missing strategy\n[...]\nsysctl table check failed: /net/ipv4/vs/sync_threshold .3.5.21.24 Missing strategy\n\nI removed the binary sysctl handler for those messages and also removed\nthe definitions in ip_vs.h. The alternative would be to implement a \nproper strategy handler, but syscall sysctl is deprecated.\n\nThere are other sysctl definitions that are commented out or work with \nthe default sysctl_data strategy. I did not touch these. \n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "483b23ffa3a5f44767038b0a676d757e0668437e",
      "tree": "0d3e90fba6499af90077e01ba3c4da48a7c9b1d8",
      "parents": [
        "b242e891c218162cfbae064b1a9136cdbed5ee53"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 16 02:29:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Nov 18 18:47:38 2007 -0800"
      },
      "message": "[NET]: Corrects a bug in ip_rt_acct_read()\n\nIt seems that stats of cpu 0 are counted twice, since\nfor_each_possible_cpu() is looping on all possible cpus, including 0\n\nBefore percpu conversion of ip_rt_acct, we should also remove the\nassumption that CPU 0 is online (or even possible)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d90bf5a976793edfa88d3bb2393f0231eb8ce1e5",
      "tree": "c664096ffb1f34413ef57e906b38a255bf57edd0",
      "parents": [
        "66ba886254edbbd9442d30f1eef6f6fb0145027d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 14 16:14:05 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 16:14:05 2007 -0800"
      },
      "message": "[NET]: rt_check_expire() can take a long time, add a cond_resched()\n\nOn commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b:\n\n\t[IPV4]: Convert rt_check_expire() from softirq processing to workqueue.\n\nwe converted rt_check_expire() from softirq to workqueue, allowing the\nfunction to perform all work it was supposed to do.\n\nWhen the IP route cache is big, rt_check_expire() can take a long time\nto run.  (default settings : 20% of the hash table is scanned at each\ninvocation)\n\nAdding cond_resched() helps giving cpu to higher priority tasks if\nnecessary.\n\nUsing a \"if (need_resched())\" test before calling \"cond_resched();\" is\nnecessary to avoid spending too much time doing the resched check.\n(My tests gave a time reduction from 88 ms to 25 ms per\nrt_check_expire() run on my i686 test machine)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1cd8f78f8cbfa314a095dbf704707217c8ee197",
      "tree": "3fd93e961b6e0d45813a03bf1c2087f8628ca7b1",
      "parents": [
        "c67625a1ecd7caf4c0490fc5278d6bb736a5297f"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Nov 14 15:55:09 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 15:55:09 2007 -0800"
      },
      "message": "[TCP] FRTO: Clear frto_highmark only after process_frto that uses it\n\nI broke this in commit 3de96471bd7fb76406e975ef6387abe3a0698149:\n\n\t[TCP]: Wrap-safed reordering detection FRTO check\n\ntcp_process_frto should always see a valid frto_highmark. An invalid\nfrto_highmark (zero) is very likely what ultimately caused a seqno\ncompare in tcp_frto_enter_loss to do the wrong leading to the LOST-bit\nleak.\n\nHaving LOST-bits integry ensured like done after commit\n23aeeec365dcf8bc87fae44c533e50d0bb4f23cc:\n\n\t[TCP] FRTO: Plug potential LOST-bit leak\n\nwon\u0027t hurt. It may still be useful in some other, possibly legimate,\nscenario.\n\nReported by Chazarain Guillaume \u003cguichaz@yahoo.fr\u003e.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96a2d41a3e495734b63bff4e5dd0112741b93b38",
      "tree": "4190a560eabaa8dd6a78c1bf2d43515605954874",
      "parents": [
        "fb93134dfc2a6e6fbedc7c270a31da03fce88db9"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Nov 14 15:47:18 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 15:47:18 2007 -0800"
      },
      "message": "[TCP]: Make sure write_queue_from does not begin with NULL ptr\n\nNULL ptr can be returned from tcp_write_queue_head to cached_skb\nand then assigned to skb if packets_out was zero. Without this,\nsystem is vulnerable to a carefully crafted ACKs which obviously\nis remotely triggerable.\n\nBesides, there\u0027s very little that needs to be done in sacktag\nif there weren\u0027t any packets outstanding, just skipping the rest\ndoesn\u0027t hurt.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23aeeec365dcf8bc87fae44c533e50d0bb4f23cc",
      "tree": "d4cbe2045d0e5c27492d184d77c2c2ed04995a75",
      "parents": [
        "746aa32d280084dbd520249170852e4616799928"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Nov 13 21:03:13 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 21:03:13 2007 -0800"
      },
      "message": "[TCP] FRTO: Plug potential LOST-bit leak\n\nIt might be possible that, in some extreme scenario that\nI just cannot now construct in my mind, end_seq \u003c\u003d\nfrto_highmark check does not match causing the lost_out\nand LOST bits become out-of-sync due to clearing and\nrecounting in the loop.\n\nThis may fix LOST-bit leak reported by Chazarain Guillaume\n\u003cguichaz@yahoo.fr\u003e.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "746aa32d280084dbd520249170852e4616799928",
      "tree": "1e09197fb7ab747dac8287cfca86951e52450c91",
      "parents": [
        "f0163ac45b40bd032b877c747796146d52d4e800"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Nov 13 21:01:23 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 21:01:23 2007 -0800"
      },
      "message": "[TCP] FRTO: Limit snd_cwnd if TCP was application limited\n\nOtherwise TCP might violate packet ordering principles that FRTO\nis based on. If conventional recovery path is chosen, this won\u0027t\nbe significant at all. In practice, any small enough value will\nbe sufficient to provide proper operation for FRTO, yet other\nusers of snd_cwnd might benefit from a \"close enough\" value.\n\nFRTO\u0027s formula is now equal to what tcp_enter_cwr() uses.\n\nFRTO used to check application limitedness a bit differently but\nI changed that in commit 575ee7140dabe9b9c4f66f4f867039b97e548867\nand as a result checking for application limitedness became\ncompletely non-existing.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0bf9cf15fc30d300b7fbd821c6bc975531fab44",
      "tree": "724d96429ab6aabe435b354ca282a9c5812b986c",
      "parents": [
        "d71209ded2ba6010070d02005384897c59859d00"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 13 02:57:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 02:57:16 2007 -0800"
      },
      "message": "[NETFILTER]: nf_nat: fix memset error\n\nThe size passing to memset is the size of a pointer.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d71209ded2ba6010070d02005384897c59859d00",
      "tree": "a812e34e54e36f74ce9ef61f6e9e42100d0a6ef4",
      "parents": [
        "22649d1afbe6988688a07fd70abb06f1e2213567"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 12 21:27:28 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 12 21:27:28 2007 -0800"
      },
      "message": "[INET]: Use list_head-s in inetpeer.c\n\nThe inetpeer.c tracks the LRU list of inet_perr-s, but makes\nit by hands. Use the list_head-s for this.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22649d1afbe6988688a07fd70abb06f1e2213567",
      "tree": "b749e74c9e2cf5dece5b0e8799282c1848672b73",
      "parents": [
        "6aed42159db1f99e83ccf17b1aa1a83bc75ac3e8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Nov 12 21:25:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 12 21:25:24 2007 -0800"
      },
      "message": "[IPVS]: Remove unused exports.\n\nThis patch removes the following unused EXPORT_SYMBOL\u0027s:\n- ip_vs_try_bind_dest\n- ip_vs_find_dest\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2994c63863ac350c4c8c6a65d8110749c2abb95c",
      "tree": "5509f71222641098683df1b1e0ff7bdfc2758b2c",
      "parents": [
        "33d36bb83c5b566c98a441e791736e25dbc35fc3"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Nov 10 22:12:03 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 22:12:03 2007 -0800"
      },
      "message": "[INET]: Small possible memory leak in FIB rules\n\nThis patch fixes a small memory leak. Default fib rules can be deleted by\nthe user if the rule does not carry FIB_RULE_PERMANENT flag, f.e. by\n\tip rule flush\n\nSuch a rule will not be freed as the ref-counter has 2 on start and becomes\nclearly unreachable after removal.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "358352b8b83c67ecf75f6d7bc3e2d64bf0cf506a",
      "tree": "37336ab2cca8f9acc66eff0da42a235c59c1384f",
      "parents": [
        "99f933263ac30eafbb008d01ac1dd0adf40fc343"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:48:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:48:54 2007 -0800"
      },
      "message": "[INET]: Cleanup the xfrm4_tunnel_(un)register\n\nBoth check for the family to select an appropriate tunnel list.\nConsolidate this check and make the for() loop more readable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99f933263ac30eafbb008d01ac1dd0adf40fc343",
      "tree": "938865bdfd6d2941ce28a12a8284446534330422",
      "parents": [
        "c2b42336f4a733020360157ba629d37f1410923a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:47:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:47:39 2007 -0800"
      },
      "message": "[INET]: Add missed tunnel64_err handler\n\nThe tunnel64_protocol uses the tunnel4_protocol\u0027s err_handler and\nthus calls the tunnel4_protocol\u0027s handlers.\n\nThis is not very good, as in case of (icmp) error the wrong error\nhandlers will be called (e.g. ipip ones instead of sit) and this\nwon\u0027t be noticed at all, because the error is not reported.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03f49f345749abc08bc84b835433c94eea6e972b",
      "tree": "8fad6fef152adaa473e2ab3a824cb04fe98b3bf1",
      "parents": [
        "b1667609cd9a98ce32559e06f36fca54c775a51f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:28:34 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:28:34 2007 -0800"
      },
      "message": "[NET]: Make helper to get dst entry and \"use\" it\n\nThere are many places that get the dst entry, increase the\n__use counter and set the \"lastuse\" time stamp.\n\nMake a helper for this.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1667609cd9a98ce32559e06f36fca54c775a51f",
      "tree": "4e3c5aa7add5c67434f3123723be0aff5fb6f9c2",
      "parents": [
        "fbd52eb2bd17bd3468974aa2fdce140f0cd32fc7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:26:41 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:26:41 2007 -0800"
      },
      "message": "[IPV4]: Remove bugus goto-s from ip_route_input_slow\n\nBoth places look like\n\n        if (err \u003d\u003d XXX) \n               goto yyy;\n   done:\n\nwhile both yyy targets look like\n\n        err \u003d XXX;\n        goto done;\n\nso this is ok to remove the above if-s.\n\nyyy labels are used in other places and are not removed.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbd52eb2bd17bd3468974aa2fdce140f0cd32fc7",
      "tree": "ca3b4363dba852caee16f388d48ff4ffe2cc2341",
      "parents": [
        "e49aa5d456802c6bec59b29d1d7cbd8e9cc71709"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Nov 10 21:24:19 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:24:19 2007 -0800"
      },
      "message": "[TCP]: Split SACK FRTO flag clearing (fixes FRTO corner case bug)\n\nIn case we run out of mem when fragmenting, the clearing of\nFLAG_ONLY_ORIG_SACKED might get missed which then feeds FRTO\nwith false information. Move clearing outside skb processing\nloop so that it will get executed even if the skb loop\nterminates prematurely due to out-of-mem.\n\nBesides, now the core of the loop truly deals with a single\nskb only, which also enables creation a more self-contained\nof tcp_sacktag_one later on.\n\nIn addition, small reorganization of if branches was made.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e49aa5d456802c6bec59b29d1d7cbd8e9cc71709",
      "tree": "2658f157fdf7d1430d97f6f08ae0f2634d56b4a5",
      "parents": [
        "c7caf8d3ed7a6617aa0a3083815c439bd952c45c"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Nov 10 21:23:08 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:23:08 2007 -0800"
      },
      "message": "[TCP]: Add unlikely() to sacktag out-of-mem in fragment case\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7caf8d3ed7a6617aa0a3083815c439bd952c45c",
      "tree": "54651b17cea03bbae8f7ea89f0e884ad369d9003",
      "parents": [
        "8dd71c5d28cd88d4400e7f474986e799e39aff37"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Nov 10 21:22:18 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:22:18 2007 -0800"
      },
      "message": "[TCP]: Fix reord detection due to snd_una covered holes\n\nFixes subtle bug like the one with fastpath_cnt_hint happening\ndue to the way the GSO and hints interact. Because hints are not\nreset when just a GSOed skb is partially ACKed, there\u0027s no\nguarantee that the relevant part of the write queue is going to\nbe processed in sacktag at all (skbs below snd_una) because\nfastpath hint can fast forward the entrypoint.\n\nThis was also on the way of future reductions in sacktag\u0027s skb\nprocessing. Also future cleanups in sacktag can be made after\nthis (in 2.6.25).\n\nThis may make reordering update in tcp_try_undo_partial\nredundant but I\u0027m not too sure so I left it there.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8dd71c5d28cd88d4400e7f474986e799e39aff37",
      "tree": "bf40818d0f79b579c20ab0273e7a5730352d442c",
      "parents": [
        "9e4505c459440a41fd466451cf840dec5c957eeb"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Nov 10 21:20:59 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:20:59 2007 -0800"
      },
      "message": "[TCP]: Consider GSO while counting reord in sacktag\n\nReordering detection fails to take account that the reordered\nskb may have pcount larger than 1. In such case the lowest of\nthem had the largest reordering, the old formula used the\nhighest of them which is pcount - 1 packets less reordered.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "230140cffa7feae90ad50bf259db1fa07674f3a7",
      "tree": "815472add31606423a508a17806b7884f0ab3e2e",
      "parents": [
        "efac52762b1e3fe3035d29e82d8ee1aebc45e4a7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 07 02:40:20 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:11 2007 -0800"
      },
      "message": "[INET]: Remove per bucket rwlock in tcp/dccp ehash table.\n\nAs done two years ago on IP route cache table (commit\n22c047ccbc68fa8f3fa57f0e8f906479a062c426) , we can avoid using one\nlock per hash bucket for the huge TCP/DCCP hash tables.\n\nOn a typical x86_64 platform, this saves about 2MB or 4MB of ram, for\nlitle performance differences. (we hit a different cache line for the\nrwlock, but then the bucket cache line have a better sharing factor\namong cpus, since we dirty it less often). For netstat or ss commands\nthat want a full scan of hash table, we perform fewer memory accesses.\n\nUsing a \u0027small\u0027 table of hashed rwlocks should be more than enough to\nprovide correct SMP concurrency between different buckets, without\nusing too much memory. Sizing of this table depends on\nnum_possible_cpus() and various CONFIG settings.\n\nThis patch provides some locking abstraction that may ease a future\nwork using a different model for TCP/DCCP table.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efac52762b1e3fe3035d29e82d8ee1aebc45e4a7",
      "tree": "3979958b12d4a3b326b657f52f960f013c6cb560",
      "parents": [
        "1e356f9cdfa885c78791d5d6e5d2baef22f01853"
      ],
      "author": {
        "name": "Rumen G. Bogdanovski",
        "email": "rumen@voicecho.com",
        "time": "Wed Nov 07 02:36:55 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:10 2007 -0800"
      },
      "message": "[IPVS]: Synchronize closing of Connections\n\nThis patch makes the master daemon to sync the connection when it is about\nto close.  This makes the connections on the backup to close or timeout\naccording their state.  Before the sync was performed only if the\nconnection is in ESTABLISHED state which always made the connections to\ntimeout in the hard coded 3 minutes. However the Andy Gospodarek\u0027s patch\n([IPVS]: use proper timeout instead of fixed value) effectively did nothing\nmore than increasing this to 15 minutes (Established state timeout).  So\nthis patch makes use of proper timeout since it syncs the connections on\nstatus changes to FIN_WAIT (2min timeout) and CLOSE (10sec timeout).\nHowever if the backup misses CLOSE hopefully it did not miss FIN_WAIT.\nOtherwise we will just have to wait for the ESTABLISHED state timeout. As\nit is without this patch.  This way the number of the hanging connections\non the backup is kept to minimum. And very few of them will be left to\ntimeout with a long timeout.\n\nThis is important if we want to make use of the fix for the real server\novercommit on master/backup fail-over.\n\nSigned-off-by: Rumen G. Bogdanovski \u003crumen@voicecho.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e356f9cdfa885c78791d5d6e5d2baef22f01853",
      "tree": "5ddd3064dd27fcca0ca3538842021cccf8ff74d9",
      "parents": [
        "c183783e28969e92f3df23f8b7e18d5c3e5bc8dd"
      ],
      "author": {
        "name": "Rumen G. Bogdanovski",
        "email": "rumen@voicecho.com",
        "time": "Wed Nov 07 02:35:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:09 2007 -0800"
      },
      "message": "[IPVS]: Bind connections on stanby if the destination exists\n\nThis patch fixes the problem with node overload on director fail-over.\nGiven the scenario: 2 nodes each accepting 3 connections at a time and 2\ndirectors, director failover occurs when the nodes are fully loaded (6\nconnections to the cluster) in this case the new director will assign\nanother 6 connections to the cluster, If the same real servers exist\nthere.\n\nThe problem turned to be in not binding the inherited connections to\nthe real servers (destinations) on the backup director. Therefore:\n\"ipvsadm -l\" reports 0 connections:\nroot@test2:~# ipvsadm -l\nIP Virtual Server version 1.2.1 (size\u003d4096)\nProt LocalAddress:Port Scheduler Flags\n  -\u003e RemoteAddress:Port           Forward Weight ActiveConn InActConn\nTCP  test2.local:5999 wlc\n  -\u003e node473.local:5999           Route   1000   0          0\n  -\u003e node484.local:5999           Route   1000   0          0\n\nwhile \"ipvs -lnc\" is right\nroot@test2:~# ipvsadm -lnc\nIPVS connection entries\npro expire state       source             virtual            destination\nTCP 14:56  ESTABLISHED 192.168.0.10:39164 192.168.0.222:5999\n192.168.0.51:5999\nTCP 14:59  ESTABLISHED 192.168.0.10:39165 192.168.0.222:5999\n192.168.0.52:5999\n\nSo the patch I am sending fixes the problem by binding the received\nconnections to the appropriate service on the backup director, if it\nexists, else the connection will be handled the old way. So if the\nmaster and the backup directors are synchronized in terms of real\nservices there will be no problem with server over-committing since\nnew connections will not be created on the nonexistent real services\non the backup. However if the service is created later on the backup,\nthe binding will be performed when the next connection update is\nreceived. With this patch the inherited connections will show as\ninactive on the backup:\n\nroot@test2:~# ipvsadm -l\nIP Virtual Server version 1.2.1 (size\u003d4096)\nProt LocalAddress:Port Scheduler Flags\n  -\u003e RemoteAddress:Port           Forward Weight ActiveConn InActConn\nTCP  test2.local:5999 wlc\n  -\u003e node473.local:5999           Route   1000   0          1\n  -\u003e node484.local:5999           Route   1000   0          1\n\nrumen@test2:~$ cat /proc/net/ip_vs\nIP Virtual Server version 1.2.1 (size\u003d4096)\nProt LocalAddress:Port Scheduler Flags\n  -\u003e RemoteAddress:Port Forward Weight ActiveConn InActConn\nTCP  C0A800DE:176F wlc\n  -\u003e C0A80033:176F      Route   1000   0          1\n  -\u003e C0A80032:176F      Route   1000   0          1\n\nRegards,\nRumen Bogdanovski\n\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Rumen G. Bogdanovski \u003crumen@voicecho.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "4999f3621f4da622e77931b3d33ada6c7083c705",
      "tree": "ffa9bb7dca58a314303fa6f3bc33c60fb92204ff",
      "parents": [
        "fffe470a803e7f7b74c016291e542a0162761209"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Nov 07 02:21:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:03 2007 -0800"
      },
      "message": "[IPSEC]: Fix crypto_alloc_comp error checking\n\nThe function crypto_alloc_comp returns an errno instead of NULL\nto indicate error.  So it needs to be tested with IS_ERR.\n\nThis is based on a patch by Vicenç Beltran Querol.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3e9a353d8fc64a82ab11a07e21902e25e1e96d1",
      "tree": "222e2a21bcceeb22818543029682fc94feb70f9d",
      "parents": [
        "6a9a025086ac70f0f285365cbaf1df8643266b72"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Nov 06 23:34:04 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:11:41 2007 -0800"
      },
      "message": "[IPV4]: Compact some ifdefs in the fib code.\n\nThere are places that check for CONFIG_IP_MULTIPLE_TABLES\ntwice in the same file, but the internals of these #ifdefs\ncan be merged.\n\nAs a side effect - remove one ifdef from inside a function.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47a31a6ffcca3b55149bccd5b99763e5eea60ac4",
      "tree": "de45b7c03799f16e717b9bf63b249bfe5f0f19a4",
      "parents": [
        "286ab3d46058840d68e5d7d52e316c1f7e98c59f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 05 23:39:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:58 2007 -0800"
      },
      "message": "[IPV4]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure\n\nTrivial patch to make \"tcp,udp,udplite,raw\" protocols uses the fast\n\"inuse sockets\" infrastructure\n\nEach protocol use then a static percpu var, instead of a dynamic one.\nThis saves some ram and some cpu cycles\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "286ab3d46058840d68e5d7d52e316c1f7e98c59f",
      "tree": "1d70e7895c49d2b148e026aa047efe186697fff9",
      "parents": [
        "91781004b9c029ee55b7aa9ef950a373ba865dc6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 05 23:38:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:57 2007 -0800"
      },
      "message": "[NET]: Define infrastructure to keep \u0027inuse\u0027 changes in an efficent SMP/NUMA way.\n\n\"struct proto\" currently uses an array stats[NR_CPUS] to track change on\n\u0027inuse\u0027 sockets per protocol.\n\nIf NR_CPUS is big, this means we use a big memory area for this.\nMoreover, all this memory area is located on a single node on NUMA\nmachines, increasing memory pressure on the boot node.\n\nIn this patch, I tried to :\n\n- Keep a fast !CONFIG_SMP implementation\n- Keep a fast CONFIG_SMP implementation for often used protocols\n(tcp,udp,raw,...)\n- Introduce a NUMA efficient implementation\n\nSome helper macros are defined in include/net/sock.h\nThese macros take into account CONFIG_SMP\n\nIf a \"struct proto\" is declared without using DEFINE_PROTO_INUSE /\nREF_PROTO_INUSE\nmacros, it will automatically use a default implementation, using a\ndynamically allocated percpu zone.\nThis default implementation will be NUMA efficient, but might use 32/64\nbytes per possible cpu\nbecause of current alloc_percpu() implementation.\nHowever it still should be better than previous implementation based on\nstats[NR_CPUS] field.\n\nWhen a \"struct proto\" is changed to use the new macros, we use a single\nstatic \"int\" percpu variable,\nlowering the memory and cpu costs, still preserving NUMA efficiency.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a9fb9479f2672fa392711735de9e642395c9a14",
      "tree": "16a27c604b453ed896b5f276467a233e6b39e78a",
      "parents": [
        "4e058063f49f53f6d75f707e36c82edee6d2e919"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 05 21:32:31 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:55 2007 -0800"
      },
      "message": "[IPV4]: Clean the ip_sockglue.c from some ugly ifdefs\n\nThe #idfed CONFIG_IP_MROUTE is sometimes places inside the if-s,\nwhich looks completely bad. Similar ifdefs inside the functions\nlooks a bit better, but they are also not recommended to be used.\n\nProvide an ifdef-ed ip_mroute_opt() helper to cleanup the code.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "429f08e950a88cd826b203ea898c2f2d0f7db9de",
      "tree": "7ee583efb040adb192c63734516b56849d7c6c10",
      "parents": [
        "e011ff48abc1b0ee97cde26b7700d2cca689e7c3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 05 21:03:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:25 2007 -0800"
      },
      "message": "[IPV4]: Consolidate the ip cork destruction in ip_output.c\n\nThe ip_push_pending_frames and ip_flush_pending_frames do the\nsame things to flush the sock\u0027s cork. Move this into a separate\nfunction and save ~80 bytes from the .text\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1332e0ab84479d941de5cf4a69c71dfd385a25e",
      "tree": "0b929b9c8bd91199afde839bbc7a806cffe0817e",
      "parents": [
        "0795c65d9f8de2bf9a62ae1f56e928c6b5ed75ab"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Nov 05 20:43:30 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:23 2007 -0800"
      },
      "message": "[NETFILTER]: remove unneeded rcu_dereference() calls\n\nAs noticed by Paul McKenney, the rcu_dereference calls in the init path\nof NAT modules are unneeded, remove them.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0795c65d9f8de2bf9a62ae1f56e928c6b5ed75ab",
      "tree": "bffc3aa0f608b83434f46119182426c332a6ad50",
      "parents": [
        "b98e1747eecc19b872572c5fffedc1868531dac6"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Nov 05 20:42:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:22 2007 -0800"
      },
      "message": "[NETFILTER]: Clean up Makefile\n\nSort matches and targets in the NF makefiles.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7351a22a3ae005422488139365e9a80f560c80b9",
      "tree": "566d9ccf3f7c6b0ecbb4bed84482e8511786d9c7",
      "parents": [
        "dbeeb816e805091e7cfc03baf36dc40b4adb2bbd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Mon Nov 05 20:33:46 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:20 2007 -0800"
      },
      "message": "[NETFILTER]: ip{,6}_queue: convert to seq_file interface\n\nI plan to kill -\u003eget_info which means killing proc_net_create().\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c46f2334c84c2b26baa64d42d75ddc5fab38c3dc",
      "tree": "4d7800effffe61bd3eaeae8f13e44466e4818b36",
      "parents": [
        "87ae9afdcada236d0a1b38ce2c465a65916961dc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 31 12:06:37 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:06 2007 +0100"
      },
      "message": "[SG] Get rid of __sg_mark_end()\n\nsg_mark_end() overwrites the page_link information, but all users want\n__sg_mark_end() behaviour where we just set the end bit. That is the most\nnatural way to use the sg list, since you\u0027ll fill it in and then mark the\nend point.\n\nSo change sg_mark_end() to only set the termination bit. Add a sg_magic\ndebug check as well, and clear a chain pointer if it is set.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "87ae9afdcada236d0a1b38ce2c465a65916961dc",
      "tree": "c885e589ff66daf4f860b19818228edb75b29530",
      "parents": [
        "013fb33972061ac65cdf3e1771267985e59deca1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 30 10:35:04 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:06 2007 +0100"
      },
      "message": "cleanup asm/scatterlist.h includes\n\nNot architecture specific code should not #include \u003casm/scatterlist.h\u003e.\n\nThis patch therefore either replaces them with\n#include \u003clinux/scatterlist.h\u003e or simply removes them if they were\nunused.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "261ab365fadd53ddc1b292b1663800e11fbf3e71",
      "tree": "18224fa6f7c36155837e7afcf958b10eb3f05273",
      "parents": [
        "e56d6cd6057aac1c6ed8e1590acd62b46e06201d"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Nov 01 00:10:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:10:18 2007 -0700"
      },
      "message": "[TCP]: Another TAGBITS -\u003e SACKED_ACKED|LOST conversion\n\nSimilar to commit 3eec0047d9bdd, point of this is to avoid\nskipping R-bit skbs.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e56d6cd6057aac1c6ed8e1590acd62b46e06201d",
      "tree": "2a0d5fc9066d70a8442e3d4895e97dd510c863f6",
      "parents": [
        "b1d08ac064268d0ae2281e98bf5e82627e0f0c56"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Nov 01 00:09:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:09:37 2007 -0700"
      },
      "message": "[TCP]: Process DSACKs that reside within a SACK block\n\nDSACK inside another SACK block were missed if start_seq of DSACK\nwas larger than SACK block\u0027s because sorting prioritizes full\nprocessing of the SACK block before DSACK. After SACK block\nsorting situation is like this:\n\n             SSSSSSSSS\n                  D\n                        SSSSSS\n                               SSSSSSS\n\nBecause write_queue is walked in-order, when the first SACK block\nhas been processed, TCP is already past the skb for which the\nDSACK arrived and we haven\u0027t taught it to backtrack (nor should\nwe), so TCP just continues processing by going to the next SACK\nblock after the DSACK (if any).\n\nWhenever such DSACK is present, do an embedded checking during\nthe previous SACK block.\n\nIf the DSACK is below snd_una, there won\u0027t be overlapping SACK\nblock, and thus no problem in that case. Also if start_seq of\nthe DSACK is equal to the actual block, it will be processed\nfirst.\n\nTested this by using netem to duplicate 15% of packets, and\nby printing SACK block when found_dup_sack is true and the \nselected skb in the dup_sack \u003d 1 branch (if taken):\n\n  SACK block 0: 4344-5792 (relative to snd_una 2019137317)\n  SACK block 1: 4344-5792 (relative to snd_una 2019137317) \n\nequal start seqnos \u003d\u003e next_dup \u003d 0, dup_sack \u003d 1 won\u0027t occur...\n\n  SACK block 0: 5792-7240 (relative to snd_una 2019214061)\n  SACK block 1: 2896-7240 (relative to snd_una 2019214061)\n  DSACK skb match 5792-7240 (relative to snd_una)\n\n...and next_dup \u003d 1 case (after the not shown start_seq sort),\nwent to dup_sack \u003d 1 branch.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51c739d1f484b2562040a3e496dc8e1670d4e279",
      "tree": "87b12c2330f2951deb1a435367907d15a5d938c3",
      "parents": [
        "07afa040252eb41f91f46f8e538b434a63122999"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 30 21:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 30 21:29:29 2007 -0700"
      },
      "message": "[NET]: Fix incorrect sg_mark_end() calls.\n\nThis fixes scatterlist corruptions added by\n\n\tcommit 68e3f5dd4db62619fdbe520d36c9ebf62e672256\n\t[CRYPTO] users: Fix up scatterlist conversion errors\n\nThe issue is that the code calls sg_mark_end() which clobbers the\nsg_page() pointer of the final scatterlist entry.\n\nThe first part fo the fix makes skb_to_sgvec() do __sg_mark_end().\n\nAfter considering all skb_to_sgvec() call sites the most correct\nsolution is to call __sg_mark_end() in skb_to_sgvec() since that is\nwhat all of the callers would end up doing anyways.\n\nI suspect this might have fixed some problems in virtio_net which is\nthe sole non-crypto user of skb_to_sgvec().\n\nOther similar sg_mark_end() cases were converted over to\n__sg_mark_end() as well.\n\nArguably sg_mark_end() is a poorly named function because it doesn\u0027t\njust \"mark\", it clears out the page pointer as a side effect, which is\nwhat led to these bugs in the first place.\n\nThe one remaining plain sg_mark_end() call is in scsi_alloc_sgtable()\nand arguably it could be converted to __sg_mark_end() if only so that\nwe can delete this confusing interface from linux/scatterlist.h\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07afa040252eb41f91f46f8e538b434a63122999",
      "tree": "d84046808facecda8793f96be92efaebebf6708f",
      "parents": [
        "1675c7b254cd37cb58921abd95cdfef36ae82059"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Oct 30 15:40:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 30 21:16:27 2007 -0700"
      },
      "message": "[IPVS]: Remove /proc/net/ip_vs_lblcr\n\nIt\u0027s under CONFIG_IP_VS_LBLCR_DEBUG option which never existed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e403149c92a2a0643211debbbb0a9ec7cc04cff7",
      "tree": "c3ef82a7fa02222aab2c3d3d79e644f8a1c95286",
      "parents": [
        "bdb76ef5a4bc8676a81034a443f1eda450b4babb"
      ],
      "author": {
        "name": "Dirk Hohndel",
        "email": "hohndel@linux.intel.com",
        "time": "Tue Oct 30 13:37:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 30 14:26:30 2007 -0700"
      },
      "message": "Kbuild/doc: fix links to Documentation files\n\nFix links to files in Documentation/* in various Kconfig files\n\nSigned-off-by: Dirk Hohndel \u003chohndel@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ccfe61803ad24f1c0fe5e1f5ce840ff0f3d9660",
      "tree": "5af62008d8e69df7866b7b3dd18db6a641e6b32f",
      "parents": [
        "e08a132b0ef3cf89dfbf1dea2c6248ea624bdcd7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "jdelvare@suse.de",
        "time": "Tue Oct 30 00:59:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 30 00:59:25 2007 -0700"
      },
      "message": "[TCP]: Saner thash_entries default with much memory.\n\nOn systems with a very large amount of memory, the heuristics in\nalloc_large_system_hash() result in a very large TCP established hash\ntable: 16 millions of entries for a 128 GB ia64 system. This makes\nreading from /proc/net/tcp pretty slow (well over a second) and as a\nresult netstat is slow on these machines. I know that /proc/net/tcp is\ndeprecated in favor of tcp_diag, however at the moment netstat only\nknows of the former.\n\nI am skeptical that such a large TCP established hash is often needed.\nJust because a system has a lot of memory doesn\u0027t imply that it will\nhave several millions of concurrent TCP connections. Thus I believe\nthat we should put an arbitrary high limit to the size of the TCP\nestablished hash by default. Users who really need a bigger hash can\nalways use the thash_entries boot parameter to get more.\n\nI propose 2 millions of entries as the arbitrary high limit. This\nmakes /proc/net/tcp reasonably fast on the system in question (0.2 s)\nwhile being still large enough for me to be confident that network\nperformance won\u0027t suffer.\n\nThis is just one way to limit the hash size, there are others; I am not\nfamiliar enough with the TCP code to decide which is best. Thus, I\nwould welcome the proposals of alternatives.\n\n[ 2 million is still too large, thus I\u0027ve modified the limit in the\n  change to be \u0027512 * 1024\u0027. -DaveM ]\n\nSigned-off-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "064f3605be6b9b77151274f60693843cabaa09ec",
      "tree": "d3d3a843f1905650645196dce5bab8724adb19d2",
      "parents": [
        "bf3c23d171e35e6e168074a1514b0acd59cfd81a"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Mon Oct 29 22:02:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 29 22:37:36 2007 -0700"
      },
      "message": "[IPv4] SNMP: Refer correct memory location to display ICMP out-going statistics\n\nWhile displaying ICMP out-going statistics as Out\u003cname\u003e counters in\n/proc/net/snmp, the memory location for ICMP in-coming statistics\nwas referred by mistake.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0a713e9e6091b30d0e615d2be88017a57f37c76",
      "tree": "b83975b197785e38a1535638cb326639c09abcc4",
      "parents": [
        "c940587bf603b4295a7f5e9ff8fed123368a1ef7"
      ],
      "author": {
        "name": "Matthias M. Dellweg",
        "email": "2500@gmx.de",
        "time": "Mon Oct 29 20:55:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 29 22:37:27 2007 -0700"
      },
      "message": "[TCP] MD5: Remove some more unnecessary casting.\n\nwhile reviewing the tcp_md5-related code further i came across with\nanother two of these casts which you probably have missed. I don\u0027t\nactually think that they impose a problem by now, but as you said we\nshould remove them.\n\nSigned-off-by: Matthias M. Dellweg \u003c2500@gmx.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c940587bf603b4295a7f5e9ff8fed123368a1ef7",
      "tree": "eb442c1632039667cdad235cdcc29cb5ca2976fc",
      "parents": [
        "5c81833c2f74304142be6dde5688bf444316da21"
      ],
      "author": {
        "name": "Xiaoliang (David) Wei",
        "email": "davidwei79@gmail.com",
        "time": "Mon Oct 29 20:24:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 29 22:37:25 2007 -0700"
      },
      "message": "[TCP] vegas: Fix a bug in disabling slow start by gamma parameter.\n\nTCP Vegas implementation has a bug in the process of disabling\nslow-start with gamma parameter. The bug may lead to extreme\nunfairness in the presence of early packet loss. See details in:\nhttp://www.cs.caltech.edu/~weixl/technical/ns2linux/known_linux/index.html#vegas\n\nSwitch the order of \"if (tp-\u003esnd_cwnd \u003c\u003d tp-\u003esnd_ssthresh)\" statement\nand \"if (diff \u003e gamma)\" statement to eliminate the problem.\n\nSigned-off-by: Xiaoliang (David) Wei \u003cdavidwei79@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c81833c2f74304142be6dde5688bf444316da21",
      "tree": "7024dc03b5241d6ad8e7edee0f370c9a15c64646",
      "parents": [
        "ad02ac145d49067a94bf8f3357c527020d5893ed"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Mon Oct 29 04:35:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 29 22:37:23 2007 -0700"
      },
      "message": "[IPVS]: use proper timeout instead of fixed value\n\nInstead of using the default timeout of 3 minutes, this uses the timeout\nspecific to the protocol used for the connection. The 3 minute timeout\nseems somewhat arbitrary (though I know it is used other places in the\nipvs code) and when failing over it would be much nicer to use one of\nthe configured timeout values.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68e3f5dd4db62619fdbe520d36c9ebf62e672256",
      "tree": "0a9b05227fc53cb72785a95298c643f5405fd7b4",
      "parents": [
        "a5a613a4291a8107008e4c40108a385cda71b08d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "message": "[CRYPTO] users: Fix up scatterlist conversion errors\n\nThis patch fixes the errors made in the users of the crypto layer during\nthe sg_init_table conversion.  It also adds a few conversions that were\nmissing altogether.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72998d8c84247817c4b8b05b0256f29453e435f5",
      "tree": "bc7bc54f94d4accd53fed13345bc219957a0bd3d",
      "parents": [
        "18134bed02e230a7876570072b0284635daaa32b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 26 22:53:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 22:53:58 2007 -0700"
      },
      "message": "[INET] ESP: Must #include \u003clinux/scatterlist.h\u003e\n\nThis patch fixes the following compile errors in some configurations:\n\n\u003c--  snip  --\u003e\n\n...\n  CC      net/ipv4/esp4.o\n/home/bunk/linux/kernel-2.6/git/linux-2.6/net/ipv4/esp4.c: In function \u0027esp_output\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/net/ipv4/esp4.c:113: error: implicit declaration of function \u0027sg_init_table\u0027\nmake[3]: *** [net/ipv4/esp4.o] Error 1\n...\n/home/bunk/linux/kernel-2.6/git/linux-2.6/net/ipv6/esp6.c: In function \u0027esp6_output\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/net/ipv6/esp6.c:112: error: implicit declaration of function \u0027sg_init_table\u0027\nmake[3]: *** [net/ipv6/esp6.o] Error 1\n\n\n\u003c--  snip  --\u003e\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4be2700fb7b95f2a7cef9324879cafccab8774fc",
      "tree": "8e3839c4e1c23c7d2b105f9ea45fb0891e3f0312",
      "parents": [
        "94d3b1e586f6d4c7150501bde284c544ce99073c"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Fri Oct 26 04:29:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 04:29:08 2007 -0700"
      },
      "message": "[NetLabel]: correct usage of RCU locking\n\nThis fixes some awkward, and perhaps even problematic, RCU lock usage in the\nNetLabel code as well as some other related trivial cleanups found when\nlooking through the RCU locking.  Most of the changes involve removing the\nredundant RCU read locks wrapping spinlocks in the case of a RCU writer.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94d3b1e586f6d4c7150501bde284c544ce99073c",
      "tree": "6c05886d3ee3ddc30f6b3fce3b6acb27eeab4300",
      "parents": [
        "43cc7380eced27ee9cafdf89fa32333dc3884e8b"
      ],
      "author": {
        "name": "Ryousei Takano",
        "email": "takano-ryousei@aist.go.jp",
        "time": "Fri Oct 26 04:27:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 04:27:59 2007 -0700"
      },
      "message": "[TCP]: fix D-SACK cwnd handling\n\nIn the current net-2.6 kernel, handling FLAG_DSACKING_ACK is broken.\nThe flag is cleared to 1 just after FLAG_DSACKING_ACK is set.\n\n        if (found_dup_sack)\n                flag |\u003d FLAG_DSACKING_ACK;\n\t:\n\tflag \u003d 1;\n\nTo fix it, this patch introduces a part of the tcp_sacktag_state patch:\n\thttp://marc.info/?l\u003dlinux-netdev\u0026m\u003d119210560431519\u0026w\u003d2\n\nSigned-off-by: Ryousei Takano \u003ctakano-ryousei@aist.go.jp\u003e\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39296ed6699df34fdfbf1b14281c07321a079a3d",
      "tree": "8834fae2700eb9e947cc588dc92582d6b6af8090",
      "parents": [
        "bbbb1a812de596958163779ae5b0806bc53a83f4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 26 04:06:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 04:06:08 2007 -0700"
      },
      "message": "[INET]: Unexport icmpmsg_statistics\n\nThis patch removes the unused EXPORT_SYMBOL(icmpmsg_statistics).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f79efdc23bd82035625083adf441e063a61f170",
      "tree": "3b618817658b35d920720610b785f7eff9e67079",
      "parents": [
        "d76081f87548f986fd318d2b0dd7e942f93a0da4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 26 03:57:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 03:57:36 2007 -0700"
      },
      "message": "[TCP]: Make tcp_match_skb_to_sack() static.\n\ntcp_match_skb_to_sack() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "c7da57a183a255f53caa73b1f688a01b097fa5bc"
}
