)]}'
{
  "log": [
    {
      "commit": "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23",
      "tree": "b5ae288b3c27d13bde9648c41d7db3cfe1884bc2",
      "parents": [
        "cb69cc52364690d7789940c480b3a9490784b680"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 18 17:33:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:04 2007 -0700"
      },
      "message": "[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution\n\nNow network timestamps use ktime_t infrastructure, we can add a new\nioctl() SIOCGSTAMPNS command to get timestamps in \u0027struct timespec\u0027.\nUser programs can thus access to nanosecond resolution.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb69cc52364690d7789940c480b3a9490784b680",
      "tree": "725cef0cfc7e43b0826490ccd99769baacf2977d",
      "parents": [
        "fe067e8ab5e0dc5ca3c54634924c628da92090b4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Mar 07 19:33:52 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:03 2007 -0700"
      },
      "message": "[TCP/DCCP/RANDOM]: Remove unused exports.\n\nThis patch removes the following not or no longer used exports:\n- drivers/char/random.c: secure_tcp_sequence_number\n- net/dccp/options.c: sysctl_dccp_feat_sequence_window\n- net/netlink/af_netlink.c: netlink_set_err\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe067e8ab5e0dc5ca3c54634924c628da92090b4",
      "tree": "98f5a6ebbb770f16682cfc52caea2da1e7eeb73b",
      "parents": [
        "02ea4923b4997d7e1310c027081f46d584b9d714"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 07 12:12:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:02 2007 -0700"
      },
      "message": "[TCP]: Abstract out all write queue operations.\n\nThis allows the write queue implementation to be changed,\nfor example, to one which allows fast interval searching.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02ea4923b4997d7e1310c027081f46d584b9d714",
      "tree": "804263fd5c5b4add5f4004d0eac0e9ce5583625a",
      "parents": [
        "b6d9bcb0697e60d5424e2f395fe950f0e22f4418"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 07 14:21:31 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:01 2007 -0700"
      },
      "message": "[NET] TIPC: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6d9bcb0697e60d5424e2f395fe950f0e22f4418",
      "tree": "1b918fe0a8507214cd6e0eecfb07d956d7e34c49",
      "parents": [
        "8f05ce91c8b801af106611ad83b1d8d7429b9b46"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 07 14:21:20 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:00 2007 -0700"
      },
      "message": "[NET] SCHED: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f05ce91c8b801af106611ad83b1d8d7429b9b46",
      "tree": "7fdf8adfbba7ddca8dabe51be5a70c47ee8adfc0",
      "parents": [
        "4412ec494868160d57da6e436a92b0696f40b19d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 07 14:21:00 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:59 2007 -0700"
      },
      "message": "[NET] NETFILTER: Use htonl() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4412ec494868160d57da6e436a92b0696f40b19d",
      "tree": "91bb2477d22a95801a5c487349e89acb464793ec",
      "parents": [
        "1c9e8ef7f731c2548414644e5bf540c38c85aff0"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 07 14:19:10 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:58 2007 -0700"
      },
      "message": "[NET] IPV4: Use hton{s,l}() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c9e8ef7f731c2548414644e5bf540c38c85aff0",
      "tree": "e72c4b96b3568ba18d9dfde96c6a6d586d0efca7",
      "parents": [
        "f576e24ffaf2c6b01af389e3bad3342681a8b84f"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 07 14:19:05 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:57 2007 -0700"
      },
      "message": "[NET] IEEE80211: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f576e24ffaf2c6b01af389e3bad3342681a8b84f",
      "tree": "bf4972ceb7680483e2df8c2ff401e1e80d246ca2",
      "parents": [
        "724800d61b8bc574a364707b6a6c6a6252e8cdb4"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 07 14:19:03 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:56 2007 -0700"
      },
      "message": "[NET] ETHERNET: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "724800d61b8bc574a364707b6a6c6a6252e8cdb4",
      "tree": "5da0b6eeaaa80e1fe550be7708a01ca466e212b9",
      "parents": [
        "aca3192cc60d2bf193c2252e45563c32e3117289"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Mar 25 20:13:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:55 2007 -0700"
      },
      "message": "[NET] CORE: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aca3192cc60d2bf193c2252e45563c32e3117289",
      "tree": "d73dc39ae9c9f499a026c56517604af21d63bfd9",
      "parents": [
        "acde4855bb8f5fba8bb065d35ff6ac8a94b3dfa8"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Mar 25 20:12:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:54 2007 -0700"
      },
      "message": "[NET] BLUETOOTH: Use cpu_to_le{16,32}() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acde4855bb8f5fba8bb065d35ff6ac8a94b3dfa8",
      "tree": "752be41a4b56e8a4c13759215d5a7c049c80a539",
      "parents": [
        "b93b7eebd328d5c1d171896fb823267539d4a0f6"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Mar 25 20:12:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:53 2007 -0700"
      },
      "message": "[NET] ATM: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b93b7eebd328d5c1d171896fb823267539d4a0f6",
      "tree": "652add75965e7829b903a4e92e3cd24d228f1011",
      "parents": [
        "2953fd246845f4d00af3717163f37b2ff4c5ce29"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Mar 25 20:12:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:53 2007 -0700"
      },
      "message": "[NET] 8021Q: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2953fd246845f4d00af3717163f37b2ff4c5ce29",
      "tree": "a66f03e86ffb44b201f4f876b6826ccce4232108",
      "parents": [
        "759e5d006462d53fb708daa8284b4ad909415da1"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Mar 25 20:11:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:52 2007 -0700"
      },
      "message": "[NET] 802: Use hton{s,l}() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "759e5d006462d53fb708daa8284b4ad909415da1",
      "tree": "edcc4e9d975199b3fe5e2aadc3d1e06824755e75",
      "parents": [
        "1ab6eb62b02e0949a392fb19bf31ba59ae1022b1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Mar 25 20:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:51 2007 -0700"
      },
      "message": "[UDP]: Clean up UDP-Lite receive checksum\n\nThis patch eliminates some duplicate code for the verification of\nreceive checksums between UDP-Lite and UDP.  It does this by\nintroducing __skb_checksum_complete_head which is identical to\n__skb_checksum_complete_head apart from the fact that it takes\na length parameter rather than computing the first skb-\u003elen bytes.\n\nAs a result UDP-Lite will be able to use hardware checksum offload\nfor packets which do not use partial coverage checksums.  It also\nmeans that UDP-Lite loopback no longer does unnecessary checksum\nverification.\n\nIf any NICs start support UDP-Lite this would also start working\nautomatically.\n\nThis patch removes the assumption that msg_flags has MSG_TRUNC clear\nupon entry in recvmsg.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ab6eb62b02e0949a392fb19bf31ba59ae1022b1",
      "tree": "1f4449baccd0de7fa900c39d04c78deebb79242b",
      "parents": [
        "243bbcaa09e8482aa28065cbc2eb99f0ca2fc8d6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 06 20:29:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:50 2007 -0700"
      },
      "message": "[UDP6]: Restore sk_filter optimisation\n\nThis reverts the changeset\n\n    [IPV6]: UDPv6 checksum.\n\n    We always need to check UDPv6 checksum because it is mandatory.\n\nThe sk_filter optimisation has nothing to do whether we verify the\nchecksum.  It simply postpones it to the point when the user calls\nrecv or poll.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "243bbcaa09e8482aa28065cbc2eb99f0ca2fc8d6",
      "tree": "e542a4ed151de034779fa311f8d89a55ac90f685",
      "parents": [
        "43e683926f808cec9802466c27cee7499eda3d11"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Mar 06 20:23:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:49 2007 -0700"
      },
      "message": "[IPV4]: Optimize inet_getpeer()\n\n1) Some sysctl vars are declared __read_mostly\n\n2) We can avoid updating stack[] when doing an AVL lookup only.\n\n    lookup() macro is extended to receive a second parameter, that may be NULL\nin case of a pure lookup (no need to save the AVL path). This removes\nunnecessary instructions, because compiler knows if this _stack parameter is\nNULL or not.\n\n    text size of net/ipv4/inetpeer.o is 2063 bytes instead of 2107 on x86_64\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43e683926f808cec9802466c27cee7499eda3d11",
      "tree": "869b0138282a4f4391906f805fbf272e51f296f7",
      "parents": [
        "c5f5877c043ca471c3a607fa2c864848b19bc49a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Mar 06 20:21:20 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:48 2007 -0700"
      },
      "message": "[TCP] TCP Yeah: cleanup\n\nEliminate need for full 6/4/64 divide to compute queue.\nVariable maxqueue was really a constant.\nFix indentation.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5f5877c043ca471c3a607fa2c864848b19bc49a",
      "tree": "b28d6cf22a0fc96f86a5c07a1b64cd8a2d3c7668",
      "parents": [
        "8570419fb7be0af84085ac8f13307392a748482c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 25 20:21:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:47 2007 -0700"
      },
      "message": "[TCP] tcp_cubic: faster cube root\n\nThe Newton-Raphson method is quadratically convergent so\nonly a small fixed number of steps are necessary.\nTherefore it is faster to unroll the loop. Since div64_64 is no longer\ninline it won\u0027t cause code explosion.\n\nAlso fixes a bug that can occur if x^2 was bigger than 32 bits.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8570419fb7be0af84085ac8f13307392a748482c",
      "tree": "1df16a424f6c9e12a768a17aa67367aa66ca7b33",
      "parents": [
        "fc910a27839584209726537698b596576940add4"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 06 20:19:26 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:46 2007 -0700"
      },
      "message": "[ATM] ENI: Convert to struct timeval to ktime_t.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc910a27839584209726537698b596576940add4",
      "tree": "e03b021dcb5046ffb1e8154f0f4d4bc72c4c1c1d",
      "parents": [
        "ca043569390c528de4cd5ec9e07502f2bf4ecd1f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 25 20:27:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:45 2007 -0700"
      },
      "message": "[NETLINK]: Limit NLMSG_GOODSIZE to 8K.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca043569390c528de4cd5ec9e07502f2bf4ecd1f",
      "tree": "939512ab133de1d85350e8ce5365f9daf4b2b63b",
      "parents": [
        "95c385b4d5a71b8ad552aecaa968ea46d7da2f6a"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Feb 28 23:13:20 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:44 2007 -0700"
      },
      "message": "[IPV6] ADDRCONF: Fix possible inet6_ifaddr leakage with CONFIG_OPTIMISTIC_DAD.\n\nThe inet6_ifaddr for source address of RS is leaked if the address\nis not an optimistic address.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c385b4d5a71b8ad552aecaa968ea46d7da2f6a",
      "tree": "49d8e60418cb4eeb0c9ed79fd095af50f6ec6623",
      "parents": [
        "502b093569e48db264831be7966e1c447de2f52f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Apr 25 17:08:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:43 2007 -0700"
      },
      "message": "[IPV6] ADDRCONF: Optimistic Duplicate Address Detection (RFC 4429) Support.\n\nNominally an autoconfigured IPv6 address is added to an interface in the\nTentative state (as per RFC 2462).  Addresses in this state remain in this\nstate while the Duplicate Address Detection process operates on them to\ndetermine their uniqueness on the network.  During this period, these\ntentative addresses may not be used for communication, increasing the time\nbefore a node may be able to communicate on a network.  Using Optimistic\nDuplicate Address Detection, autoconfigured addresses may be used\nimmediately for communication on the network, as long as certain rules are\nfollowed to avoid conflicts with other nodes during the Duplicate Address\nDetection process.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "502b093569e48db264831be7966e1c447de2f52f",
      "tree": "7b9bc3f76ce37d6f907cfe8fa18317ad11e6eb1c",
      "parents": [
        "3144581cb0b4b1ef897470195128cc1c8dc037b6"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Thu Nov 30 14:43:28 2006 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:42 2007 -0700"
      },
      "message": "[IPV6] IP6TUNNEL: Enable to control the handled inner protocol.\n\nip6_tunnel before supporting IPv4/IPv6 tunnel allows only IPPROTO_IPV6\nin configurations from userland. This allows userland to set IPPROTO_IPIP\nand 0(wildcard). ip6_tunnel only handles allowed inner protocols.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3144581cb0b4b1ef897470195128cc1c8dc037b6",
      "tree": "1d4dd794bcda78fdae4129348c8966c53f3818ad",
      "parents": [
        "c4d3efafcc933fd2ffd169d7dc4f980393a13796"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sat Feb 10 00:30:33 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:41 2007 -0700"
      },
      "message": "[IPV6] IP6TUNNEL: Rename functions ip6ip6_* to ip6_tnl_*.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4d3efafcc933fd2ffd169d7dc4f980393a13796",
      "tree": "01ecdc7128ae03c29acbd605589a56420bcf95ec",
      "parents": [
        "61ec2aec28ba8de09f76a558a5d6d3893b1d2e47"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Thu Feb 15 00:43:16 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:40 2007 -0700"
      },
      "message": "[IPV6] IP6TUNNEL: Add support to IPv4 over IPv6 tunnel.\n\nSome notes\n- Protocol number IPPROTO_IPIP is used for IPv4 over IPv6 packets.\n- If IP6_TNL_F_USE_ORIG_TCLASS is set, TOS in IPv4 header is copied to\n  Traffic Class in outer IPv6 header on xmit.\n- IP6_TNL_F_USE_ORIG_FLOWLABEL is ignored on xmit of IPv4 packets, because\n  IPv4 header does not have flow label.\n- Kernel sends ICMP error if IPv4 packet is too big on xmit, even if\n  DF flag is not set.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61ec2aec28ba8de09f76a558a5d6d3893b1d2e47",
      "tree": "50499ae5687150205a324fe3d79c4b022f6e3d67",
      "parents": [
        "8359925be8bb5960f614e3f25454f3ef7cc9df65"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sun Nov 05 22:56:45 2006 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:39 2007 -0700"
      },
      "message": "[IPV6] IP6TUNNEL: Split out generic routine in ip6ip6_xmit().\n\nThis enables to add IPv4/IPv6 specific handling later,\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8359925be8bb5960f614e3f25454f3ef7cc9df65",
      "tree": "4dd61c55544be0d6d1522d9ec2a4ad61b860058b",
      "parents": [
        "e490d1d85cf5e191791979e5f260d32eb4f703a8"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Fri Nov 03 09:39:14 2006 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:38 2007 -0700"
      },
      "message": "[IPV6] IP6TUNNEL: Split out generic routine in ip6ip6_rcv().\n\nThis enables to add IPv4/IPv6 specific handling later,\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e490d1d85cf5e191791979e5f260d32eb4f703a8",
      "tree": "7de61c8d4f1807ae2675889d06f16058b60fbac6",
      "parents": [
        "7159039a128fa0a73ca7b532f6e1d30d9885277f"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Tue Oct 31 23:11:25 2006 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:37 2007 -0700"
      },
      "message": "[IPV6] IP6TUNNEL: Split out generic routine in ip6ip6_err().\n\nThis enables to add IPv4/IPv6 specific error handling later,\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7159039a128fa0a73ca7b532f6e1d30d9885277f",
      "tree": "0d02459f9716d7fe5268c1bcbd9b1b9e531b882b",
      "parents": [
        "b558ff799977a4eda8b3823d1cf6c1c33becb671"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Feb 22 22:05:40 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:36 2007 -0700"
      },
      "message": "[IPV6]: Decentralize EXPORT_SYMBOLs.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "b558ff799977a4eda8b3823d1cf6c1c33becb671",
      "tree": "b68b90c1891120e2904fd5b68d9192ef6ae74d43",
      "parents": [
        "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 06 17:02:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:35 2007 -0700"
      },
      "message": "[NETLINK]: Mirror UDP MSG_TRUNC semantics.\n\nIf the user passes MSG_TRUNC in via msg_flags, return\nthe full packet size not the truncated size.\n\nIdea from Herbert Xu and Thomas Graf.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c",
      "tree": "4bc9d61031f4eb40d73887d6bde09e7d6bf2b259",
      "parents": [
        "3927f2e8f9afa3424bb51ca81f7abac01ffd0005"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 19 16:16:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:34 2007 -0700"
      },
      "message": "[NET]: convert network timestamps to ktime_t\n\nWe currently use a special structure (struct skb_timeval) and plain\n\u0027struct timeval\u0027 to store packet timestamps in sk_buffs and struct\nsock.\n\nThis has some drawbacks :\n- Fixed resolution of micro second.\n- Waste of space on 64bit platforms where sizeof(struct timeval)\u003d16\n\nI suggest using ktime_t that is a nice abstraction of high resolution\ntime services, currently capable of nanosecond resolution.\n\nAs sizeof(ktime_t) is 8 bytes, using ktime_t in \u0027struct sock\u0027 permits\na 8 byte shrink of this structure on 64bit architectures. Some other\nstructures also benefit from this size reduction (struct ipq in\nipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)\n\nOnce this ktime infrastructure adopted, we can more easily provide\nnanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or\nSO_TIMESTAMPNS/SCM_TIMESTAMPNS)\n\nNote : this patch includes a bug correction in\ncompat_sock_get_timestamp() where a \"err \u003d 0;\" was missing (so this\nsyscall returned -ENOENT instead of 0)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCC: John find \u003clinux.kernel@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3927f2e8f9afa3424bb51ca81f7abac01ffd0005",
      "tree": "da9e335169572e6c743c084edce6a802f9e667ee",
      "parents": [
        "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 25 19:54:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:33 2007 -0700"
      },
      "message": "[NET]: div64_64 consolidate (rev3)\n\nHere is the current version of the 64 bit divide common code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5",
      "tree": "69a3ca50c6e266853676a545a113f13f254ae535",
      "parents": [
        "39df232f1a9ba48d41c68ee7d4046756e709cf91"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sun Mar 04 16:12:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:32 2007 -0700"
      },
      "message": "[NET]: Convert xtime.tv_sec to get_seconds()\n\nWhere appropriate, convert references to xtime.tv_sec to the\nget_seconds() helper function.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39df232f1a9ba48d41c68ee7d4046756e709cf91",
      "tree": "8778c69e9b70f55d9c3161674887f3de217a0d6a",
      "parents": [
        "d5f1ce9a5e80fb315c86b036a89b1237fdf11938"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 04 16:11:51 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:31 2007 -0700"
      },
      "message": "[PKTGEN]: fix device name handling\n\nSince devices can change name and other wierdness, don\u0027t hold onto\na copy of device name, instead use pointer to output device.\n\nFix a couple of leaks in error handling path as well.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5f1ce9a5e80fb315c86b036a89b1237fdf11938",
      "tree": "2b483d400c7372060ad5d18fd02d0e5317bd0620",
      "parents": [
        "5fa6fc76f55c5c42fff52ae1d57a685b9373fcdc"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 04 16:08:08 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:30 2007 -0700"
      },
      "message": "[PKTGEN]: don\u0027t use __constant_htonl()\n\nThe existing htonl() macro is smart enough to do the same code as\nusing __constant_htonl() and it looks cleaner.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fa6fc76f55c5c42fff52ae1d57a685b9373fcdc",
      "tree": "e8933cb78972d499b1e6b469ae38dd02d66f54a2",
      "parents": [
        "25c4e53a4c9bfe45be52821f54ec5ce957519db2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 04 16:07:28 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:29 2007 -0700"
      },
      "message": "[PKTGEN]: use random32\n\nCan use random32() now.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25c4e53a4c9bfe45be52821f54ec5ce957519db2",
      "tree": "6dcb76921197aca57aa6e7b8553c666e407520fe",
      "parents": [
        "fa438ccfdfd3f6db02c13b61b21454eb81cd6a13"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 04 16:06:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:28 2007 -0700"
      },
      "message": "[PKTGEN]: use pr_debug\n\nRemove private debug macro and replace with standard version\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa438ccfdfd3f6db02c13b61b21454eb81cd6a13",
      "tree": "a1759259d7543586185e2fb9db21461147944f18",
      "parents": [
        "e317f6f69cb95527799d308a9421b7dc1252989a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 04 16:05:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:27 2007 -0700"
      },
      "message": "[NET]: Keep sk_backlog near sk_lock\n\nsk_backlog is a critical field of struct sock. (known famous words)\n\nIt is (ab)used in hot paths, in particular in release_sock(), tcp_recvmsg(),\ntcp_v4_rcv(), sk_receive_skb().\n\nIt really makes sense to place it next to sk_lock, because sk_backlog is only\nused after sk_lock locked (and thus memory cache line in L1 cache). This\nshould reduce cache misses and sk_lock acquisition time.\n\n(In theory, we could only move the head pointer near sk_lock, and leaving tail\nfar away, because \u0027tail\u0027 is normally not so hot, but keep it simple :) )\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e317f6f69cb95527799d308a9421b7dc1252989a",
      "tree": "141ff608a450f1d768383f300cc204db5904b20c",
      "parents": [
        "e01f9d7793be82e6c252efbd52c399d3eb65abe4"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Mar 02 13:34:19 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:26 2007 -0700"
      },
      "message": "[TCP]: FRTO undo response falls back to ratehalving one if ECEd\n\nUndoing ssthresh is disabled in fastretrans_alert whenever\nFLAG_ECE is set by clearing prior_ssthresh. The clearing does\nnot protect FRTO because FRTO operates before fastretrans_alert.\nMoving the clearing of prior_ssthresh earlier seems to be a\nsuboptimal solution to the FRTO case because then FLAG_ECE will\ncause a second ssthresh reduction in try_to_open (the first\noccurred when FRTO was entered). So instead, FRTO falls back\nimmediately to the rate halving response, which switches TCP to\nCA_CWR state preventing the latter reduction of ssthresh.\n\nIf the first ECE arrived before the ACK after which FRTO is able\nto decide RTO as spurious, prior_ssthresh is already cleared.\nThus no undoing for ssthresh occurs. Besides, FLAG_ECE should be\nset also in the following ACKs resulting in rate halving response\nthat sees TCP is already in CA_CWR, which again prevents an extra\nssthresh reduction on that round-trip.\n\nIf the first ECE arrived before RTO, ssthresh has already been\nadapted and prior_ssthresh remains cleared on entry because TCP\nis in CA_CWR (the same applies also to a case where FRTO is\nentered more than once and ECE comes in the middle).\n\nHigh_seq must not be touched after tcp_enter_cwr because CWR\nround-trip calculation depends on it.\n\nI believe that after this patch, FRTO should be ECN-safe and\neven able to take advantage of synergy benefits.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e01f9d7793be82e6c252efbd52c399d3eb65abe4",
      "tree": "105614d2762c048d4e30e9456156101650664266",
      "parents": [
        "89808060b7a71376cc2ba8092d43b2010da465b6"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Mar 02 13:27:25 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:25 2007 -0700"
      },
      "message": "[TCP]: Complete icsk-to-local-variable change (in tcp_enter_cwr)\n\nA local variable for icsk was created but this change was\nmissing. Spotted by Jarek Poplawski.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89808060b7a71376cc2ba8092d43b2010da465b6",
      "tree": "01aaf2372cb8675559cd00273645e12416189b6e",
      "parents": [
        "3cfe3baaf07c9e40a75f9a70662de56df1c246a8"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Feb 27 10:10:55 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:24 2007 -0700"
      },
      "message": "[TCP] Sysctl documentation: tcp_frto_response\n\nIn addition, fixed minor things in tcp_frto sysctl.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cfe3baaf07c9e40a75f9a70662de56df1c246a8",
      "tree": "989b2aff491b5df3aa0215f611a8c7f1360c67e9",
      "parents": [
        "c5e7af0df5d7234afd8596560d9f570cfc6c18bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Feb 27 10:09:49 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:23 2007 -0700"
      },
      "message": "[TCP]: Add two new spurious RTO responses to FRTO\n\nNew sysctl tcp_frto_response is added to select amongst these\nresponses:\n\t- Rate halving based; reuses CA_CWR state (default)\n\t- Very conservative; used to be the only one available (\u003d1)\n\t- Undo cwr; undoes ssthresh and cwnd reductions (\u003d2)\n\nThe response with rate halving requires a new parameter to\ntcp_enter_cwr because FRTO has already reduced ssthresh and\ndoing a second reduction there has to be prevented. In addition,\nto keep things nice on 80 cols screen, a local variable was\nadded.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5e7af0df5d7234afd8596560d9f570cfc6c18bf",
      "tree": "c01b2354803f79b65ab4d919570da156a761593b",
      "parents": [
        "e0ef57cc56c3c96493f9b0d6c77bb9608eeaa173"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Feb 23 16:22:06 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:22 2007 -0700"
      },
      "message": "[TCP]: Correct reordering detection change (no FRTO case)\n\nThe reordering detection must work also when FRTO has not been\nused at all which was the original intention of mine, just the\nexpression of the idea was flawed.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0ef57cc56c3c96493f9b0d6c77bb9608eeaa173",
      "tree": "df6c7b65456507354b35b7b318332a3c8d11f98e",
      "parents": [
        "54287cc178cf85dbae0decec8b4dc190bff757ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 22 22:52:59 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:21 2007 -0700"
      },
      "message": "[TCP]: Make snd_cwnd_clamp a u32.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54287cc178cf85dbae0decec8b4dc190bff757ad",
      "tree": "44dedf7be5ac37fae65718d359ff598902247753",
      "parents": [
        "cf4c6bf83d0fa070f60b1ba8124dfe0e65fbfbcc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Feb 22 03:20:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:21 2007 -0700"
      },
      "message": "[TCP]: Keep copied_seq, rcv_wup and rcv_next together.\n\nI noticed in oprofile study a cache miss in tcp_rcv_established() to read\ncopied_seq.\n\nffffffff80400a80 \u003ctcp_rcv_established\u003e: /* tcp_rcv_established total: 4034293  \n2.0400 */\n\n 55493  0.0281 :ffffffff80400bc9:   mov    0x4c8(%r12),%eax copied_seq\n543103  0.2746 :ffffffff80400bd1:   cmp    0x3e0(%r12),%eax   rcv_nxt    \n\nif (tp-\u003ecopied_seq \u003d\u003d tp-\u003ercv_nxt \u0026\u0026\n        len - tcp_header_len \u003c\u003d tp-\u003eucopy.len) {\n\nIn this function, the cache line 0x4c0 -\u003e 0x500 is used only for this\nreading \u0027copied_seq\u0027 field.\n\nrcv_wup and copied_seq should be next to rcv_nxt field, to lower number of\nactive cache lines in hot paths. (tcp_rcv_established(), tcp_poll(), ...)\n\nAs you suggested, I changed tcp_create_openreq_child() so that these fields\nare changed together, to avoid adding a new store buffer stall.\n\nPatch is 64bit friendly (no new hole because of alignment constraints)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf4c6bf83d0fa070f60b1ba8124dfe0e65fbfbcc",
      "tree": "8d598a6de7236439d31939a08d9bfe96224a2768",
      "parents": [
        "886236c1247ab5e2ad9c73f6e9a652e3ae3c8b07"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Feb 22 01:13:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:20 2007 -0700"
      },
      "message": "[TCP]: struct *sock argument renamed: sp -\u003e sk\n\nIn general, TCP code uses \"sk\" for struct sock pointer.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "886236c1247ab5e2ad9c73f6e9a652e3ae3c8b07",
      "tree": "f0ab2d6f6b6c98c6042be100db752c2d492669ae",
      "parents": [
        "5ef814753eb810d900fbd77af7c87f6d04f0e551"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Sun Mar 25 19:21:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:19 2007 -0700"
      },
      "message": "[TCP]: Add RFC3742 Limited Slow-Start, controlled by variable sysctl_tcp_max_ssthresh.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ef814753eb810d900fbd77af7c87f6d04f0e551",
      "tree": "5ef93769f33ea5676588aab48179a0c614e6275c",
      "parents": [
        "127af0c44fc916908abd145914d65b9fe598bcd7"
      ],
      "author": {
        "name": "Angelo P. Castellani",
        "email": "angelo.castellani@gmail.con",
        "time": "Thu Feb 22 00:23:05 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:18 2007 -0700"
      },
      "message": "[TCP] YeAH-TCP: algorithm implementation\n\nYeAH-TCP is a sender-side high-speed enabled TCP congestion control\nalgorithm, which uses a mixed loss/delay approach to compute the\ncongestion window. It\u0027s design goals target high efficiency, internal,\nRTT and Reno fairness, resilience to link loss while keeping network\nelements load as low as possible.\n\nFor further details look here:\n    http://wil.cs.caltech.edu/pfldnet2007/paper/YeAH_TCP.pdf\n\nSigned-off-by: Angelo P. Castellani \u003cangelo.castellani@gmail.con\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "127af0c44fc916908abd145914d65b9fe598bcd7",
      "tree": "d79b59f282431655d03cdd4587ef0d2fbe877c36",
      "parents": [
        "4dc2665e3634d720a62bd27128fc8781fcdad2dc"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:16:38 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:17 2007 -0700"
      },
      "message": "[TCP] FRTO: Sysctl documentation for SACK enhanced version\n\nThe description is overly verbose to avoid ambiguity between\n\"SACK enabled\" and \"SACK enhanced FRTO\"\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4dc2665e3634d720a62bd27128fc8781fcdad2dc",
      "tree": "6829101a6eeadb446e45b4a825f148988332d84b",
      "parents": [
        "288035f915686a9a9e85e0358c5392bb5d7ae58d"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:16:11 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:16 2007 -0700"
      },
      "message": "[TCP]: SACK enhanced FRTO\n\nImplements the SACK-enhanced FRTO given in RFC4138 using the\nvariant given in Appendix B.\n\nRFC4138, Appendix B:\n  \"This means that in order to declare timeout spurious, the TCP\n   sender must receive an acknowledgment for non-retransmitted\n   segment between SND.UNA and RecoveryPoint in algorithm step 3.\n   RecoveryPoint is defined in conservative SACK-recovery\n   algorithm [RFC3517]\"\n\nThe basic version of the FRTO algorithm can still be used also\nwhen SACK is enabled. To enabled SACK-enhanced version, tcp_frto\nsysctl is set to 2.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "288035f915686a9a9e85e0358c5392bb5d7ae58d",
      "tree": "fcf6684a8750e12f5bb9d3a7f70062a574b3ff03",
      "parents": [
        "66e93e45c09affa407750cc06398492e8b897848"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:14:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:15 2007 -0700"
      },
      "message": "[TCP]: Prevent reordering adjustments during FRTO\n\nTo be honest, I\u0027m not too sure how the reord stuff works in the\nfirst place but this seems necessary.\n\nWhen FRTO has been active, the one and only retransmission could\nbe unnecessary but the state and sending order might not be what\nthe sacktag code expects it to be (to work correctly).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66e93e45c09affa407750cc06398492e8b897848",
      "tree": "bcf65f7c29a3bd27eb386198560463f3eece7d41",
      "parents": [
        "d1a54c6a0a3f9c2c4ef71982d89b8571bd9eaa51"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:13:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:14 2007 -0700"
      },
      "message": "[TCP] FRTO: Fake cwnd for ssthresh callback\n\nTCP without FRTO would be in Loss state with small cwnd. FRTO,\nhowever, leaves cwnd (typically) to a larger value which causes\nssthresh to become too large in case RTO is triggered again\ncompared to what conventional recovery would do. Because\nconsecutive RTOs result in only a single ssthresh reduction,\nRTO+cumulative ACK+RTO pattern is required to trigger this\nevent.\n\nA large comment is included for congestion control module writers\ntrying to figure out what CA_EVENT_FRTO handler should do because\nthere exists a remote possibility of incompatibility between\nFRTO and module defined ssthresh functions.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1a54c6a0a3f9c2c4ef71982d89b8571bd9eaa51",
      "tree": "4edf68266db30b59cccd10194911bbfd5d123e38",
      "parents": [
        "46d0de4ed92650b95f27acae09914996bbe624e7"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:11:57 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:13 2007 -0700"
      },
      "message": "[TCP] FRTO: Reverse RETRANS bit clearing logic\n\nPreviously RETRANS bits were cleared on the entry to FRTO. We\npostpone that into tcp_enter_frto_loss, which is really the\nplace were the clearing should be done anyway. This allows\nsimplification of the logic from a clearing loop to the head skb\nclearing only.\n\nBesides, the other changes made in the previous patches to\ntcp_use_frto made it impossible for the non-SACKed FRTO to be\nentered if other than the head has been rexmitted.\n\nWith SACK-enhanced FRTO (and Appendix B), however, there can be\na number retransmissions in flight when RTO expires (same thing\ncould happen before this patchset also with non-SACK FRTO). To\nnot introduce any jumpiness into the packet counting during FRTO,\ninstead of clearing RETRANS bits from skbs during entry, do it\nlater on.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46d0de4ed92650b95f27acae09914996bbe624e7",
      "tree": "455e6a9772294ef16a88800709685797e1779b75",
      "parents": [
        "7c9a4a5b67926dd186d427bc5b9fce6ccbde154c"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:10:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:12 2007 -0700"
      },
      "message": "[TCP] FRTO: Entry is allowed only during (New)Reno like recovery\n\nThis interpretation comes from RFC4138:\n    \"If the sender implements some loss recovery algorithm other\n     than Reno or NewReno [FHG04], the F-RTO algorithm SHOULD\n     NOT be entered when earlier fast recovery is underway.\"\n\nI think the RFC means to say (especially in the light of\nAppendix B) that ...recovery is underway (not just fast recovery)\nor was underway when it was interrupted by an earlier (F-)RTO\nthat hasn\u0027t yet been resolved (snd_una has not advanced enough).\nThus, my interpretation is that whenever TCP has ever\nretransmitted other than head, basic version cannot be used\nbecause then the order assumptions which are used as FRTO basis\ndo not hold.\n\nNewReno has only the head segment retransmitted at a time.\nTherefore, walk up to the segment that has not been SACKed, if\nthat segment is not retransmitted nor anything before it, we know\nfor sure, that nothing after the non-SACKed segment should be\neither. This assumption is valid because TCPCB_EVER_RETRANS does\nnot leave holes but each non-SACKed segment is rexmitted\nin-order.\n\nCheck for retrans_out \u003e 1 avoids more expensive walk through the\nskb list, as we can know the result beforehand: F-RTO will not be\nallowed.\n\nSACKed skb can turn into non-SACked only in the extremely rare\ncase of SACK reneging, in this case we might fail to detect\nretransmissions if there were them for any other than head. To\nget rid of that feature, whole rexmit queue would have to be\nwalked (always) or FRTO should be prevented when SACK reneging\nhappens. Of course RTO should still trigger after reneging which\nmakes this issue even less likely to show up. And as long as the\nresponse is as conservative as it\u0027s now, nothing bad happens even\nthen.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c9a4a5b67926dd186d427bc5b9fce6ccbde154c",
      "tree": "8fe8dd5ab09fda204689dfc98fb03dbf99d58cf3",
      "parents": [
        "94d0ea7786714d78d7cb73144bb850254dd0bb78"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:08:34 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:11 2007 -0700"
      },
      "message": "[TCP]: Prevent unrelated cwnd adjustment while using FRTO\n\nFRTO controls cwnd when it still processes the ACK input or it\nhas just reverted back to conventional RTO recovery; the normal\nrules apply when FRTO has reverted to standard congestion\ncontrol.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94d0ea7786714d78d7cb73144bb850254dd0bb78",
      "tree": "f1164ec64d45fbfd978ec5f3a1f31ba628c6d8fe",
      "parents": [
        "52c63f1e86ebb18ef4b710b5b647e552a041e5ca"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:07:27 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:10 2007 -0700"
      },
      "message": "[TCP] FRTO: frto_counter modulo-op converted to two assignments\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52c63f1e86ebb18ef4b710b5b647e552a041e5ca",
      "tree": "3df85c27c8ba1f5e22d058dd2a0cb1f6850de777",
      "parents": [
        "aa8b6a7ad147dfbaaf10368ff15df9418b670d8b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:06:52 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:09 2007 -0700"
      },
      "message": "[TCP]: Don\u0027t enter to fast recovery while using FRTO\n\nBecause TCP is not in Loss state during FRTO recovery, fast\nrecovery could be triggered by accident. Non-SACK FRTO is more\nrobust than not yet included SACK-enhanced version (that can\nreceiver high number of duplicate ACKs with SACK blocks during\nFRTO), at least with unidirectional transfers, but under\nextraordinary patterns fast recovery can be incorrectly\ntriggered, e.g., Data loss+ACK losses \u003d\u003e cumulative ACK with\nenough SACK blocks to meet sacked_out \u003e\u003d dupthresh condition).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa8b6a7ad147dfbaaf10368ff15df9418b670d8b",
      "tree": "585faa6ca42629048ec71c0f8d374a845462a0fb",
      "parents": [
        "95c4922bf9330eb2c71b752359dd89c4e166f3c5"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:06:03 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:08 2007 -0700"
      },
      "message": "[TCP] FRTO: Response should reset also snd_cwnd_cnt\n\nSince purpose is to reduce CWND, we prevent immediate growth. This\nis not a major issue nor is \"the correct way\" specified anywhere.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c4922bf9330eb2c71b752359dd89c4e166f3c5",
      "tree": "97587ad7770afeca1196b3ef9d5b08bf4ee4fb95",
      "parents": [
        "6408d206c7484615ecae54bf6474a02c94e9e862"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:05:18 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:07 2007 -0700"
      },
      "message": "[TCP] FRTO: fixes fallback to conventional recovery\n\nThe FRTO detection did not care how ACK pattern affects to cwnd\ncalculation of the conventional recovery. This caused incorrect\nsetting of cwnd when the fallback becames necessary. The\nknowledge tcp_process_frto() has about the incoming ACK is now\npassed on to tcp_enter_frto_loss() in allowed_segments parameter\nthat gives the number of segments that must be added to\npackets-in-flight while calculating the new cwnd.\n\nInstead of snd_una we use FLAG_DATA_ACKED in duplicate ACK\ndetection because RFC4138 states (in Section 2.2):\n  If the first acknowledgment after the RTO retransmission\n  does not acknowledge all of the data that was retransmitted\n  in step 1, the TCP sender reverts to the conventional RTO\n  recovery.  Otherwise, a malicious receiver acknowledging\n  partial segments could cause the sender to declare the\n  timeout spurious in a case where data was lost.\n\nIf the next ACK after RTO is duplicate, we do not retransmit\nanything, which is equal to what conservative conventional\nrecovery does in such 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": "6408d206c7484615ecae54bf6474a02c94e9e862",
      "tree": "43dfb94f6da8445484d987aced10dd8d304bdc4e",
      "parents": [
        "7b0eb22b1d3b049306813a4aaa52966650f7491c"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:04:11 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:06 2007 -0700"
      },
      "message": "[TCP] FRTO: Ignore some uninteresting ACKs\n\nHandles RFC4138 shortcoming (in step 2); it should also have case\nc) which ignores ACKs that are not duplicates nor advance window\n(opposite dir data, winupdate).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b0eb22b1d3b049306813a4aaa52966650f7491c",
      "tree": "a5a126032d0c69b9c5977754d42efd301b7ab442",
      "parents": [
        "7487c48c4fd15d1e2542be1183b783562cfe10bc"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:03:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:05 2007 -0700"
      },
      "message": "[TCP] FRTO: Use Disorder state during operation instead of Open\n\nRetransmission counter assumptions are to be changed. Forcing\nreason to do this exist: Using sysctl in check would be racy\nas soon as FRTO starts to ignore some ACKs (doing that in the\nfollowing patches). Userspace may disable it at any moment\ngiving nice oops if timing is right. frto_counter would be\ninaccessible from userspace, but with SACK enhanced FRTO\nretrans_out can include other than head, and possibly leaving\nit non-zero after spurious RTO, boom again.\n\nLuckily, solution seems rather simple: never go directly to Open\nstate but use Disorder instead. This does not really change much,\nsince TCP could anyway change its state to Disorder during FRTO\nusing path tcp_fastretrans_alert -\u003e tcp_try_to_open (e.g., when\na SACK block makes ACK dubious). Besides, Disorder seems to be\nthe state where TCP should be if not recovering (in Recovery or\nLoss state) while having some retransmissions in-flight (see\ntcp_try_to_open), which is exactly what happens with FRTO.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7487c48c4fd15d1e2542be1183b783562cfe10bc",
      "tree": "7939c5dfcfcbcc0b0984879a237518e7ff636a7f",
      "parents": [
        "30935cf4f915c3178ce63331d6ff4c82163e26af"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:02:30 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:04 2007 -0700"
      },
      "message": "[TCP] FRTO: Consecutive RTOs keep prior_ssthresh and ssthresh\n\nIn case a latency spike causes more than one RTO, the later should not\ncause the already reduced ssthresh to propagate into the prior_ssthresh\nsince FRTO declares all such RTOs spurious at once or none of them. In\ntreating of ssthresh, we mimic what tcp_enter_loss() does.\n\nThe previous state (in frto_counter) must be available until we have\nchecked it in tcp_enter_frto(), and also ACK information flag in\nprocess_frto().\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30935cf4f915c3178ce63331d6ff4c82163e26af",
      "tree": "481acea11d681837c87d6da0a9bc848384ce4199",
      "parents": [
        "bdaae17da81db79b9aa4dfbf43305cfeef64f6a8"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:01:36 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:03 2007 -0700"
      },
      "message": "[TCP] FRTO: Comment cleanup \u0026 improvement\n\nMoved comments out from the body of process_frto() to the head\n(preferred way; see Documentation/CodingStyle). Bonus: it\u0027s much\neasier to read in this compacted form.\n\nFRTO algorithm and implementation is described in greater detail.\nFor interested reader, more information is available in RFC4138.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdaae17da81db79b9aa4dfbf43305cfeef64f6a8",
      "tree": "5dce126ae84073646c15417c30bd1b6b13660784",
      "parents": [
        "9ead9a1d385ae2c52a6dcf2828d84ce66be04fc2"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 22:59:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:02 2007 -0700"
      },
      "message": "[TCP] FRTO: Moved tcp_use_frto from tcp.h to tcp_input.c\n\nIn addition, removed inline.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ead9a1d385ae2c52a6dcf2828d84ce66be04fc2",
      "tree": "3346cc7d0428f213ac7d07c41d1d0accc4a741f9",
      "parents": [
        "522e7548a9bd40305df41c0beae69448b7620d6b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 22:56:19 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:01 2007 -0700"
      },
      "message": "[TCP] FRTO: Separated response from FRTO detection algorithm\n\nFRTO spurious RTO detection algorithm (RFC4138) does not include response\nto a detected spurious RTO but can use different response algorithms.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "522e7548a9bd40305df41c0beae69448b7620d6b",
      "tree": "a0972cff4f84295dd2004f868867e298bb3c3912",
      "parents": [
        "de46c33745f5e2ad594c72f2cf5f490861b16ce1"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 22:54:52 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:00 2007 -0700"
      },
      "message": "[TCP] FRTO: Incorrectly clears TCPCB_EVER_RETRANS bit\n\nFRTO was slightly too brave... Should only clear\nTCPCB_SACKED_RETRANS bit.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de46c33745f5e2ad594c72f2cf5f490861b16ce1",
      "tree": "59c7153a43c359c9d02e6bd2c745e765439c4ae8",
      "parents": [
        "2fb90b128aaf7758e3de22119515fb11174d4f23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 25 20:08:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 25 20:08:32 2007 -0700"
      },
      "message": "Linux 2.6.21\n\n.. ok, enough waffling about it already. \"Just do it!\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2fb90b128aaf7758e3de22119515fb11174d4f23",
      "tree": "082a1b9eaa0c17ca6ccae3aef03f58a77d60dc69",
      "parents": [
        "707abb7986293b24b83dba163ffc79d8895236f9",
        "5a68b2e346f043820e2ba0cde57cc75b4561c124"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 25 13:51:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 25 13:51:45 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [PARPORT] SUNBPP: Fix OOPS when debugging is enabled.\n  [SPARC] openprom: Switch to ref counting PCI API\n"
    },
    {
      "commit": "707abb7986293b24b83dba163ffc79d8895236f9",
      "tree": "e5f9d226ef9d864a11cfcc1df1fcd33ea0447523",
      "parents": [
        "cbc31a475a7f7748bd0a4e536533868e7cff8645",
        "1194ed0a3eb8076c8fbfe310f1ccbf229e8647de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 25 13:51:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 25 13:51:21 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NETLINK]: Infinite recursion in netlink.\n"
    },
    {
      "commit": "cbc31a475a7f7748bd0a4e536533868e7cff8645",
      "tree": "aef103b0ba0076988b7d5f8c967351443cb785b6",
      "parents": [
        "5044eed48886b105a123333fe7ca97c6bd496120"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 25 13:01:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 25 13:50:55 2007 -0700"
      },
      "message": "packet: fix error handling\n\nThe packet driver is assuming (reasonably) that the (undocumented)\nrequest.errors is an errno.  But it is in fact some mysterious bitfield.  When\nthings go wrong we return weird positive numbers to the VFS as pointers and it\ngoes oops.\n\nThanks to William Heimbigner for reporting and diagnosis.\n\n(It doesn\u0027t oops, but this driver still doesn\u0027t work for William)\n\nCc: William Heimbigner \u003cicxcnika@mar.tar.cc\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1194ed0a3eb8076c8fbfe310f1ccbf229e8647de",
      "tree": "3ec35f14c5e1a12a681629e0422cf9f0e254332f",
      "parents": [
        "5044eed48886b105a123333fe7ca97c6bd496120"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Wed Apr 25 13:07:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 25 13:07:28 2007 -0700"
      },
      "message": "[NETLINK]: Infinite recursion in netlink.\n\nReply to NETLINK_FIB_LOOKUP messages were misrouted back to kernel,\nwhich resulted in infinite recursion and stack overflow.\n\nThe bug is present in all kernel versions since the feature appeared.\n\nThe patch also makes some minimal cleanup:\n\n1. Return something consistent (-ENOENT) when fib table is missing\n2. Do not crash when queue is empty (does not happen, but yet)\n3. Put result of lookup\n\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5044eed48886b105a123333fe7ca97c6bd496120",
      "tree": "76233c2b177d9be75d3e1278b89ea5d3f7d87fcf",
      "parents": [
        "a23cf14b161b8deeb0f701d577a0e8be6365e247"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 25 11:53:48 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 25 08:41:48 2007 -0700"
      },
      "message": "cfq-iosched: fix alias + front merge bug\n\nThere\u0027s a really rare and obscure bug in CFQ, that causes a crash in\ncfq_dispatch_insert() due to rq \u003d\u003d NULL.  One example of the resulting\noops is seen here:\n\n\thttp://lkml.org/lkml/2007/4/15/41\n\nNeil correctly diagnosed the situation for how this can happen: if two\nconcurrent requests with the exact same sector number (due to direct IO\nor aliasing between MD and the raw device access), the alias handling\nwill add the request to the sortlist, but next_rq remains NULL.\n\nRead the more complete analysis at:\n\n\thttp://lkml.org/lkml/2007/4/25/57\n\nThis looks like it requires md to trigger, even though it should\npotentially be possible to due with O_DIRECT (at least if you edit the\nkernel and doctor some of the unplug calls).\n\nThe fix is to move the -\u003enext_rq update to when we add a request to the\nrbtree. Then we remove the possibility for a request to exist in the\nrbtree code, but not have -\u003enext_rq correctly updated.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a23cf14b161b8deeb0f701d577a0e8be6365e247",
      "tree": "7a8ca5ca9a4cab97063c9f2e4f7185997f2b362b",
      "parents": [
        "12145387a042e8aa4439485f8976e6992a529b12"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Apr 25 11:13:49 2007 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 19:26:06 2007 -0700"
      },
      "message": "IPv6: fix Routing Header Type 0 handling thinko\n\nOops, thinko.  The test for accempting a RH0 was exatly the wrong way\naround.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12145387a042e8aa4439485f8976e6992a529b12",
      "tree": "ae161089e3058663510033fa85ed05115ab3b550",
      "parents": [
        "6f4c5bdef2943d9ec074be32c437ca897016aaad",
        "68c9f75a0539db583db074059d54deb607d1a475"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 18:20:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 18:20:32 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [BNX2]: Fix occasional NETDEV WATCHDOG on 5709.\n  [IPV6]: Disallow RH0 by default.\n  [XFRM]: beet: fix pseudo header length value\n  [TCP]: Congestion control initialization.\n"
    },
    {
      "commit": "68c9f75a0539db583db074059d54deb607d1a475",
      "tree": "7c55bcd720a3189c61d40dad97638e232843fd0e",
      "parents": [
        "0bcbc92629044b5403719f77fb015e9005b1f504"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Tue Apr 24 15:35:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 24 15:35:53 2007 -0700"
      },
      "message": "[BNX2]: Fix occasional NETDEV WATCHDOG on 5709.\n\nTweak a register setting to prevent the tx mailbox from halting.\n\nUpdate version to 1.5.8.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bcbc92629044b5403719f77fb015e9005b1f504",
      "tree": "ac9635a8ac7b14edcaa0e5ad42a5bc70f778ec33",
      "parents": [
        "05d224468a273a9ee773a0e9d34227ee7f2c0840"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 14:58:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 24 14:58:30 2007 -0700"
      },
      "message": "[IPV6]: Disallow RH0 by default.\n\nA security issue is emerging.  Disallow Routing Header Type 0 by default\nas we have been doing for IPv4.\nNote: We allow RH2 by default because it is harmless.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f4c5bdef2943d9ec074be32c437ca897016aaad",
      "tree": "8a351227e115f08d2c505e08aae90d3cb53763b3",
      "parents": [
        "89d8ab6993e1d9f3c482ee8c862c03c528f696aa"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Apr 24 21:42:20 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Apr 24 22:10:18 2007 +0100"
      },
      "message": "[MIPS] Fix oprofile logic to physical counter remapping\n\nThis did cause oprofile to fail on non-multithreaded systems with more\nthan 2 processors such as the BCM1480.\n\nReported by Manish Lachwani (mlachwani@mvista.com).\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "89d8ab6993e1d9f3c482ee8c862c03c528f696aa",
      "tree": "d9adfe3c3d3e640bd5d7cacabef6c18f739fce22",
      "parents": [
        "d80a7920731a964b8c3492667a8069e5385ec794",
        "5efb764c8653c187912669629c14bb47242a5d05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 11:05:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 11:05:20 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:\n  drivers/net/hamradio/baycom_ser_fdx build fix\n  usb-net/pegasus: fix pegasus carrier detection\n  sis900: Allocate rx replacement buffer before rx operation\n  [netdrvr] depca: handle platform_device_add() failure\n"
    },
    {
      "commit": "5efb764c8653c187912669629c14bb47242a5d05",
      "tree": "e400ec061cf53e658ded9c95664fc9234973efbd",
      "parents": [
        "c43c49bd61fdb9bb085ddafcaadb17d06f95ec43"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 24 12:51:03 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 24 12:51:03 2007 -0400"
      },
      "message": "drivers/net/hamradio/baycom_ser_fdx build fix\n\nsparc64:\n\ndrivers/net/hamradio/baycom_ser_fdx.c: In function `ser12_open\u0027:\ndrivers/net/hamradio/baycom_ser_fdx.c:417: error: `NR_IRQS\u0027 undeclared (first us\ne in this function)\ndrivers/net/hamradio/baycom_ser_fdx.c:417: error: (Each undeclared identifier is\n reported only once\ndrivers/net/hamradio/baycom_ser_fdx.c:417: error: for each function it appears i\nn.)\n\nCc: Folkert van Heusden \u003cfolkert@vanheusden.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c43c49bd61fdb9bb085ddafcaadb17d06f95ec43",
      "tree": "fc65c3603ca9e3f0819fbddd1cd4e8a66c39ad5b",
      "parents": [
        "b748d9e3b80dc7e6ce6bf7399f57964b99a4104c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dcbw@redhat.com",
        "time": "Tue Apr 24 10:20:06 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 24 12:46:31 2007 -0400"
      },
      "message": "usb-net/pegasus: fix pegasus carrier detection\n\nBroken by 4a1728a28a193aa388900714bbb1f375e08a6d8e which switched the\nreturn semantics of read_mii_word() but didn\u0027t fix usage of\nread_mii_word() to conform to the new semantics.\n\nSetting carrier to off based on the NO_CARRIER flag is also incorrect as\nthat flag only triggers on TX failure and therefore isn\u0027t correct when\nno frames are being transmitted.  Since there is already a 2*HZ MII\ncarrier check going on, defer to that.\n\nAdd a TRUST_LINK_STATUS feature flag for adapters where the LINK_STATUS\nflag is actually correct, and use that rather than the NO_CARRIER flag.\n\nSigned-off-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b748d9e3b80dc7e6ce6bf7399f57964b99a4104c",
      "tree": "887909e1f735bb444ef0e3e370f34401fa6eee02",
      "parents": [
        "d91c088b39e3c66d309938de858775bb90fd1ead"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Apr 20 09:54:58 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 24 12:43:07 2007 -0400"
      },
      "message": "sis900: Allocate rx replacement buffer before rx operation\n\n\tThe sis900 driver appears to have a bug in which the receive routine\npasses the skbuff holding the received frame to the network stack before\nrefilling the buffer in the rx ring.  If a new skbuff cannot be allocated, the\ndriver simply leaves a hole in the rx ring, which causes the driver to stop\nreceiving frames and become non-recoverable without an rmmod/insmod according to\nreporters.  This patch reverses that order, attempting to allocate a replacement\nbuffer first, and receiving the new frame only if one can be allocated.  If no\nskbuff can be allocated, the current skbuf in the rx ring is recycled, dropping\nthe current frame, but keeping the NIC operational.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d91c088b39e3c66d309938de858775bb90fd1ead",
      "tree": "5ea1c77374e894b6218b764324fe1200290a4c40",
      "parents": [
        "4bf3631cdb012591667ab927fcd7719d92837833"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "a.righi@cineca.it",
        "time": "Tue Apr 24 12:40:57 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 24 12:40:57 2007 -0400"
      },
      "message": "[netdrvr] depca: handle platform_device_add() failure\n\nThe following patch fixes a kernel bug in depca_platform_probe().\n\nWe don\u0027t use a dynamic pointer for pldev-\u003edev.platform_data, so it seems\nthat the correct way to proceed if platform_device_add(pldev) fails is\nto explicitly set the pldev-\u003edev.platform_data pointer to NULL, before\ncalling the platform_device_put(pldev), or it will be kfree\u0027ed by\nplatform_device_release().\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d80a7920731a964b8c3492667a8069e5385ec794",
      "tree": "939624f80222654f52dcf54a08efc7903db03317",
      "parents": [
        "32bd33e21eeab63e7265bb3cba9ed94ab1ab816e",
        "8689b517be3e3f65f8ba20490beccca13c5879fa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 09:36:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 09:36:53 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6:\n  [PATCH] i386: Fix some warnings added by earlier patch\n  [PATCH] x86-64: Always flush all pages in change_page_attr\n  [PATCH] x86: Remove noreplacement option\n  [PATCH] x86-64: make GART PTEs uncacheable\n"
    },
    {
      "commit": "32bd33e21eeab63e7265bb3cba9ed94ab1ab816e",
      "tree": "c22b1dc22bdf57c586c1fb86f202353a061a7564",
      "parents": [
        "4bf3631cdb012591667ab927fcd7719d92837833",
        "01abc2aa0f447bce2f6beb06dd0607ba0f01c5bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 09:32:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 09:32:07 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:\n  Revert \"adjust legacy IDE resource setting (v2)\"\n"
    },
    {
      "commit": "4bf3631cdb012591667ab927fcd7719d92837833",
      "tree": "25976c75042f3aa557a7bc8ece781ea4901acc62",
      "parents": [
        "c5408b88ecb8b7127334a34c55d4e0174434f4ec"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Apr 23 14:41:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:09 2007 -0700"
      },
      "message": "8250: fix possible deadlock between serial8250_handle_port() and serial8250_interrupt()\n\nCommit 40b36daa introduced possibility that serial8250_backup_timeout() -\u003e\nserial8250_handle_port() locks port.lock without disabling irqs, thus\nallowing deadlock against interrupt handler (port.lock is acquired in\nserial8250_interrupt()).\n\nSpotted by lockdep.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Alex Williamson \u003calex.williamson@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5408b88ecb8b7127334a34c55d4e0174434f4ec",
      "tree": "3b9a736ae515a0754d581a621be6a132aa9c947d",
      "parents": [
        "98f85d30ced96ac466f30419de8b3fac341ebe75"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Apr 23 14:41:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:09 2007 -0700"
      },
      "message": "fault injection: add entry to MAINTAINERS\n\nAdd maintainer for fault injection support.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98f85d30ced96ac466f30419de8b3fac341ebe75",
      "tree": "7c43fb99c3586b03c4385e5aadd5ca5248274e2a",
      "parents": [
        "9b7f375505f5611efb562065b57814b28a81abc3"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Apr 23 14:41:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:09 2007 -0700"
      },
      "message": "Char: icom, mark __init as __devinit\n\nTwo functions are called from __devinit context, but they are marked as\n__init. Fix this.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b7f375505f5611efb562065b57814b28a81abc3",
      "tree": "3f51e49ca5b70081bf15f4ce9d7ddbd289917932",
      "parents": [
        "1a641fceb6bb6b0930db1aadbda1aaf5711d65d6"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Mon Apr 23 14:41:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:09 2007 -0700"
      },
      "message": "reiserfs: fix xattr root locking/refcount bug\n\nThe listxattr() and getxattr() operations are only protected by a read\nlock.  As a result, if either of these operations run in parallel, a race\ncondition exists where the xattr_root will end up being cached twice, which\nresults in the leaking of a reference and a BUG() on umount.\n\nThis patch refactors get_xa_root(), __get_xa_root(), and create_xa_root(),\ninto one get_xa_root() function that takes the appropriate locking around\nthe entire critical section.\n\nReported, diagnosed and tested by Andrea Righi \u003ca.righi@cineca.it\u003e\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Andrea Righi \u003ca.righi@cineca.it\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Edward Shishkin \u003cedward@namesys.com\u003e\nCc: Alex Zarochentsev \u003czam@namesys.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a641fceb6bb6b0930db1aadbda1aaf5711d65d6",
      "tree": "75088c0d0c3f4159cab93e4f5e6dfed565ac3dea",
      "parents": [
        "179fb0c726fa34a1ecbb9385a01c704babb9c0ab"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Apr 23 14:41:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "hwmon/w83627ehf: Don\u0027t redefine REGION_OFFSET\n\nOn ia64, kernel headers define REGION_OFFSET so we can\u0027t use that.\nReported by Andrew Morton.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: David Hubbard \u003cdavid.c.hubbard@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "179fb0c726fa34a1ecbb9385a01c704babb9c0ab",
      "tree": "164908cddcbb1426f1c0f320649186e334c01289",
      "parents": [
        "91fcd412e957f433e9f1abeb0b1926dbeb66ca80"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olaf@aepfle.de",
        "time": "Mon Apr 23 14:41:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "do not truncate irq number for icom adapter\n\nirq values are u32, not u8. Large irq numbers will be truncated,\nfree_irq may free a different irq.\n\nRemove incorrectly sized struct member and use the one from pci_dev.\n\nSigned-off-by: Olaf Hering \u003colaf@aepfle.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91fcd412e957f433e9f1abeb0b1926dbeb66ca80",
      "tree": "0ae836c99a78db1e4a962ce064c471a79c9e20f3",
      "parents": [
        "94e22e13ad063c614b458a019b428ffc118e5c06"
      ],
      "author": {
        "name": "Bastian Blank",
        "email": "bastian@waldi.eu.org",
        "time": "Mon Apr 23 14:41:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "Allow reading tainted flag as user\n\nThe commit 34f5a39899f3f3e815da64f48ddb72942d86c366 restricted reading\nof the tainted value. The attached patch changes this back to a\nwrite-only check and restores the read behaviour of older versions.\n\nSigned-off-by: Bastian Blank \u003cbastian@waldi.eu.org\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94e22e13ad063c614b458a019b428ffc118e5c06",
      "tree": "0153b6823516f3be23ab633ea08fb45561fab034",
      "parents": [
        "c959df9f01cfb2f43b4d1f58631ee1e9c50541b6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 23 14:41:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "acpi-thermal: fix mod_timer() interval\n\nUse relative time, not absolute.  Discovered by Jung-Ik (John) Lee\n\u003cjilee@google.com\u003e.\n\nCc: Jung-Ik (John) Lee \u003cjilee@google.com\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c959df9f01cfb2f43b4d1f58631ee1e9c50541b6",
      "tree": "79d8d52914ed1f8a96f124f267ebe44c1630e3b4",
      "parents": [
        "f51a5a9de86a948b9a30daab90fb003f51446dcd"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Mon Apr 23 14:41:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "v9fs: don\u0027t use primary fid when removing file\n\nv9fs_insert uses v9fs_fid_lookup (which also locks the fid) to get the\nprimary fid associated with the dentry and destroys the v9fs_fid struct\nafter removing the file.  If another process called v9fs_fid_lookup on the\nsame dentry, it may wait undefinitely for the fid\u0027s lock (as the struct is\nfreed).\n\nThis patch changes v9fs_remove to use a cloned fid, so the primary fid is\nnot locked and freed.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: Eric Van Hensbergen \u003cericvh@hera.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f51a5a9de86a948b9a30daab90fb003f51446dcd",
      "tree": "7f135ccca9693ed431d29934fa196870246e29c7",
      "parents": [
        "0e8c7d0fd5b4999675c7d5cd95d0eb7106b756b3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Apr 23 14:41:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "ieee1394: update MAINTAINERS database\n\n  - update Ben\u0027s address\n  - replace Ben\u0027s contact by mine as raw1394\u0027s 2nd contact\n  - eth1394\u0027s and pcilynx\u0027s maintenance doesn\u0027t really differ from that\n    of other parts of the stack like video1394\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Ben Collins \u003cben.collins@ubuntu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e8c7d0fd5b4999675c7d5cd95d0eb7106b756b3",
      "tree": "10b3236df34daab7420408ce88d80f09cfcdf99c",
      "parents": [
        "10ccaf4b7121fb839442be7e079baa8fd0b28caf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 23 14:41:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "page migration: fix NR_FILE_PAGES accounting\n\nNR_FILE_PAGES must be accounted for depending on the zone that the page\nbelongs to.  If we replace the page in the radix tree then we may have to\nshift the count to another zone.\n\nSuggested-by: Ethan Solomita \u003csolo@google.com\u003e\nEventually-typed-in-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Martin Bligh \u003cmbligh@mbligh.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10ccaf4b7121fb839442be7e079baa8fd0b28caf",
      "tree": "670ec3ea6583a76926f009aa5d58326e57277981",
      "parents": [
        "39a3bfdd3779636018ca0e2b8fe0a32378eed67b"
      ],
      "author": {
        "name": "Miguel Ojeda",
        "email": "maxextreme@gmail.com",
        "time": "Mon Apr 23 14:41:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "Fix spelling in drivers/video/Kconfig\n\nSigned-off-by: Miguel Ojeda Sandonis \u003cmaxextreme@gmail.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39a3bfdd3779636018ca0e2b8fe0a32378eed67b",
      "tree": "240252483432b65e053bbbd3dc9d24f00d399470",
      "parents": [
        "671d40f4aa20d31121695e33393c9bd87053f4fa"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Mon Apr 23 14:41:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "Add mbuesch to .mailmap\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "671d40f4aa20d31121695e33393c9bd87053f4fa",
      "tree": "21e7ef41258e7b6026f0f4784b46875ae338696a",
      "parents": [
        "f318a63ba018d1f30521b733e86fc2d0207e496b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Mon Apr 23 14:41:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "paride drivers: initialize spinlocks\n\npcd_lock and pf_spin_lock are passed to blk_init_queue() which, seeing them\nas valid lock pointer, sets it as -\u003equeue_lock.\n\nThe problem is that pcd_lock and pf_spin_lock aren\u0027t initialized anywhere.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f318a63ba018d1f30521b733e86fc2d0207e496b",
      "tree": "73bf2c90b3d7782234493d71d0920f987cb83000",
      "parents": [
        "7e40f2ab0a7e36706ee78b78b3792f08f208cd44"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Apr 23 14:41:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "MAINTAINERS: use lists.linux-foundation.org\n\nUpdate various mailing list addresses to use \"lists.linux-foundation.org\"\ninstead of \"lists.osdl.org\", to help phase out the old addresses.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "7e40f2ab0a7e36706ee78b78b3792f08f208cd44"
}
