)]}'
{
  "log": [
    {
      "commit": "23ca0c989e46924393f1d54bec84801d035dd28e",
      "tree": "4d7d997c52e517cc008702389d8c2f9bb2513301",
      "parents": [
        "73475339005dc68eb0bd2f6b1e93a3a39b628410"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 06 10:37:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 20:33:40 2009 -0800"
      },
      "message": "ipip: Fix handling of DF packets when pmtudisc is OFF\n\nRFC 2003 requires the outer header to have DF set if DF is set\non the inner header, even when PMTU discovery is off for the\ntunnel.  Our implementation does exactly that.\n\nFor this to work properly the IPIP gateway also needs to engate\nin PMTU when the inner DF bit is set.  As otherwise the original\nhost would not be able to carry out its PMTU successfully since\npart of the path is only visible to the gateway.\n\nUnfortunately when the tunnel PMTU discovery setting is off, we\ndo not collect the necessary soft state, resulting in blackholes\nwhen the original host tries to perform PMTU discovery.\n\nThis problem is not reproducible on the IPIP gateway itself as\nthe inner packet usually has skb-\u003elocal_df set.  This is not\ncorrectly cleared (an unrelated bug) when the packet passes\nthrough the tunnel, which allows fragmentation to occur.  For\nhosts behind the IPIP gateway it is readily visible with a simple\nping.\n\nThis patch fixes the problem by performing PMTU discovery for\nall packets with the inner DF bit set, regardless of the PMTU\ndiscovery setting on the tunnel itself.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9dd09c7f7199685601d75882447a6598be8a3e0",
      "tree": "98ab4a75ec6c74cdb4aa807c491002ba33de56c5",
      "parents": [
        "f5209b4446d185cc95f46363f8043a743530c15a"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Fri Nov 06 00:43:42 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:43:42 2009 -0800"
      },
      "message": "netfilter: nf_nat: fix NAT issue in 2.6.30.4+\n\nVitezslav Samel discovered that since 2.6.30.4+ active FTP can not work\nover NAT. The \"cause\" of the problem was a fix of unacknowledged data\ndetection with NAT (commit a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272).\nHowever, actually, that fix uncovered a long standing bug in TCP conntrack:\nwhen NAT was enabled, we simply updated the max of the right edge of\nthe segments we have seen (td_end), by the offset NAT produced with\nchanging IP/port in the data. However, we did not update the other parameter\n(td_maxend) which is affected by the NAT offset. Thus that could drift\naway from the correct value and thus resulted breaking active FTP.\n\nThe patch below fixes the issue by *not* updating the conntrack parameters\nfrom NAT, but instead taking into account the NAT offsets in conntrack in a\nconsistent way. (Updating from NAT would be more harder and expensive because\nit\u0027d need to re-calculate parameters we already calculated in conntrack.)\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e9526b352061ee0fd2a1580a2e3a5af960dabc4",
      "tree": "589ae8d9832a929acc68f58cdb8f8b84fb35978e",
      "parents": [
        "33cb7d33a1c36e07839d08a4d1a33bf6a0f70bba"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Oct 30 05:51:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:28:07 2009 -0700"
      },
      "message": "gre: Fix dev_addr clobbering for gretap\n\nNathan Neulinger noticed that gretap devices get their MAC address\nfrom the local IP address, which results in invalid MAC addresses\nhalf of the time.\n\nThis is because gretap is still using the tunnel netdev ops rather\nthan the correct tap netdev ops struct.\n\nThis patch also fixes changelink to not clobber the MAC address\nfor the gretap case.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nTested-by: Nathan Neulinger \u003cnneul@mst.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d410c796067686b1e032d54ce475b7055537138",
      "tree": "4442bdbe4a4be1cce024f2e83a12b7404ef935fa",
      "parents": [
        "63ca2d74ea4f9c7a7ac082c915609a7b224908e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 30 05:03:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:25:12 2009 -0700"
      },
      "message": "net: fix sk_forward_alloc corruption\n\nOn UDP sockets, we must call skb_free_datagram() with socket locked,\nor risk sk_forward_alloc corruption. This requirement is not respected\nin SUNRPC.\n\nAdd a convenient helper, skb_free_datagram_locked() and use it in SUNRPC\n\nReported-by: Francis Moreau \u003cfrancis.moro@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0c110ca8e89f2c9cd52ec7fb1b98c5b7aa78496",
      "tree": "613bb6966bce4b5dc63e5090aff04254f7dbb709",
      "parents": [
        "14d18a81b5171d4433e41129619c75748b4f4d26"
      ],
      "author": {
        "name": "jamal",
        "email": "hadi@cyberus.ca",
        "time": "Sun Oct 18 02:12:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 22:49:12 2009 -0700"
      },
      "message": "net: Fix RPF to work with policy routing\n\nPolicy routing is not looked up by mark on reverse path filtering.\nThis fixes it.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55888dfb6ba7e318bb3d6a44d25009906206bf6a",
      "tree": "f78100527fdc2aa7d9626fd1c2475f0a8ee7a342",
      "parents": [
        "f552ce5fc2df5504f2feb0087e8a3e61b694ad67"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 28 08:59:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:09:58 2009 -0700"
      },
      "message": "AF_RAW: Augment raw_send_hdrinc to expand skb to fit iphdr-\u003eihl (v2)\n\nAugment raw_send_hdrinc to correct for incorrect ip header length values\n\nA series of oopses was reported to me recently.  Apparently when using AF_RAW\nsockets to send data to peers that were reachable via ipsec encapsulation,\npeople could panic or BUG halt their systems.\n\nI\u0027ve tracked the problem down to user space sending an invalid ip header over an\nAF_RAW socket with IP_HDRINCL set to 1.\n\nBasically what happens is that userspace sends down an ip frame that includes\nonly the header (no data), but sets the ip header ihl value to a large number,\none that is larger than the total amount of data passed to the sendmsg call.  In\nraw_send_hdrincl, we allocate an skb based on the size of the data in the msghdr\nthat was passed in, but assume the data is all valid.  Later during ipsec\nencapsulation, xfrm4_tranport_output moves the entire frame back in the skbuff\nto provide headroom for the ipsec headers.  During this operation, the\nskb-\u003etransport_header is repointed to a spot computed by\nskb-\u003enetwork_header + the ip header length (ihl).  Since so little data was\npassed in relative to the value of ihl provided by the raw socket, we point\ntransport header to an unknown location, resulting in various crashes.\n\nThis fix for this is pretty straightforward, simply validate the value of of\niph-\u003eihl when sending over a raw socket.  If (iph-\u003eihl*4U) \u003e user data buffer\nsize, drop the frame and return -EINVAL.  I just confirmed this fixes the\nreported crashes.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c62f4c453ab4b0240ab857bfd089da2c01ad91e7",
      "tree": "2c99ed102d752d762cc051ee1e89539e0453bdc0",
      "parents": [
        "74eee2e8d08048c847d1998c686e12a477ff939a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu Oct 22 21:37:56 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 22 21:37:56 2009 -0700"
      },
      "message": "net: use WARN() for the WARN_ON in commit b6b39e8f3fbbb\n\nCommit b6b39e8f3fbbb (tcp: Try to catch MSG_PEEK bug) added a printk()\nto the WARN_ON() that\u0027s in tcp.c. This patch changes this combination\nto WARN(); the advantage of WARN() is that the printk message shows up\ninside the message, so that kerneloops.org will collect the message.\n\nIn addition, this gets rid of an extra if() statement.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6b39e8f3fbbb31001b836afec87bcaf4811a7bf",
      "tree": "33cf8d3732bde60abc7651b0ecf78e297d7b0afb",
      "parents": [
        "55b8050353c4a212c94d7156e2bd5885225b869b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 19 19:41:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 00:51:57 2009 -0700"
      },
      "message": "tcp: Try to catch MSG_PEEK bug\n\nThis patch tries to print out more information when we hit the\nMSG_PEEK bug in tcp_recvmsg.  It\u0027s been around since at least\n2005 and it\u0027s about time that we finally fix it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55b8050353c4a212c94d7156e2bd5885225b869b",
      "tree": "013778c4d48b946b2c565f8b55f40e505ec255ce",
      "parents": [
        "45054dc1bf2367ccb0e7c0486037907cd9395f8b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 19 06:41:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 21:34:20 2009 -0700"
      },
      "message": "net: Fix IP_MULTICAST_IF\n\nipv4/ipv6 setsockopt(IP_MULTICAST_IF) have dubious __dev_get_by_index() calls.\n\nThis function should be called only with RTNL or dev_base_lock held, or reader\ncould see a corrupt hash chain and eventually enter an endless loop.\n\nFix is to call dev_get_by_index()/dev_put().\n\nIf this happens to be performance critical, we could define a new dev_exist_by_index()\nfunction to avoid touching dev refcount.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b103cf34382f26ff48a87931b83f13b177b47c1a",
      "tree": "6922379bca3fc9935d394bc474a91b859ac06813",
      "parents": [
        "0c3d79bce48034018e840468ac5a642894a521a3"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Mon Oct 19 10:10:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:19:06 2009 -0700"
      },
      "message": "tcp: fix TCP_DEFER_ACCEPT retrans calculation\n\nFix TCP_DEFER_ACCEPT conversion between seconds and\nretransmission to match the TCP SYN-ACK retransmission periods\nbecause the time is converted to such retransmissions. The old\nalgorithm selects one more retransmission in some cases. Allow\nup to 255 retransmissions.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c3d79bce48034018e840468ac5a642894a521a3",
      "tree": "96a56d10d55173c032aa1adc2b47a7571e4055a2",
      "parents": [
        "d1b99ba41d6c5aa1ed2fc634323449dd656899e9"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Mon Oct 19 10:03:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:19:03 2009 -0700"
      },
      "message": "tcp: reduce SYN-ACK retrans for TCP_DEFER_ACCEPT\n\nChange SYN-ACK retransmitting code for the TCP_DEFER_ACCEPT\nusers to not retransmit SYN-ACKs during the deferring period if\nACK from client was received. The goal is to reduce traffic\nduring the deferring period. When the period is finished\nwe continue with sending SYN-ACKs (at least one) but this time\nany traffic from client will change the request to established\nsocket allowing application to terminate it properly.\nAlso, do not drop acked request if sending of SYN-ACK fails.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1b99ba41d6c5aa1ed2fc634323449dd656899e9",
      "tree": "06c2106cda7c565c08da8d510612d2c805fc3c33",
      "parents": [
        "a1a2ad9151c26d92e5c733a33d52108f5d3a5b57"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Mon Oct 19 10:01:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:19:01 2009 -0700"
      },
      "message": "tcp: accept socket after TCP_DEFER_ACCEPT period\n\nWilly Tarreau and many other folks in recent years\nwere concerned what happens when the TCP_DEFER_ACCEPT period\nexpires for clients which sent ACK packet. They prefer clients\nthat actively resend ACK on our SYN-ACK retransmissions to be\nconverted from open requests to sockets and queued to the\nlistener for accepting after the deferring period is finished.\nThen application server can decide to wait longer for data\nor to properly terminate the connection with FIN if read()\nreturns EAGAIN which is an indication for accepting after\nthe deferring period. This change still can have side effects\nfor applications that expect always to see data on the accepted\nsocket. Others can be prepared to work in both modes (with or\nwithout TCP_DEFER_ACCEPT period) and their data processing can\nignore the read\u003dEAGAIN notification and to allocate resources for\nclients which proved to have no data to send during the deferring\nperiod. OTOH, servers that use TCP_DEFER_ACCEPT\u003d1 as flag (not\nas a timeout) to wait for data will notice clients that didn\u0027t\nsend data for 3 seconds but that still resend ACKs.\nThanks to Willy Tarreau for the initial idea and to\nEric Dumazet for the review and testing the change.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1a2ad9151c26d92e5c733a33d52108f5d3a5b57",
      "tree": "f794c456544391a6797ead469ce3beab5cee2912",
      "parents": [
        "77238f2b942b38ab4e7f3aced44084493e4a8675"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:12:36 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:12:36 2009 -0700"
      },
      "message": "Revert \"tcp: fix tcp_defer_accept to consider the timeout\"\n\nThis reverts commit 6d01a026b7d3009a418326bdcf313503a314f1ea.\n\nJulian Anastasov, Willy Tarreau and Eric Dumazet have come up\nwith a more correct way to deal with this.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85584672012ee0c3b7b8e033a1ecf7c11878e45f",
      "tree": "f35b38f084453e2d7260d4a7a8d13f2a01641664",
      "parents": [
        "9652041da18a1a1d9a0b7ebd9eef16bd712be38a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 09 04:43:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 03:16:54 2009 -0700"
      },
      "message": "udp: Fix udp_poll() and ioctl()\n\nudp_poll() can in some circumstances drop frames with incorrect checksums.\n\nProblem is we now have to lock the socket while dropping frames, or risk\nsk_forward corruption.\n\nThis bug is present since commit 95766fff6b9a78d1\n([UDP]: Add memory accounting.)\n\nWhile we are at it, we can correct ioctl(SIOCINQ) to also drop bad frames.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d01a026b7d3009a418326bdcf313503a314f1ea",
      "tree": "c16b0e20f4fcf60d33e7ca141e5f8d67ee846891",
      "parents": [
        "e3eef534c50ad39654e247f88dc01e6a3f76b6b4"
      ],
      "author": {
        "name": "Willy Tarreau",
        "email": "w@1wt.eu",
        "time": "Tue Oct 13 00:27:40 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 01:35:28 2009 -0700"
      },
      "message": "tcp: fix tcp_defer_accept to consider the timeout\n\nI was trying to use TCP_DEFER_ACCEPT and noticed that if the\nclient does not talk, the connection is never accepted and\nremains in SYN_RECV state until the retransmits expire, where\nit finally is deleted. This is bad when some firewall such as\nnetfilter sits between the client and the server because the\nfirewall sees the connection in ESTABLISHED state while the\nserver will finally silently drop it without sending an RST.\n\nThis behaviour contradicts the man page which says it should\nwait only for some time :\n\n       TCP_DEFER_ACCEPT (since Linux 2.4)\n          Allows a listener to be awakened only when data arrives\n          on the socket.  Takes an integer value  (seconds), this\n          can  bound  the  maximum  number  of attempts TCP will\n          make to complete the connection. This option should not\n          be used in code intended to be portable.\n\nAlso, looking at ipv4/tcp.c, a retransmit counter is correctly\ncomputed :\n\n        case TCP_DEFER_ACCEPT:\n                icsk-\u003eicsk_accept_queue.rskq_defer_accept \u003d 0;\n                if (val \u003e 0) {\n                        /* Translate value in seconds to number of\n                         * retransmits */\n                        while (icsk-\u003eicsk_accept_queue.rskq_defer_accept \u003c 32 \u0026\u0026\n                               val \u003e ((TCP_TIMEOUT_INIT / HZ) \u003c\u003c\n                                       icsk-\u003eicsk_accept_queue.rskq_defer_accept))\n                                icsk-\u003eicsk_accept_queue.rskq_defer_accept++;\n                        icsk-\u003eicsk_accept_queue.rskq_defer_accept++;\n                }\n                break;\n\n\u003d\u003d\u003e rskq_defer_accept is used as a counter of retransmits.\n\nBut in tcp_minisocks.c, this counter is only checked. And in\nfact, I have found no location which updates it. So I think\nthat what was intended was to decrease it in tcp_minisocks\nwhenever it is checked, which the trivial patch below does.\n\nSigned-off-by: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a21090cff296eb82b6de09304d64de466bdcaefc",
      "tree": "9fb1079548ed85e802c3cc46aa525ae51619e88c",
      "parents": [
        "1cec9727fbfd7baff2034796154be1a0297bcedd"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 07 03:18:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 03:18:17 2009 -0700"
      },
      "message": "ipv4: arp_notify address list bug\n\nThis fixes a bug with arp_notify.\n\nIf arp_notify is enabled, kernel will crash if address is changed\nand no IP address is assigned.\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d14330\n\nReported-by: Hannes Frederic Sowa \u003channes@stressinduktion.org\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42324c62704365d6a3e89138dea55909d2f26afe",
      "tree": "6a56f042aebb4e0dbc8da7e904d79989e42b3666",
      "parents": [
        "914a9ab386a288d0f22252fc268ecbc048cdcbd5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 01 15:26:00 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 02 09:46:05 2009 -0700"
      },
      "message": "net: splice() from tcp to pipe should take into account O_NONBLOCK\n\ntcp_splice_read() doesnt take into account socket\u0027s O_NONBLOCK flag\n\nBefore this patch :\n\nsplice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE);\ncauses a random endless block (if pipe is full) and\nsplice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE | SPLICE_F_NONBLOCK);\nwill return 0 immediately if the TCP buffer is empty.\n\nUser application has no way to instruct splice() that socket should be in blocking mode\nbut pipe in nonblock more.\n\nMany projects cannot use splice(tcp -\u003e pipe) because of this flaw.\n\nhttp://git.samba.org/?p\u003dsamba.git;a\u003dhistory;f\u003dsource3/lib/recvfile.c;h\u003dea0159642137390a0f7e57a123684e6e63e47581;hb\u003dHEAD\nhttp://lkml.indiana.edu/hypermail/linux/kernel/0807.2/0687.html\n\nLinus introduced  SPLICE_F_NONBLOCK in commit 29e350944fdc2dfca102500790d8ad6d6ff4f69d\n(splice: add SPLICE_F_NONBLOCK flag )\n\n  It doesn\u0027t make the splice itself necessarily nonblocking (because the\n  actual file descriptors that are spliced from/to may block unless they\n  have the O_NONBLOCK flag set), but it makes the splice pipe operations\n  nonblocking.\n\nLinus intention was clear : let SPLICE_F_NONBLOCK control the splice pipe mode only\n\nThis patch instruct tcp_splice_read() to use the underlying file O_NONBLOCK\nflag, as other socket operations do.\n\nUsers will then call :\n\nsplice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE | SPLICE_F_NONBLOCK );\n\nto block on data coming from socket (if file is in blocking mode),\nand not block on pipe output (to avoid deadlock)\n\nFirst version of this patch was submitted by Octavian Purdila\n\nReported-by: Volker Lendecke \u003cvl@samba.org\u003e\nReported-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "914a9ab386a288d0f22252fc268ecbc048cdcbd5",
      "tree": "5bc164381e7ff1b55990288b67ae014b5ed668ea",
      "parents": [
        "66466797c7e2406579724e42eb9cfe05d53a882b"
      ],
      "author": {
        "name": "Atis Elsts",
        "email": "atis@mikrotik.com",
        "time": "Thu Oct 01 15:16:49 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 15:16:49 2009 -0700"
      },
      "message": "net: Use sk_mark for routing lookup in more places\n\nThis patch against v2.6.31 adds support for route lookup using sk_mark in some \nmore places. The benefits from this patch are the following.\nFirst, SO_MARK option now has effect on UDP sockets too.\nSecond, ip_queue_xmit() and inet_sk_rebuild_header() could fail to do routing \nlookup correctly if TCP sockets with SO_MARK were used.\n\nSigned-off-by: Atis Elsts \u003catis@mikrotik.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "89e95a613c8a045ce0c5b992ba19f10613f6ab2f",
      "tree": "c2e00d58e520ac114362631d672ea2aa198b9d43",
      "parents": [
        "4fdb78d3093a347456e108b77d56d493d29071b2"
      ],
      "author": {
        "name": "Ori Finkelman",
        "email": "ori@comsleep.com",
        "time": "Thu Oct 01 06:41:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 15:14:51 2009 -0700"
      },
      "message": "IPv4 TCP fails to send window scale option when window scale is zero\n\nAcknowledge TCP window scale support by inserting the proper option in SYN/ACK\nand SYN headers even if our window scale is zero.\n\nThis fixes the following observed behavior:\n\n1. Client sends a SYN with TCP window scaling option and non zero window scale\nvalue to a Linux box.\n2. Linux box notes large receive window from client.\n3. Linux decides on a zero value of window scale for its part.\n4. Due to compare against requested window scale size option, Linux does not to\n send windows scale TCP option header on SYN/ACK at all.\n\nWith the following result:\n\nClient box thinks TCP window scaling is not supported, since SYN/ACK had no\nTCP window scale option, while Linux thinks that TCP window scaling is\nsupported (and scale might be non zero), since SYN had  TCP window scale\noption and we have a mismatched idea between the client and server\nregarding window sizes.\n\nProbably it also fixes up the following bug (not observed in practice):\n\n1. Linux box opens TCP connection to some server.\n2. Linux decides on zero value of window scale.\n3. Due to compare against computed window scale size option, Linux does\nnot to set windows scale TCP  option header on SYN.\n\nWith the expected result that the server OS does not use window scale option\ndue to not receiving such an option in the SYN headers, leading to suboptimal\nperformance.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigned-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fdb78d3093a347456e108b77d56d493d29071b2",
      "tree": "2ad6dc10dc3603d40caaa26fbdb6684f30987a4e",
      "parents": [
        "28ad3957b913855e8d41a27f7b90bed944809625"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Oct 01 15:02:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 15:02:20 2009 -0700"
      },
      "message": "net/ipv4/tcp.c: fix min() type mismatch warning\n\nnet/ipv4/tcp.c: In function \u0027do_tcp_setsockopt\u0027:\nnet/ipv4/tcp.c:2050: warning: comparison of distinct pointer types lacks a cast\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a43912ab1925788765208da5cd664b6f8e011d08",
      "tree": "6f522dba1fd414b7da3999fa2da062d80a550874",
      "parents": [
        "edf42a27e8e242e543716663e54aa2b592ea070a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 23 10:28:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:39:22 2009 -0700"
      },
      "message": "tunnel: eliminate recursion field\n\nIt seems recursion field from \"struct ip_tunnel\" is not anymore needed.\nrecursion prevention is done at the upper level (in dev_queue_xmit()),\nsince we use HARD_TX_LOCK protection for tunnels.\n\nThis avoids a cache line ping pong on \"struct ip_tunnel\" : This structure\nshould be now mostly read on xmit and receive paths.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0915921bde4eb5d943b17c175febac58a254d7b6",
      "tree": "cd6a6845d0a340f4aa06a3b5f28118ae8d7e66bb",
      "parents": [
        "8b3f6af86378d0a10ca2f1ded1da124aef13b62c"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Sep 22 15:41:10 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:38:44 2009 -0700"
      },
      "message": "ipv4: check optlen for IP_MULTICAST_IF option\n\nDue to man page of setsockopt, if optlen is not valid, kernel should return\n-EINVAL. But a simple testcase as following, errno is 0, which means setsockopt\nis successful.\n\taddr.s_addr \u003d inet_addr(\"192.1.2.3\");\n\tsetsockopt(s, IPPROTO_IP, IP_MULTICAST_IF, \u0026addr, 1);\n\tprintf(\"errno is %d\\n\", errno);\n\nXiaotian Feng(dfeng@redhat.com) caught the bug. We fix it firstly checking\nthe availability of optlen and then dealing with the logic like other options.\n\nReported-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4481374ce88ba8f460c8b89f2572027bd27057d0",
      "tree": "6896601b6a1da0e3e932ffa75fcff966c834c02c",
      "parents": [
        "4738e1b9cf8f9e28d7de080a5e6ce5d0095ea18f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: replace various uses of num_physpages by totalram_pages\n\nSizing of memory allocations shouldn\u0027t depend on the number of physical\npages found in a system, as that generally includes (perhaps a huge amount\nof) non-RAM pages.  The amount of what actually is usable as storage\nshould instead be used as a basis here.\n\nSome of the calculations (i.e.  those not intending to use high memory)\nshould likely even use (totalram_pages - totalhigh_pages).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f205ce83a766c08965ec78342f138cdc00631fba",
      "tree": "7a9d2db6c16594ef7c730ca93a87131cf0abca41",
      "parents": [
        "3dc95666df0e1ae5b7381a8ec97a583bb3ce4306",
        "b31c50a7f9e93a61d14740dedcbbf2c376998bc7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 17 20:53:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 17 20:53:52 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits)\n  be2net: fix some cmds to use mccq instead of mbox\n  atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA\n  pkt_sched: Fix qstats.qlen updating in dump_stats\n  ipv6: Log the affected address when DAD failure occurs\n  wl12xx: Fix print_mac() conversion.\n  af_iucv: fix race when queueing skbs on the backlog queue\n  af_iucv: do not call iucv_sock_kill() twice\n  af_iucv: handle non-accepted sockets after resuming from suspend\n  af_iucv: fix race in __iucv_sock_wait()\n  iucv: use correct output register in iucv_query_maxconn()\n  iucv: fix iucv_buffer_cpumask check when calling IUCV functions\n  iucv: suspend/resume error msg for left over pathes\n  wl12xx: switch to %pM to print the mac address\n  b44: the poll handler b44_poll must not enable IRQ unconditionally\n  ipv6: Ignore route option with ROUTER_PREF_INVALID\n  bonding: make ab_arp select active slaves as other modes\n  cfg80211: fix SME connect\n  rc80211_minstrel: fix contention window calculation\n  ssb/sdio: fix printk format warnings\n  p54usb: add Zcomax XG-705A usbid\n  ...\n"
    },
    {
      "commit": "657e9649e745b06675aa5063c84430986cdc3afa",
      "tree": "2db388ddc152c1deb4903467d9012c56b5ba8b41",
      "parents": [
        "7c64b9f3f584008000cf3b960f25cd6a68fce191"
      ],
      "author": {
        "name": "Robert Varga",
        "email": "nite@hq.alert.sk",
        "time": "Tue Sep 15 23:49:21 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 23:49:21 2009 -0700"
      },
      "message": "tcp: fix CONFIG_TCP_MD5SIG + CONFIG_PREEMPT timer BUG()\n\nI have recently came across a preemption imbalance detected by:\n\n\u003c4\u003ehuh, entered ffffffff80644630 with preempt_count 00000102, exited with 00000101?\n\u003c0\u003e------------[ cut here ]------------\n\u003c2\u003ekernel BUG at /usr/src/linux/kernel/timer.c:664!\n\u003c0\u003einvalid opcode: 0000 [1] PREEMPT SMP\n\nwith ffffffff80644630 being inet_twdr_hangman().\n\nThis appeared after I enabled CONFIG_TCP_MD5SIG and played with it a\nbit, so I looked at what might have caused it.\n\nOne thing that struck me as strange is tcp_twsk_destructor(), as it\ncalls tcp_put_md5sig_pool() -- which entails a put_cpu(), causing the\ndetected imbalance. Found on 2.6.23.9, but 2.6.31 is affected as well,\nas far as I can tell.\n\nSigned-off-by: Robert Varga \u003cnite@hq.alert.sk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ada3fa15057205b7d3f727bba5cd26b5912e350f",
      "tree": "60962fc9e4021b92f484d1a58e72cd3906d4f3db",
      "parents": [
        "2f82af08fcc7dc01a7e98a49a5995a77e32a2925",
        "5579fd7e6aed8860ea0c8e3f11897493153b10ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)\n  powerpc64: convert to dynamic percpu allocator\n  sparc64: use embedding percpu first chunk allocator\n  percpu: kill lpage first chunk allocator\n  x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA\n  percpu: update embedding first chunk allocator to handle sparse units\n  percpu: use group information to allocate vmap areas sparsely\n  vmalloc: implement pcpu_get_vm_areas()\n  vmalloc: separate out insert_vmalloc_vm()\n  percpu: add chunk-\u003ebase_addr\n  percpu: add pcpu_unit_offsets[]\n  percpu: introduce pcpu_alloc_info and pcpu_group_info\n  percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward\n  percpu: add @align to pcpu_fc_alloc_fn_t\n  percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()\n  percpu: drop @static_size from first chunk allocators\n  percpu: generalize first chunk allocator selection\n  percpu: build first chunk allocators selectively\n  percpu: rename 4k first chunk allocator to page\n  percpu: improve boot messages\n  percpu: fix pcpu_reclaim() locking\n  ...\n\nFix trivial conflict as by Tejun Heo in kernel/sched.c\n"
    },
    {
      "commit": "75c78500ddad74b229cd0691496b8549490496a2",
      "tree": "5249219d68627421e4717c4e8f03f8b4bbad2e92",
      "parents": [
        "481a8199142c050b72bff8a1956a49fd0a75bbe0"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@voltaire.com",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "message": "bonding: remap muticast addresses without using dev_close() and dev_open()\n\nThis patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach\nthere is to call dev_close()/dev_open() whenever the device type is changed in\norder to remap the device IP multicast addresses to HW multicast addresses.\nThis approach suffers from 2 drawbacks:\n\n*. It assumes tha the device is UP when calling dev_close(), or otherwise\n   dev_close() has no affect. It is worth to mention that initscripts (Redhat)\n   and sysconfig (Suse) doesn\u0027t act the same in this matter. \n*. dev_close() has other side affects, like deleting entries from the routing\n   table, which might be unnecessary.\n\nThe fix here is to directly remap the IP multicast addresses to HW multicast\naddresses for a bonding device that changes its type, and nothing else.\n   \nReported-by:   Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b6a05c1dbebe8c616e2e5b0f52b7a01fd792911",
      "tree": "18b5a2d16ac3fa8dd6d4528469725c216aed428c",
      "parents": [
        "036d6a673fa0a2e2c5b72a3b1d1b86114c1711c0"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 15 01:30:10 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 01:30:10 2009 -0700"
      },
      "message": "tcp: fix ssthresh u16 leftover\n\nIt was once upon time so that snd_sthresh was a 16-bit quantity.\n...That has not been true for long period of time. I run across\nsome ancient compares which still seem to trust such legacy.\nPut all that magic into a single place, I hopefully found all\nof them.\n\nCompile tested, though linking of allyesconfig is ridiculous\nnowadays it seems.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32613090a96dba2ca2cc524c8d4749d3126fdde5",
      "tree": "5e0e5f9097aca737e8a7356eb1b72e53539cda0b",
      "parents": [
        "e4c57d0f964cdbe278ed6b3bf632138fe575267e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:21:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:01 2009 -0700"
      },
      "message": "net: constify struct net_protocol\n\nRemove long removed \"inet_protocol_base\" declaration.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b",
      "tree": "c6c67d145771187b194d79d603742b31090a59d6",
      "parents": [
        "b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca",
        "13af7a6ea502fcdd4c0e3d7de6e332b102309491"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits)\n  netxen: update copyright\n  netxen: fix tx timeout recovery\n  netxen: fix file firmware leak\n  netxen: improve pci memory access\n  netxen: change firmware write size\n  tg3: Fix return ring size breakage\n  netxen: build fix for INET\u003dn\n  cdc-phonet: autoconfigure Phonet address\n  Phonet: back-end for autoconfigured addresses\n  Phonet: fix netlink address dump error handling\n  ipv6: Add IFA_F_DADFAILED flag\n  net: Add DEVTYPE support for Ethernet based devices\n  mv643xx_eth.c: remove unused txq_set_wrr()\n  ucc_geth: Fix hangs after switching from full to half duplex\n  ucc_geth: Rearrange some code to avoid forward declarations\n  phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs\n  drivers/net/phy: introduce missing kfree\n  drivers/net/wan: introduce missing kfree\n  net: force bridge module(s) to be GPL\n  Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded\n  ...\n\nFixed up trivial conflicts:\n\n - arch/x86/include/asm/socket.h\n\n   converted to \u003casm-generic/socket.h\u003e in the x86 tree.  The generic\n   header has the same new #define\u0027s, so that works out fine.\n\n - drivers/net/tun.c\n\n   fix conflict between 89f56d1e9 (\"tun: reuse struct sock fields\") that\n   switched over to using \u0027tun-\u003esocket.sk\u0027 instead of the redundantly\n   available (and thus removed) \u0027tun-\u003esk\u0027, and 2b980dbd (\"lsm: Add hooks\n   to the TUN driver\") which added a new \u0027tun-\u003esk\u0027 use.\n\n   Noted in \u0027next\u0027 by Stephen Rothwell.\n"
    },
    {
      "commit": "9a0da0d19c573e01aded6ac17747d2efc5b1115f",
      "tree": "76294327bae4b3e45b16c690bda4b24951f237cf",
      "parents": [
        "ec282e9225be924479d4880b51f13524795bd8d3",
        "8a56df0ae1690f8f42a3c6c4532f4b06f93febea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 10 18:17:09 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 10 18:17:09 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "a3c8b97396ef42edfb845788ba6f53b2a93ce980",
      "tree": "530c5bdbc534618311dab3e0af245835af56db0f",
      "parents": [
        "74fca6a42863ffacaf7ba6f1936a9f228950f657",
        "9f0ab4a3f0fdb1ff404d150618ace2fa069bb2e1"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Sep 11 08:04:49 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Sep 11 08:04:49 2009 +1000"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "fa1a9c681377c57e233038e50479e7d7a5cc3108",
      "tree": "719cfaa29913c352e55efcfc35a7de84c839a3f6",
      "parents": [
        "5d5d9c97ff807b643b6c2284dea7fe04ecc74355"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 09 03:43:50 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 09 03:43:50 2009 -0700"
      },
      "message": "headers: net/ipv[46]/protocol.c header trim\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa1330766c49199bdab4d4a9096d98b072df9044",
      "tree": "98787478dbef0faa7caee09c4996abcda723a608",
      "parents": [
        "05c6a8d7a7d778f26d8eb821556988993b766092"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 02 23:45:45 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:45:45 2009 -0700"
      },
      "message": "tcp: replace hard coded GFP_KERNEL with sk_allocation\n\nThis fixed a lockdep warning which appeared when doing stress\nmemory tests over NFS:\n\n\tinconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n\n\tpage reclaim \u003d\u003e nfs_writepage \u003d\u003e tcp_sendmsg \u003d\u003e lock sk_lock\n\n\tmount_root \u003d\u003e nfs_root_data \u003d\u003e tcp_close \u003d\u003e lock sk_lock \u003d\u003e\n\t\t\ttcp_send_fin \u003d\u003e alloc_skb_fclone \u003d\u003e page reclaim\n\nDavid raised a concern that if the allocation fails in tcp_send_fin(), and it\u0027s\nGFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting\nfor the allocation to succeed.\n\nBut fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks\nweird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could\nloop endlessly under memory pressure.\n\nCC: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e",
      "tree": "d7228b3ea7000bc29b959556d8cb264b12365586",
      "parents": [
        "2e59af3dcbdf11635c03f22bfc9706744465d589"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 02 18:05:33 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 18:05:33 2009 -0700"
      },
      "message": "ip: Report qdisc packet drops\n\nChristoph Lameter pointed out that packet drops at qdisc level where not\naccounted in SNMP counters. Only if application sets IP_RECVERR, drops\nare reported to user (-ENOBUFS errors) and SNMP counters updated.\n\nIP_RECVERR is used to enable extended reliable error message passing,\nbut these are not needed to update system wide SNMP stats.\n\nThis patch changes things a bit to allow SNMP counters to be updated,\nregardless of IP_RECVERR being set or not on the socket.\n\nExample after an UDP tx flood\n# netstat -s \n...\nIP:\n    1487048 outgoing packets dropped\n...\nUdp:\n...\n    SndbufErrors: 1487048\n\n\nsend() syscalls, do however still return an OK status, to not\nbreak applications.\n\nNote : send() manual page explicitly says for -ENOBUFS error :\n\n \"The output queue for a network interface was full.\n  This generally indicates that the interface has stopped sending,\n  but may be caused by transient congestion.\n  (Normally, this does not occur in Linux. Packets are just silently\n  dropped when a device queue overflows.) \"\n\nThis is not true for IP_RECVERR enabled sockets : a send() syscall\nthat hit a qdisc drop returns an ENOBUFS error.\n\nMany thanks to Christoph, David, and last but not least, Alexey !\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b401a81c0d50ea9c718cf837f62cc2e6e79cc30",
      "tree": "cfb386a92521ae614fc8d76932461f26d14e9fa3",
      "parents": [
        "b2e4b3debc327a5b53d9622e0b1785eea2ea2aad"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 19:25:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 01:03:49 2009 -0700"
      },
      "message": "inet: inet_connection_sock_af_ops const\n\nThe function block inet_connect_sock_af_ops contains no data\nmake it constant.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2e4b3debc327a5b53d9622e0b1785eea2ea2aad",
      "tree": "641e35a5d3b24d3d780259243173cf5b63bb9afd",
      "parents": [
        "98147d527a038c4aab599e57323a4e5d727c28a6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 19:25:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 01:03:43 2009 -0700"
      },
      "message": "tcp: MD5 operations should be const\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cdee2f96a97f6da26bd3759c3f8823332fbb438",
      "tree": "ec79086f05ffc3bdf1aecc37e108ccfc3a95450d",
      "parents": [
        "0625491493d9000e4556bf566d205c28c8e7dc4e",
        "2fbd3da3877ad8d923b055e5996f80b4d4a6daf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 00:32:56 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 00:32:56 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/yellowfin.c\n"
    },
    {
      "commit": "89d69d2b75a8f7e258f4b634cd985374cfd3202e",
      "tree": "2f01d6ae1844c92ef09160ad1966edee34ee2d8a",
      "parents": [
        "dcbfef820bdd1cdb412ccf234840e23edf67014f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 11:13:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:57 2009 -0700"
      },
      "message": "net: make neigh_ops constant\n\nThese tables are never modified at runtime. Move to read-only\nsection.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fa12c85031485dff38ce550c24f10da23b0adaa",
      "tree": "73f6cac32302ab99381f38505a5dbe930cb28e44",
      "parents": [
        "f1ecd5d9e7366609d640ff4040304ea197fbc618"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Wed Aug 26 00:16:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 02:45:47 2009 -0700"
      },
      "message": "Revert Backoff [v3]: Calculate TCP\u0027s connection close threshold as a time value.\n\nRFC 1122 specifies two threshold values R1 and R2 for connection timeouts,\nwhich may represent a number of allowed retransmissions or a timeout value.\nCurrently linux uses sysctl_tcp_retries{1,2} to specify the thresholds\nin number of allowed retransmissions.\n\nFor any desired threshold R2 (by means of time) one can specify tcp_retries2\n(by means of number of retransmissions) such that TCP will not time out\nearlier than R2. This is the case, because the RTO schedule follows a fixed\npattern, namely exponential backoff.\n\nHowever, the RTO behaviour is not predictable any more if RTO backoffs can be\nreverted, as it is the case in the draft\n\"Make TCP more Robust to Long Connectivity Disruptions\"\n(http://tools.ietf.org/html/draft-zimmermann-tcp-lcd).\n\nIn the worst case TCP would time out a connection after 3.2 seconds, if the\ninitial RTO equaled MIN_RTO and each backoff has been reverted.\n\nThis patch introduces a function retransmits_timed_out(N),\nwhich calculates the timeout of a TCP connection, assuming an initial\nRTO of MIN_RTO and N unsuccessful, exponentially backed-off retransmissions.\n\nWhenever timeout decisions are made by comparing the retransmission counter\nto some value N, this function can be used, instead.\n\nThe meaning of tcp_retries2 will be changed, as many more RTO retransmissions\ncan occur than the value indicates. However, it yields a timeout which is\nsimilar to the one of an unpatched, exponentially backing off TCP in the same\nscenario. As no application could rely on an RTO greater than MIN_RTO, there\nshould be no risk of a regression.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1ecd5d9e7366609d640ff4040304ea197fbc618",
      "tree": "ef4901d52ad0d2555094998f02d08788e197c20a",
      "parents": [
        "4d1a2d9ec1c17df077ed09a0d135bccf5637a3b7"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Wed Aug 26 00:16:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 02:45:42 2009 -0700"
      },
      "message": "Revert Backoff [v3]: Revert RTO on ICMP destination unreachable\n\nHere, an ICMP host/network unreachable message, whose payload fits to\nTCP\u0027s SND.UNA, is taken as an indication that the RTO retransmission has\nnot been lost due to congestion, but because of a route failure\nsomewhere along the path.\nWith true congestion, a router won\u0027t trigger such a message and the\npatched TCP will operate as standard TCP.\n\nThis patch reverts one RTO backoff, if an ICMP host/network unreachable\nmessage, whose payload fits to TCP\u0027s SND.UNA, arrives.\nBased on the new RTO, the retransmission timer is reset to reflect the\nremaining time, or - if the revert clocked out the timer - a retransmission\nis sent out immediately.\nBackoffs are only reverted, if TCP is in RTO loss recovery, i.e. if\nthere have been retransmissions and reversible backoffs, already.\n\nChanges from v2:\n1) Renaming of skb in tcp_v4_err() moved to another patch.\n2) Reintroduced tcp_bound_rto() and __tcp_set_rto().\n3) Fixed code comments.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d1a2d9ec1c17df077ed09a0d135bccf5637a3b7",
      "tree": "a318cb0240edeea4702655542ac82e3c59314d06",
      "parents": [
        "6ee1652051f14d1c110f48a5b3ee037d63d0c2fa"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Wed Aug 26 00:16:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 02:45:38 2009 -0700"
      },
      "message": "Revert Backoff [v3]: Rename skb to icmp_skb in tcp_v4_err()\n\nThis supplementary patch renames skb to icmp_skb in tcp_v4_err() in order to\ndisambiguate from another sk_buff variable, which will be introduced\nin a separate patch.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fef4c0c8eeff7de13007a5f56113475444a253d",
      "tree": "216bafb88ab84c5e0a048598cd6c05f7eb8f438d",
      "parents": [
        "dc1f8bf68b311b1537cb65893430b6796118498a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 31 19:50:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:13:07 2009 -0700"
      },
      "message": "netdev: convert pseudo-devices to netdev_tx_t\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a7030b76ab3c2b23b1629c49b6df33fb5aed305",
      "tree": "4deccd774c78070f72fc851228d10bf7c36d5211",
      "parents": [
        "fd3ae5e8fc5e947a9f151e80a65763a24b6368a9"
      ],
      "author": {
        "name": "John Dykstra",
        "email": "john.dykstra1@gmail.com",
        "time": "Wed Aug 19 09:47:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 29 00:19:25 2009 -0700"
      },
      "message": "tcp: Remove redundant copy of MD5 authentication key\n\nRemove the copy of the MD5 authentication key from tcp_check_req().\nThis key has already been copied by tcp_v4_syn_recv_sock() or\ntcp_v6_syn_recv_sock().\n\nSigned-off-by: John Dykstra \u003cjohn.dykstra1@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80a1096bac73ce6e98dbbce10cc00a154460bcbd",
      "tree": "d0c520d42e0e72bd2c1b86000a793ea4cf923c5a",
      "parents": [
        "80b71b80df14d885f7e50e115c1348398f418759"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Aug 29 00:00:35 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 29 00:00:35 2009 -0700"
      },
      "message": "tcp: fix premature termination of FIN_WAIT2 time-wait sockets\n\nThere is a race condition in the time-wait sockets code that can lead\nto premature termination of FIN_WAIT2 and, subsequently, to RST\ngeneration when the FIN,ACK from the peer finally arrives:\n\nTime     TCP header\n0.000000 30755 \u003e http [SYN] Seq\u003d0 Win\u003d2920 Len\u003d0 MSS\u003d1460 TSV\u003d282912 TSER\u003d0\n0.000008 http \u003e 30755 aSYN, ACK] Seq\u003d0 Ack\u003d1 Win\u003d2896 Len\u003d0 MSS\u003d1460 TSV\u003d...\n0.136899 HEAD /1b.html?n1Lg\u003dv1 HTTP/1.0 [Packet size limited during capture]\n0.136934 HTTP/1.0 200 OK [Packet size limited during capture]\n0.136945 http \u003e 30755 [FIN, ACK] Seq\u003d187 Ack\u003d207 Win\u003d2690 Len\u003d0 TSV\u003d270521...\n0.136974 30755 \u003e http [ACK] Seq\u003d207 Ack\u003d187 Win\u003d2734 Len\u003d0 TSV\u003d283049 TSER\u003d...\n0.177983 30755 \u003e http [ACK] Seq\u003d207 Ack\u003d188 Win\u003d2733 Len\u003d0 TSV\u003d283089 TSER\u003d...\n0.238618 30755 \u003e http [FIN, ACK] Seq\u003d207 Ack\u003d188 Win\u003d2733 Len\u003d0 TSV\u003d283151...\n0.238625 http \u003e 30755 [RST] Seq\u003d188 Win\u003d0 Len\u003d0\n\nSay twdr-\u003eslot \u003d 1 and we are running inet_twdr_hangman and in this\ninstance inet_twdr_do_twkill_work returns 1. At that point we will\nmark slot 1 and schedule inet_twdr_twkill_work. We will also make\ntwdr-\u003eslot \u003d 2.\n\nNext, a connection is closed and tcp_time_wait(TCP_FIN_WAIT2, timeo)\nis called which will create a new FIN_WAIT2 time-wait socket and will\nplace it in the last to be reached slot, i.e. twdr-\u003eslot \u003d 1.\n\nAt this point say inet_twdr_twkill_work will run which will start\ndestroying the time-wait sockets in slot 1, including the just added\nTCP_FIN_WAIT2 one.\n\nTo avoid this issue we increment the slot only if all entries in the\nslot have been purged.\n\nThis change may delay the slots cleanup by a time-wait death row\nperiod but only if the worker thread didn\u0027t had the time to run/purge\nthe current slot in the next period (6 seconds with default sysctl\nsettings). However, on such a busy system even without this change we\nwould probably see delays...\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80b71b80df14d885f7e50e115c1348398f418759",
      "tree": "f5b58c73d1b2ca7639a8e0513b6c68a992b05484",
      "parents": [
        "8945a808f7d5efd21fa9fb6055d2dd7887bdd9d8"
      ],
      "author": {
        "name": "Jens Låås",
        "email": "jens.laas@its.uu.se",
        "time": "Fri Aug 28 23:57:15 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 28 23:57:15 2009 -0700"
      },
      "message": "fib_trie: resize rework\n\nHere is rework and cleanup of the resize function.\n\nSome bugs we had. We were using -\u003eparent when we should use \nnode_parent(). Also we used -\u003eparent which is not assigned by\ninflate in inflate loop.\n\nAlso a fix to set thresholds to power 2 to fit halve \nand double strategy.\n\nmax_resize is renamed to max_work which better indicates\nit\u0027s function.\n\nReaching max_work is not an error, so warning is removed. \nmax_work only limits amount of work done per resize.\n(limits CPU-usage, outstanding memory etc).\n\nThe clean-up makes it relatively easy to add fixed sized \nroot-nodes if we would like to decrease the memory pressure\non routers with large routing tables and dynamic routing.\nIf we\u0027ll need that...\n\nIts been tested with 280k routes.\n\nWork done together with Robert Olsson.\n\nSigned-off-by: Jens Låås \u003cjens.laas@its.uu.se\u003e\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30038fc61adfdab162b1966e34261f06eda67f02",
      "tree": "c9266e5d3c54c7a9a4b17bd68b28b24d629249b2",
      "parents": [
        "df19a6267705456f463871ae2aabc44299909d2a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Aug 28 23:52:01 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 28 23:52:01 2009 -0700"
      },
      "message": "net: ip_rt_send_redirect() optimization\n\nWhile doing some forwarding benchmarks, I noticed\nip_rt_send_redirect() is rather expensive, even if send_redirects is\nfalse for the device.\n\nFix is to avoid two atomic ops, we dont really need to take a\nreference on in_dev\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df19a6267705456f463871ae2aabc44299909d2a",
      "tree": "59654abf9eb5dc58c9f8773dde5738b5bcb18312",
      "parents": [
        "5e9b2dbfcbc9b180a0064d8a473a4652ee99c9ad"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Aug 28 23:48:54 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 28 23:48:54 2009 -0700"
      },
      "message": "tcp: keepalive cleanups\n\nIntroduce keepalive_probes(tp) helper, and use it, like \nkeepalive_time_when(tp) and keepalive_intvl_when(tp)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d1427f87002735aa54c370558e0c2bacc61f31e",
      "tree": "576141105ca88d237294c495199b8667c81c8220",
      "parents": [
        "2975315b79f4109523b3d43932f57ed8370b9da3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Aug 28 23:45:21 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 28 23:45:21 2009 -0700"
      },
      "message": "ipv4: af_inet.c cleanups\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "788d908f2879a17e5f80924f3da2e23f1034482d",
      "tree": "890ada4f22e9ce5d64a121efc1ca63390d6b2100",
      "parents": [
        "9886e836a6a5dbd273dc55b17e713f0a188d137f"
      ],
      "author": {
        "name": "Julien TINNES",
        "email": "julien@cr0.org",
        "time": "Thu Aug 27 15:26:58 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:23:43 2009 -0700"
      },
      "message": "ipv4: make ip_append_data() handle NULL routing table\n\nAdd a check in ip_append_data() for NULL *rtp to prevent future bugs in\ncallers from being exploitable.\n\nSigned-off-by: Julien Tinnes \u003cjulien@cr0.org\u003e\nSigned-off-by: Tavis Ormandy \u003ctaviso@sdf.lonestar.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3993832464dd4e14a4c926583a11f0fa92c1f0f0",
      "tree": "a84cdac586ee63e48f711ad93dec098ad84c1b6c",
      "parents": [
        "3a6c2b419b7768703cfb2cabdb894517c5065e33"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 16:07:58 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 16:07:58 2009 +0200"
      },
      "message": "netfilter: nfnetlink: constify message attributes and headers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "74f7a6552c8d76ffc5e11eb8d9d6c07238b9ae77",
      "tree": "8ab3e8dd361de4d2f11536523aa5f0113272050e",
      "parents": [
        "f3abc9b963e004b8c96cd7fbee6fd905f2bfd620"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 15:33:08 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 15:33:08 2009 +0200"
      },
      "message": "netfilter: nf_conntrack: log packets dropped by helpers\n\nLog packets dropped by helpers using the netfilter logging API. This\nis useful in combination with nfnetlink_log to analyze those packets\nin userspace for debugging.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "cce5a5c3029f731b5ea17a8a9a953ff742abf0d6",
      "tree": "fe5e4c8366c3e2dc277885cd9d2bff276044b5f9",
      "parents": [
        "35aad0ffdf548617940ca1e78be1f2e0bafc4496"
      ],
      "author": {
        "name": "Maximilian Engelhardt",
        "email": "maxi@daemonizer.de",
        "time": "Mon Aug 24 19:24:54 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 24 19:24:54 2009 +0200"
      },
      "message": "netfilter: nf_nat: fix inverted logic for persistent NAT mappings\n\nKernel 2.6.30 introduced a patch [1] for the persistent option in the\nnetfilter SNAT target. This is exactly what we need here so I had a quick look\nat the code and noticed that the patch is wrong. The logic is simply inverted.\nThe patch below fixes this.\n\nAlso note that because of this the default behavior of the SNAT target has\nchanged since kernel 2.6.30 as it now ignores the destination IP in choosing\nthe source IP for nating (which should only be the case if the persistent\noption is set).\n\n[1] http://git.eu.kernel.org/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommitdiff;h\u003d98d500d66cb7940747b424b245fc6a51ecfbf005\n\nSigned-off-by: Maximilian Engelhardt \u003cmaxi@daemonizer.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "35aad0ffdf548617940ca1e78be1f2e0bafc4496",
      "tree": "1cab1705197cd247a5b5809e768e89f630c8460e",
      "parents": [
        "dc05a564ab1b3a1957927da50912964b61f7da69"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 24 14:56:30 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 24 14:56:30 2009 +0200"
      },
      "message": "netfilter: xtables: mark initial tables constant\n\nThe inputted table is never modified, so should be considered const.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ece13879e74313e62109e0755dd3d4f172df89e2",
      "tree": "1fe96ab392c1ff203a6fb3f67ed0ed577056572e",
      "parents": [
        "b08dc3eba0c34027010caeda258f495074ae3a54",
        "6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 20 09:18:42 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 20 09:18:42 2009 +1000"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/Kconfig\n\nManual fix.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "8cdb045632e5ee22854538619ac6f150eb0a4894",
      "tree": "ece387e77861a103ca6cc5b7d501e4c69a0399dc",
      "parents": [
        "7c1d15d736687057f4dc6e51fbf44b6f6e4320cb"
      ],
      "author": {
        "name": "Tom Goff",
        "email": "thomas.goff@boeing.com",
        "time": "Fri Aug 14 16:33:56 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 14 16:41:18 2009 -0700"
      },
      "message": "gre: Fix MTU calculation for bound GRE tunnels\n\nThe GRE header length should be subtracted when the tunnel MTU is\ncalculated.  This just corrects for the associativity change\nintroduced by commit 42aa916265d740d66ac1f17290366e9494c884c2\n(\"gre: Move MTU setting out of ipgre_tunnel_bind_dev\").\n\nSigned-off-by: Tom Goff \u003cthomas.goff@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c",
      "tree": "04c93f391a1b65c8bf8d7ba8643c07d26c26590a",
      "parents": [
        "a76761b621bcd8336065c4fe3a74f046858bc34c",
        "142d44b0dd6741a64a7bdbe029110e7c1dcf1d23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:41:02 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:45:31 2009 +0900"
      },
      "message": "Merge branch \u0027percpu-for-linus\u0027 into percpu-for-next\n\nConflicts:\n\tarch/sparc/kernel/smp_64.c\n\tarch/x86/kernel/cpu/perf_counter.c\n\tarch/x86/kernel/setup_percpu.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tmm/percpu.c\n\nConflicts in core and arch percpu codes are mostly from commit\ned78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many\nnum_possible_cpus() with nr_cpu_ids.  As for-next branch has moved all\nthe first chunk allocators into mm/percpu.c, the changes are moved\nfrom arch code to mm/percpu.c.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c",
      "tree": "10394b813c653933f4eb6034c5dc2bd4720cc837",
      "parents": [
        "8b4bfc7feb005d84e2bd0831d8331a304e9d6483"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Aug 13 09:44:51 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Aug 14 11:18:34 2009 +1000"
      },
      "message": "Networking: use CAP_NET_ADMIN when deciding to call request_module\n\nThe networking code checks CAP_SYS_MODULE before using request_module() to\ntry to load a kernel module.  While this seems reasonable it\u0027s actually\nweakening system security since we have to allow CAP_SYS_MODULE for things\nlike /sbin/ip and bluetoothd which need to be able to trigger module loads.\nCAP_SYS_MODULE actually grants those binaries the ability to directly load\nany code into the kernel.  We should instead be protecting modprobe and the\nmodules on disk, rather than granting random programs the ability to load code\ndirectly into the kernel.  Instead we are going to gate those networking checks\non CAP_NET_ADMIN which still limits them to root but which does not grant\nthose processes the ability to load arbitrary code into the kernel.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "dc05a564ab1b3a1957927da50912964b61f7da69",
      "tree": "489905675f9954e5bf160a2eff6ea6ce93472d61",
      "parents": [
        "be39ee11cd1f67b51ac8e71d177a981eb34f2ab2",
        "e2fe35c17fed62d4ab5038fa9bc489e967ff8416"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 10 17:14:59 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 10 17:14:59 2009 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://dev.medozas.de/linux\n"
    },
    {
      "commit": "e2fe35c17fed62d4ab5038fa9bc489e967ff8416",
      "tree": "84a4b0b688276b6788081f441984abd01d036b4d",
      "parents": [
        "90e7d4ab5c8b0c4c2e00e4893977f6aeec0f18f1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sat Jul 18 15:22:30 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 10 13:35:31 2009 +0200"
      },
      "message": "netfilter: xtables: check for standard verdicts in policies\n\nThis adds the second check that Rusty wanted to have a long time ago. :-)\n\nBase chain policies must have absolute verdicts that cease processing\nin the table, otherwise rule execution may continue in an unexpected\nspurious fashion (e.g. next chain that follows in memory).\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "90e7d4ab5c8b0c4c2e00e4893977f6aeec0f18f1",
      "tree": "81951e3cb17713cd0cedfec9d4d3823d3fe264f5",
      "parents": [
        "a7d51738e757c1ab94595e7d05594c61f0fb32ce"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jul 09 22:54:53 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 10 13:35:29 2009 +0200"
      },
      "message": "netfilter: xtables: check for unconditionality of policies\n\nThis adds a check that iptables\u0027s original author Rusty set forth in\na FIXME comment.\n\nUnderflows in iptables are better known as chain policies, and are\nrequired to be unconditional or there would be a stochastical chance\nfor the policy rule to be skipped if it does not match. If that were\nto happen, rule execution would continue in an unexpected spurious\nfashion.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "a7d51738e757c1ab94595e7d05594c61f0fb32ce",
      "tree": "af862be9cb71bf2ef66cd7fb72ed582428ccbc1d",
      "parents": [
        "47901dc2c4a3f1f9af453486a005d31fe9b393f0"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sat Jul 18 14:52:58 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 10 13:35:28 2009 +0200"
      },
      "message": "netfilter: xtables: ignore unassigned hooks in check_entry_size_and_hooks\n\nThe \"hook_entry\" and \"underflow\" array contains values even for hooks\nnot provided, such as PREROUTING in conjunction with the \"filter\"\ntable. Usually, the values point to whatever the next rule is. For\nthe upcoming unconditionality and underflow checking patches however,\nwe must not inspect that arbitrary rule.\n\nSkipping unassigned hooks seems like a good idea, also because\nnewinfo-\u003ehook_entry and newinfo-\u003eunderflow will then continue to have\nthe poison value for detecting abnormalities.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "47901dc2c4a3f1f9af453486a005d31fe9b393f0",
      "tree": "12bcbe4b7add3cc9beff300165ac4d962015ad15",
      "parents": [
        "e5afbba1869a5d9509c61f8962be9bdebf95f7d3"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Jul 09 23:00:19 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 10 13:35:27 2009 +0200"
      },
      "message": "netfilter: xtables: use memcmp in unconditional check\n\nInstead of inspecting each u32/char open-coded, clean up and make use\nof memcmp. On some arches, memcmp is implemented as assembly or GCC\u0027s\n__builtin_memcmp which can possibly take advantages of known\nalignment.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "e5afbba1869a5d9509c61f8962be9bdebf95f7d3",
      "tree": "366b370a10c29a250518246b2d5ed1d9a1c877ae",
      "parents": [
        "98d89b4198cf7273968e9217a62ec7ccfd760171"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Jul 08 12:33:10 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 10 13:35:25 2009 +0200"
      },
      "message": "netfilter: iptables: remove unused datalen variable\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "f88e6a8a50a603f8347343e75d035889784a507c",
      "tree": "edc6de5f0b937f87bfa7c817c08907a1afe4a04d",
      "parents": [
        "24c232d8e911ef6189e02da411dc2b72cb03bfcf"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sat Jun 13 06:25:44 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 10 13:35:23 2009 +0200"
      },
      "message": "netfilter: xtables: switch table AFs to nfproto\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "24c232d8e911ef6189e02da411dc2b72cb03bfcf",
      "tree": "7451572c23a05cfef8dd674e09ed733321590ec1",
      "parents": [
        "57750a22ed022ed6fcdcc5bc58d16011ccfe575f"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sat Jun 13 06:20:29 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 10 13:35:21 2009 +0200"
      },
      "message": "netfilter: xtables: switch hook PFs to nfproto\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "57750a22ed022ed6fcdcc5bc58d16011ccfe575f",
      "tree": "22009542552726649f04918d75c5273dea72c5cc",
      "parents": [
        "93bb1e9d117bfc60306b2b8bd9e0fa7ba3c88636"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sat Jun 13 06:22:18 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Aug 10 13:35:20 2009 +0200"
      },
      "message": "netfilter: conntrack: switch hook PFs to nfproto\n\nSimple substitution to indicate that the fields indeed use the\nNFPROTO_ space.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "549812799c8495451e71ebd9f6a862b33120a35a",
      "tree": "5c3f173e5901f88bd3cffb99ac36191aa5d0b3d1",
      "parents": [
        "bbd8a0d3a3b65d341437f8b99c828fa5cc29c739"
      ],
      "author": {
        "name": "Rafael Laufer",
        "email": "rlaufer@cs.ucla.edu",
        "time": "Mon Aug 10 10:08:27 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 10 10:08:27 2009 +0200"
      },
      "message": "netfilter: nf_conntrack: add SCTP support for SO_ORIGINAL_DST\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "36cbd3dcc10384f813ec0814255f576c84f2bcd4",
      "tree": "c3579edea972519d2f9ae99d7da9a5dd56e6f5c1",
      "parents": [
        "db71789c01ae7b641f83c5aa64e7df25122f4b28"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Aug 05 10:42:58 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 05 10:42:58 2009 -0700"
      },
      "message": "net: mark read-only arrays as const\n\nString literals are constant, and usually, we can also tag the array\nof pointers const too, moving it to the .rodata section.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f816700aa9ef1b1e2f984f638cb211e79dcab495",
      "tree": "4c06f91ee8b123a3ab2d396afa96d468505885f9",
      "parents": [
        "e4c4e448cf557921ffbbbd6d6ddac81fdceacb4f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Aug 04 20:18:33 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 04 20:18:33 2009 -0700"
      },
      "message": "xfrm4: fix build when SYSCTLs are disabled\n\nFix build errors when SYSCTLs are not enabled:\n(.init.text+0x5154): undefined reference to `net_ipv4_ctl_path\u0027\n(.init.text+0x5176): undefined reference to `register_net_sysctl_table\u0027\nxfrm4_policy.c:(.exit.text+0x573): undefined reference to `unregister_net_sysctl_table\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df597efb5737063497f1a4f7c996cc9aec294230",
      "tree": "17bb60f68ee299d9717038197a932501625f1621",
      "parents": [
        "a33bc5c15154c835aae26f16e6a3a7d9ad4acb45",
        "0a924578bc4a2823a95c151f56975c71f5c156bb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 30 19:22:43 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 30 19:22:43 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-3945.h\n\tdrivers/net/wireless/iwlwifi/iwl-tx.c\n\tdrivers/net/wireless/iwlwifi/iwl3945-base.c\n"
    },
    {
      "commit": "a33bc5c15154c835aae26f16e6a3a7d9ad4acb45",
      "tree": "cf7683b1b2d2fd170bfc6650ea84a4b9a81eebbf",
      "parents": [
        "9aada7ac047f789ffb27540cc1695989897b2dfe"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Jul 30 18:52:15 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 30 18:52:15 2009 -0700"
      },
      "message": "xfrm: select sane defaults for xfrm[4|6] gc_thresh\n\nChoose saner defaults for xfrm[4|6] gc_thresh values on init\n\nCurrently, the xfrm[4|6] code has hard-coded initial gc_thresh values\n(set to 1024).  Given that the ipv4 and ipv6 routing caches are sized\ndynamically at boot time, the static selections can be non-sensical.\nThis patch dynamically selects an appropriate gc threshold based on\nthe corresponding main routing table size, using the assumption that\nwe should in the worst case be able to handle as many connections as\nthe routing table can.\n\nFor ipv4, the maximum route cache size is 16 * the number of hash\nbuckets in the route cache.  Given that xfrm4 starts garbage\ncollection at the gc_thresh and prevents new allocations at 2 *\ngc_thresh, we set gc_thresh to half the maximum route cache size.\n\nFor ipv6, its a bit trickier.  there is no maximum route cache size,\nbut the ipv6 dst_ops gc_thresh is statically set to 1024.  It seems\nsane to select a simmilar gc_thresh for the xfrm6 code that is half\nthe number of hash buckets in the v6 route cache times 16 (like the v4\ncode does).\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3e8ee682003685b8b9c98c89340a42e48c3e813",
      "tree": "11d1c94289aa4c4aa668b3df6bd121d9eb76acdc",
      "parents": [
        "3d54015b750e5d5e950a1dcee2735387fd4b6e1a"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Jul 29 23:46:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 30 13:27:29 2009 -0700"
      },
      "message": "ipv4: ARP neigh procfs buffer overflow\n\nIf arp_format_neigh_entry() can be called with n-\u003edev-\u003eaddr_len \u003d\u003d 0, then a\nwrite to hbuffer[-1] occurs.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a44a4a006b860476881ec0098c36584036e1cb91",
      "tree": "d1f6f519b734ca3b4b9e18ad473577884fb6b0d1",
      "parents": [
        "8a729fce76f7af50d8b622f2fb26adce9c8df743"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Jul 27 08:22:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 27 11:35:32 2009 -0700"
      },
      "message": "xfrm: export xfrm garbage collector thresholds via sysctl\n\nExport garbage collector thresholds for xfrm[4|6]_dst_ops\n\nHad a problem reported to me recently in which a high volume of ipsec\nconnections on a system began reporting ENOBUFS for new connections\neventually.\n\nIt seemed that after about 2000 connections we started being unable to\ncreate more.  A quick look revealed that the xfrm code used a dst_ops\nstructure that limited the gc_thresh value to 1024, and always\ndropped route cache entries after 2x the gc_thresh.\n\nIt seems the most direct solution is to export the gc_thresh values in\nthe xfrm[4|6] dst_ops as sysctls, like the main routing table does, so\nthat higher volumes of connections can be supported.  This patch has\nbeen tested and allows the reporter to increase their ipsec connection\nvolume successfully.\n\nReported-by: Joe Nall \u003cjoe@nall.com\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\nipv4/xfrm4_policy.c |   18 ++++++++++++++++++\nipv6/xfrm6_policy.c |   18 ++++++++++++++++++\n2 files changed, 36 insertions(+)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74d154189d597b91da4322996dbf4f5c3d1544ab",
      "tree": "6f09861b5e2f875d2d8ea2127b16add9103221c6",
      "parents": [
        "5a6338db37885af06760d40cad589316e48431e9",
        "ffafa60d496f80c250f2ae0340ae94434c0b0b4d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 19:03:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 19:03:51 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwmc3200wifi/netdev.c\n\tnet/wireless/scan.c\n"
    },
    {
      "commit": "67edfef78639573e9b01c26295a935349aab6fa3",
      "tree": "51e20df3238376b1cab6c803d8b7948c273f1b86",
      "parents": [
        "40d4e3dfc2f56ad85ecca29c7f9a0194bbb833c0"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jul 21 23:00:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 18:01:12 2009 -0700"
      },
      "message": "TCP: Add comments to (near) all functions in tcp_output.c v3\n\nWhile looking for something else I spent some time adding\none liner comments to the tcp_output.c functions that\ndidn\u0027t have any. That makes the comments more consistent.\n\nI hope I documented everything right.\n\nNo code changes.\n\nv2: Incorporated feedback from Ilpo.\nv3: Change style of one liner comments, add a few more comments.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e547bc1eccf539b7403138d8ded913ffd2b7fd0d",
      "tree": "a5d776438864387bdc305ef3ce186ba527f5b5d4",
      "parents": [
        "e3afe7b75ed8f809c1473ea9b39267487c187ccb"
      ],
      "author": {
        "name": "John Dykstra",
        "email": "john.dykstra1@gmail.com",
        "time": "Fri Jul 17 09:23:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 07:49:08 2009 -0700"
      },
      "message": "tcp: Use correct peer adr when copying MD5 keys\n\nWhen the TCP connection handshake completes on the passive\nside, a variety of state must be set up in the \"child\" sock,\nincluding the key if MD5 authentication is being used.  Fix TCP\nfor both address families to label the key with the peer\u0027s\ndestination address, rather than the address from the listening\nsock, which is usually the wildcard.\n\nReported-by:   Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: John Dykstra \u003cjohn.dykstra1@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3afe7b75ed8f809c1473ea9b39267487c187ccb",
      "tree": "715aa813d57ffbc6b1a179e2f7f2957b88b415dc",
      "parents": [
        "a50a97d415d839e6db9df288ff0205528e52c03e"
      ],
      "author": {
        "name": "John Dykstra",
        "email": "john.dykstra1@gmail.com",
        "time": "Thu Jul 16 05:04:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 07:49:07 2009 -0700"
      },
      "message": "tcp: Fix MD5 signature checking on IPv4 mapped sockets\n\nFix MD5 signature checking so that an IPv4 active open\nto an IPv6 socket can succeed.  In particular, use the\ncorrect address family\u0027s signature generation function\nfor the SYN/ACK.\n\nReported-by:   Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: John Dykstra \u003cjohn.dykstra1@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b902e5735272b6a79fe2853180b2ad6658aa9678",
      "tree": "6fa76aa1db096e4b20ba27e59172c1deda07e3fb",
      "parents": [
        "be916cdebe4dc720a23b1a9bb589f2c22afd6589"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Jul 14 11:20:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 07:39:31 2009 -0700"
      },
      "message": "ipv4: fib_trie: Use tnode_get_child_rcu() and node_parent_rcu() in lookups\n\nWhile looking for other fib_trie problems reported by Pawel Staszewski\nI noticed there are a few uses of tnode_get_child() and node_parent()\nin lookups instead of their rcu versions.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be916cdebe4dc720a23b1a9bb589f2c22afd6589",
      "tree": "310a6de2576aaf6e5a87463ee89bf7bea745badd",
      "parents": [
        "c3059477fce2d956a0bb3e04357324780c5d8eeb"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Jul 14 09:41:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 07:39:29 2009 -0700"
      },
      "message": "ipv4: Fix inflate_threshold_root automatically\n\nDuring large updates there could be triggered warnings like: \"Fix\ninflate_threshold_root. Now\u003d25 size\u003d11 bits\" if inflate() of the root\nnode isn\u0027t finished in 10 loops. It should be much rarer now, after\nchanging the threshold from 15 to 25, and a temporary problem, so\nthis patch tries to handle it automatically using a fix variable to\nincrease by one inflate threshold for next root resizes (up to the 35\nlimit, max fix \u003d 10). The fix variable is decreased when root\u0027s\ninflate() finishes below 7 loops (even if some other, smaller table/\ntrie is updated -- for simplicity the fix variable is global for now).\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nReported-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nTested-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3059477fce2d956a0bb3e04357324780c5d8eeb",
      "tree": "c08cd660873667268132d556c2b66d7f9725a173",
      "parents": [
        "2e477c9bd2bb6a1606e498adb53ba913378ecdf2"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Jul 14 08:33:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 07:39:25 2009 -0700"
      },
      "message": "ipv4: Use synchronize_rcu() during trie_rebalance()\n\nDuring trie_rebalance() we free memory after resizing with call_rcu(),\nbut large updates, especially with PREEMPT_NONE configs, can cause\nmemory stresses, so this patch calls synchronize_rcu() in\ntnode_free_flush() after each sync_pages to guarantee such freeing\n(especially before resizing the root node).\n\nThe value of sync_pages \u003d 128 is based on Pawel Staszewski\u0027s tests as\nthe lowest which doesn\u0027t hinder updating times. (For testing purposes\nthere was a sysfs module parameter to change it on demand, but it\u0027s\nremoved until we\u0027re sure it could be really useful.)\n\nThe patch is based on suggestions by: Paul E. McKenney\n\u003cpaulmck@linux.vnet.ibm.com\u003e\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nTested-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c482c568577a2b31716e1019f2868bda7cf5629c",
      "tree": "b3996b6dce72b8c04af2d03e64d2b9d729eb0531",
      "parents": [
        "652f6787c082a174f0bbfa7f895b65b03d8d46c9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 17 00:26:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 17 09:47:31 2009 -0700"
      },
      "message": "udp: cleanups\n\nPure style cleanups.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da8120355e80ddaf534adb8ed910871d97512d56",
      "tree": "9958a6c33e29b5af5faccf6650e98729151618a2",
      "parents": [
        "c86ae82605ef92594a0de809a8c588ae955fed63",
        "7fefe6a88494b00b151b5ca7bb84daaa781bbca7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 16 20:21:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 16 20:21:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/orinoco/main.c\n"
    },
    {
      "commit": "ee686ca919193d7c1f87f907e732df5e2f942523",
      "tree": "2a1f528de455ffc952ab9bc795dd38a863604aaa",
      "parents": [
        "c8159b2db1b49f6bda4429008c85108e2da60712"
      ],
      "author": {
        "name": "Andreas Jaggi",
        "email": "aj@open.ch",
        "time": "Tue Jul 14 09:35:59 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 14 09:35:59 2009 -0700"
      },
      "message": "gre: fix ToS/DiffServ inherit bug\n\nFixes two bugs:\n- ToS/DiffServ inheritance was unintentionally activated when using impair fixed ToS values\n- ECN bit was lost during ToS/DiffServ inheritance\n\nSigned-off-by: Andreas Jaggi \u003caj@open.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7ca4cc01fd154f2da30ae6dae160fa5800af758",
      "tree": "8e772bbb2320f4b109e20e9e588345bd1a51fb12",
      "parents": [
        "30ffee8480c13fbcf8ab6c28e31f79dfff683117"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Thu Jul 09 08:09:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 12 14:29:21 2009 -0700"
      },
      "message": "udpv4: Handle large incoming UDP/IPv4 packets and support software UFO.\n\n- validate and forward GSO UDP/IPv4 packets from untrusted sources.\n- do software UFO if the outgoing device doesn\u0027t support UFO.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e51a67a9c8a2ea5c563f8c2ba6613fe2100ffe67",
      "tree": "d9741a14cc9134e592c37b1c235f2f13a20c261f",
      "parents": [
        "e912b1142be8f1e2c71c71001dc992c6e5eb2ec1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jul 08 14:20:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 11 20:26:21 2009 -0700"
      },
      "message": "net: ip_push_pending_frames() fix\n\nAfter commit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nwe do not take any more references on sk-\u003esk_refcnt on outgoing packets.\n\nI forgot to delete two __sock_put() from ip_push_pending_frames()\nand ip6_push_pending_frames().\n\nReported-by: Emil S Tantilov \u003cemils.tantilov@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Emil S Tantilov \u003cemils.tantilov@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5a8a896f5180f2950695d2d0b79db348d200ca4",
      "tree": "04adc57ae51a6d30a89ffae970770b81ee81fc23",
      "parents": [
        "bff38771e1065c7fc3de87e47ba366151eea573c",
        "e594e96e8a14101a6decabf6746bd5186287debc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 20:18:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 20:18:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "a57de0b4336e48db2811a2030bb68dba8dd09d88",
      "tree": "a01c189d5fd55c69c9e2e842241e84b46728bc60",
      "parents": [
        "1b614fb9a00e97b1eab54d4e442d405229c059dd"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Jul 08 12:09:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 17:06:57 2009 -0700"
      },
      "message": "net: adding memory barrier to the poll and receive callbacks\n\nAdding memory barrier after the poll_wait function, paired with\nreceive callbacks. Adding fuctions sock_poll_wait and sk_has_sleeper\nto wrap the memory barrier.\n\nWithout the memory barrier, following race can happen.\nThe race fires, when following code paths meet, and the tp-\u003ercv_nxt\nand __add_wait_queue updates stay in CPU caches.\n\nCPU1                         CPU2\n\nsys_select                   receive packet\n  ...                        ...\n  __add_wait_queue           update tp-\u003ercv_nxt\n  ...                        ...\n  tp-\u003ercv_nxt check          sock_def_readable\n  ...                        {\n  schedule                      ...\n                                if (sk-\u003esk_sleep \u0026\u0026 waitqueue_active(sk-\u003esk_sleep))\n                                        wake_up_interruptible(sk-\u003esk_sleep)\n                                ...\n                             }\n\nIf there was no cache the code would work ok, since the wait_queue and\nrcv_nxt are opposit to each other.\n\nMeaning that once tp-\u003ercv_nxt is updated by CPU2, the CPU1 either already\npassed the tp-\u003ercv_nxt check and sleeps, or will get the new value for\ntp-\u003ercv_nxt and will return with new data mask.\nIn both cases the process (CPU1) is being added to the wait queue, so the\nwaitqueue_active (CPU2) call cannot miss and will wake up CPU1.\n\nThe bad case is when the __add_wait_queue changes done by CPU1 stay in its\ncache, and so does the tp-\u003ercv_nxt update on CPU2 side.  The CPU1 will then\nendup calling schedule and sleep forever if there are no more data on the\nsocket.\n\nCalls to poll_wait in following modules were ommited:\n\tnet/bluetooth/af_bluetooth.c\n\tnet/irda/af_irda.c\n\tnet/irda/irnet/irnet_ppp.c\n\tnet/mac80211/rc80211_pid_debugfs.c\n\tnet/phonet/socket.c\n\tnet/rds/af_rds.c\n\tnet/rfkill/core.c\n\tnet/sunrpc/cache.c\n\tnet/sunrpc/rpc_pipe.c\n\tnet/tipc/socket.c\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "345aa031207d02d7438c1aa96ed9315911ecd745",
      "tree": "e9003cc0010b081eb975e209baa2753e8996582a",
      "parents": [
        "64c8165b44a91c09b19afb4110610ed242286639"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Jul 07 19:39:16 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 08 10:46:45 2009 -0700"
      },
      "message": "ipv4: Fix fib_trie rebalancing, part 4 (root thresholds)\n\nPawel Staszewski wrote:\n\u003cblockquote\u003e\nSome time ago i report this:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d6648\n\nand now with 2.6.29 / 2.6.29.1 / 2.6.29.3 and 2.6.30 it back\ndmesg output:\noprofile: using NMI interrupt.\nFix inflate_threshold_root. Now\u003d15 size\u003d11 bits\n...\nFix inflate_threshold_root. Now\u003d15 size\u003d11 bits\n\ncat /proc/net/fib_triestat\nBasic info: size of leaf: 40 bytes, size of tnode: 56 bytes.\nMain:\n        Aver depth:     2.28\n        Max depth:      6\n        Leaves:         276539\n        Prefixes:       289922\n        Internal nodes: 66762\n          1: 35046  2: 13824  3: 9508  4: 4897  5: 2331  6: 1149  7: 5\n9: 1  18: 1\n        Pointers: 691228\nNull ptrs: 347928\nTotal size: 35709  kB\n\u003c/blockquote\u003e\n\nIt seems, the current threshold for root resizing is too aggressive,\nand it causes misleading warnings during big updates, but it might be\nalso responsible for memory problems, especially with non-preempt\nconfigs, when RCU freeing is delayed long after call_rcu.\n\nIt should be also mentioned that because of non-atomic changes during\nresizing/rebalancing the current lookup algorithm can miss valid leaves\nso it\u0027s additional argument to shorten these activities even at a cost\nof a minimally longer searching.\n\nThis patch restores values before the patch \"[IPV4]: fib_trie root\nnode settings\", commit: 965ffea43d4ebe8cd7b9fee78d651268dd7d23c5 from\nv2.6.22.\n\nPawel\u0027s report:\n\u003cblockquote\u003e\nI dont see any big change of (cpu load or faster/slower\nrouting/propagating routes from bgpd or something else) - in avg there\nis from 2% to 3% more of CPU load i dont know why but it is - i change\nfrom \"preempt\" to \"no preempt\" 3 times and check this my \"mpstat -P ALL\n1 30\"\nalways avg cpu load was from 2 to 3% more compared to \"no preempt\"\n[...]\ncat /proc/net/fib_triestat\nBasic info: size of leaf: 20 bytes, size of tnode: 36 bytes.\nMain:\n        Aver depth:     2.44\n        Max depth:      6\n        Leaves:         277814\n        Prefixes:       291306\n        Internal nodes: 66420\n          1: 32737  2: 14850  3: 10332  4: 4871  5: 2313  6: 942  7: 371  8: 3  17: 1\n        Pointers: 599098\nNull ptrs: 254865\nTotal size: 18067  kB\n\u003c/blockquote\u003e\n\nAccording to this and other similar reports average depth is slightly\nincreased (~0.2), and root nodes are shorter (log 17 vs. 18), but\nthere is no visible performance decrease. So, until memory handling is\nimproved or added parameters for changing this individually, this\npatch resets to safer defaults.\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nReported-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nTested-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ed106549d17474ca17a16057f4c0ed4eba5a7ca",
      "tree": "b98c09081509b3a9757339b6b66779e4126dfa29",
      "parents": [
        "0e8635a8e1f2d4a9e1bfc6c3b21419a5921e674f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 23 06:03:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:16:04 2009 -0700"
      },
      "message": "net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions\n\nThis patch is the result of an automatic spatch transformation to convert\nall ndo_start_xmit() return values of 0 to NETDEV_TX_OK.\n\nSome occurences are missed by the automatic conversion, those will be\nhandled in a seperate patch.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c615c9f3f3cea60279b1bb38e8ef27bd575ecd0c",
      "tree": "2bf343e769106a87e3cda9801e3b8cb942d722c9",
      "parents": [
        "15da4b1612d608a47e095439b3dd1d77ffe20e0c"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Jul 02 16:57:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 03 19:10:06 2009 -0700"
      },
      "message": "xfrm4: fix the ports decode of sctp protocol\n\nThe SCTP pushed the skb data above the sctp chunk header, so the check\nof pskb_may_pull(skb, xprth + 4 - skb-\u003edata) in _decode_session4() will\nnever return 0 because xprth + 4 - skb-\u003edata \u003c 0, the ports decode of\nsctp will always fail.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c43768cbb7655ea5ff782ae250f6e2ef4297cf98",
      "tree": "3982e41dde3eecaa3739a5d1a8ed18d04bd74f01",
      "parents": [
        "1a8dd307cc0a2119be4e578c517795464e6dabba",
        "746a99a5af60ee676afa2ba469ccd1373493c7e7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 04 07:13:18 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 04 07:13:18 2009 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nPull linus#master to merge PER_CPU_DEF_ATTRIBUTES and alpha build fix\nchanges.  As alpha in percpu tree uses \u0027weak\u0027 attribute instead of\ninline assembly, there\u0027s no need for __used attribute.\n\nConflicts:\n\tarch/alpha/include/asm/percpu.h\n\tarch/mn10300/kernel/vmlinux.lds.S\n\tinclude/linux/percpu-defs.h\n"
    },
    {
      "commit": "f8a68e752bc4e39644843403168137663c984524",
      "tree": "3fb17f72a02319f92bd3ed4d73456bbc7e8ac633",
      "parents": [
        "59ed6eecff4aa00c5c5d18ffd180acac108d596e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jun 30 16:27:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 30 19:47:08 2009 -0700"
      },
      "message": "Revert \"ipv4: arp announce, arp_proxy and windows ip conflict verification\"\n\nThis reverts commit 73ce7b01b4496a5fbf9caf63033c874be692333f.\n\nAfter discovering that we don\u0027t listen to gratuitious arps in 2.6.30\nI tracked the failure down to this commit.\n\nThe patch makes absolutely no sense.  RFC2131 RFC3927 and RFC5227.\nare all in agreement that an arp request with sip \u003d\u003d 0 should be used\nfor the probe (to prevent learning) and an arp request with sip \u003d\u003d tip\nshould be used for the gratitous announcement that people can learn\nfrom.\n\nIt appears the author of the broken patch got those two cases confused\nand modified the code to drop all gratuitous arp traffic.  Ouch!\n\nCc: stable@kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008440e3ad4b72f5048d1b1f6f5ed894fdc5ad08",
      "tree": "bcf7771cd07562b258aaa032f85c29eaa00b9b6c",
      "parents": [
        "01e532981460594fffbf9b992ecfc96a78369924"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Jun 30 12:47:19 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 30 12:48:38 2009 -0700"
      },
      "message": "ipv4: Fix fib_trie rebalancing, part 3\n\nAlas current delaying of freeing old tnodes by RCU in trie_rebalance\nis still not enough because we can free a top tnode before updating a\nt-\u003etrie pointer.\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nTested-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6828b92bd21acd65113dfe0541f19f5df0d9668f",
      "tree": "be9b1009500891d7598a2c19a63fad9c0a28f17c",
      "parents": [
        "8e5b9dda99cc86bdbd822935fcc37c5808e271b3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jun 28 18:06:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:41:43 2009 -0700"
      },
      "message": "tcp: Do not tack on TSO data to non-TSO packet\n\nIf a socket starts out on a non-TSO route, and then switches to\na TSO route, then we will tack on data to the tail of the tx queue\neven if it started out life as non-TSO.  This is suboptimal because\nall of it will then be copied and checksummed unnecessarily.\n\nThis patch fixes this by ensuring that skb-\u003eip_summed is set to\nCHECKSUM_PARTIAL before appending extra data beyond the MSS.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e5b9dda99cc86bdbd822935fcc37c5808e271b3",
      "tree": "216ce989fdac1d8ecd33698e8fae46fe0d4bb616",
      "parents": [
        "9c0346bd0891eb009f5cd08b868ff41c65804dbe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jun 28 18:03:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:41:39 2009 -0700"
      },
      "message": "tcp: Stop non-TSO packets morphing into TSO\n\nIf a socket starts out on a non-TSO route, and then switches to\na TSO route, then the tail on the tx queue can morph into a TSO\npacket, causing mischief because the rest of the stack does not\nexpect a partially linear TSO packet.\n\nThis patch fixes this by ensuring that skb-\u003eip_summed is set to\nCHECKSUM_PARTIAL before declaring a packet as TSO.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53bd9728bf9be7fc3b3147e821dbeb71d767c354",
      "tree": "3e4dcda28ef94b6d67d24d22b4e1ec76f6fcd968",
      "parents": [
        "bd46cb6cf11867130a41ea9546dd65688b71f3c2",
        "d6d3f08b0fd998b647a05540cedd11a067b72867"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:22:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:22:31 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272",
      "tree": "e38bb7cc051cf197a813d553713e3071d375a1b9",
      "parents": [
        "308ff823ebd749a94d3b6ac26b95bc0eb114c39e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 29 14:07:56 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 29 14:07:56 2009 +0200"
      },
      "message": "netfilter: tcp conntrack: fix unacknowledged data detection with NAT\n\nWhen NAT helpers change the TCP packet size, the highest seen sequence\nnumber needs to be corrected. This is currently only done upwards, when\nthe packet size is reduced the sequence number is unchanged. This causes\nTCP conntrack to falsely detect unacknowledged data and decrease the\ntimeout.\n\nFix by updating the highest seen sequence number in both directions after\npacket mangling.\n\nTested-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    }
  ],
  "next": "71f9dacd2e4d233029e9e956ca3f79531f411827"
}
