)]}'
{
  "log": [
    {
      "commit": "d68f0866f76e2bc4ddc07e88e2cb1bc8959a6d7e",
      "tree": "2cab08fd8de1c81c6d5a545a5b2aa96743cb6862",
      "parents": [
        "73f18fdbca3f92b90aeaee16f5175fe30496e218"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Fix sequence number check for ICMPv4 packets\n\nThe payload of ICMP message is a part of the packet sent by ourself,\nso the sequence number check must use AWL and AWH, not SWL and SWH.\n\nFor example:\n     Endpoint A                  Endpoint B\n\n     DATA-ACK       --------\u003e\n     (SEQ\u003dX)\n                    \u003c--------    ICMP (Fragmentation Needed)\n                                 (SEQ\u003dX)\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "73f18fdbca3f92b90aeaee16f5175fe30496e218",
      "tree": "855e3a9dcad54336c3b0301e09f85b39a9c2b48a",
      "parents": [
        "59435444a13ed52d3444c5df26b73d3086bcd57b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Bug-Fix - AWL was never updated\n\nThe AWL lower Ack validity window advances in proportion to GSS, the greatest\nsequence number sent. Updating AWL other than at connection setup (in the\nDCCP-Request sent by dccp_v{4,6}_connect()) was missing in the DCCP code.\n\nThis bug lead to syslog messages such as\n\n \"kernel: dccp_check_seqno: DCCP: Step 6 failed for DATAACK packet, [...] \n  P.ackno exists or LAWL(82947089) \u003c\u003d P.ackno(82948208)\n                                   \u003c\u003d S.AWH(82948728), sending SYNC...\"\n\nThe difference between AWL/AWH here is 1639 packets, while the expected value\n(the Sequence Window) would have been 100 (the default).  A closer look showed\nthat LAWL \u003d AWL \u003d 82947089 equalled the ISS on the Response.\n\nThe patch now updates AWL with each increase of GSS.\n\n\nFurther changes:\n----------------\nThe patch also enforces more stringent checks on the ISS sequence number:\n\n * AWL is initialised to ISS at connection setup and remains at this value;\n * AWH is then always set to GSS (via dccp_update_gss());\n * so on the first Request: AWL \u003d      AWH \u003d ISS,\n   and on the n-th Request: AWL \u003d ISS, AWH \u003d ISS + n.\n\nAs a consequence, only Response packets that refer to Requests sent by this\nhost will pass, all others are discarded. This is the intention and in effect \nimplements the initial adjustments for AWL as specified in RFC 4340, 7.5.1.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e   \nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\n"
    },
    {
      "commit": "59435444a13ed52d3444c5df26b73d3086bcd57b",
      "tree": "72846dbcb8c6c41e6d630bcb81297801dfe7fb16",
      "parents": [
        "cdec7e50a4896c5197d5575d9ca635eea6825149"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:09 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:09 2008 +0100"
      },
      "message": "dccp: Allow to distinguish original and retransmitted packets\n\nThis patch allows the sender to distinguish original and retransmitted packets,\nwhich is in particular needed for the retransmission of DCCP-Requests:\n * the first Request uses ISS (generated in net/dccp/ip*.c), and sets GSS \u003d ISS;\n * all retransmitted Requests use GSS\u0027 \u003d GSS + 1, so that the n-th retransmitted\n   Request has sequence number ISS + n (mod 48).\n\nTo add generic support, the patch reorganises existing code so that:\n * icsk_retransmits \u003d\u003d 0     for the original packet and\n * icsk_retransmits \u003d n \u003e 0  for the n-th retransmitted packet\nat the time dccp_transmit_skb() is called, via dccp_retransmit_skb().\n \nThanks to Wei Yongjun for pointing this problem out.\n\nFurther changes:\n----------------\n * removed the `skb\u0027 argument from dccp_retransmit_skb(), since sk_send_head\n   is used for all retransmissions (the exception is client-Acks in PARTOPEN\n   state, but these do not use sk_send_head);\n * since sk_send_head always contains the original skb (via dccp_entail()),\n   skb_cloned() never evaluated to true and thus pskb_copy() was never used.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "cdec7e50a4896c5197d5575d9ca635eea6825149",
      "tree": "0071b43c923cd73b4a5d2d09fbb876ed39a3a06d",
      "parents": [
        "509e2562adfd63964aa30c1ddd9ddf4e57949351"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:28:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:28:09 2008 -0700"
      },
      "message": "Revert \"pkt_sched: sch_sfq: dump a real number of flows\"\n\nThis reverts commit f867e6af94239a04ec23aeec2fcda5aa58e41db7.\n\nBased upon discussions between Jarek and Patrick McHardy\nthis is field being set is more a config parameter than a\nstatistic.  And we should add a true statistic to provide\nthis information if we really want it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16df845f4566bc252f3e09db12f5c2f22cb44226",
      "tree": "c83f5b664b669ff26bbf5c9a44b9ccecfa53c506",
      "parents": [
        "ec34c702ca8b7d6f0aa54379c3b0d0ec10b8ff23"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Jul 26 02:21:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 02:21:54 2008 -0700"
      },
      "message": "syncookies: Make sure ECN is disabled\n\necn_ok is not initialized when a connection is established by cookies.\nThe cookie syn-ack never sets ECN, so ecn_ok must be set to 0.\n\nSpotted using ns-3/network simulation cradle simulator and valgrind.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d7e5a60c62e88cb8782760bb6c4d3bd1577a6c6",
      "tree": "c6bedd62097698466d7dc0b5166e4ed29e1b6ee5",
      "parents": [
        "6fccab671f2f0a24b799f29a4ec878f62d34656c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jul 25 02:55:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 02:55:33 2008 -0700"
      },
      "message": "ipsec: ipcomp - Decompress into frags if necessary\n\nWhen decompressing extremely large packets allocating them through\nkmalloc is prone to failure.  Therefore it\u0027s better to use page\nfrags instead.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fccab671f2f0a24b799f29a4ec878f62d34656c",
      "tree": "e90a1ac0770f8fe59bd7c8768663052a7756b950",
      "parents": [
        "cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jul 25 02:54:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 02:54:40 2008 -0700"
      },
      "message": "ipsec: ipcomp - Merge IPComp implementations\n\nThis patch merges the IPv4/IPv6 IPComp implementations since most\nof the code is identical.  As a result future enhancements will no\nlonger need to be duplicated.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3",
      "tree": "8d016589486306d406f12ed6b8d85f4be59e460d",
      "parents": [
        "f867e6af94239a04ec23aeec2fcda5aa58e41db7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 01:25:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 01:25:04 2008 -0700"
      },
      "message": "pkt_sched: Fix locking in shutdown_scheduler_queue()\n\nQdisc locks need to be held with BH disabled.\n\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f867e6af94239a04ec23aeec2fcda5aa58e41db7",
      "tree": "aba94e6be14429ab8a6556c8d10c11a04914568c",
      "parents": [
        "6f75a9b6426e686649ac440c37ec7c249501f9a5"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Jul 23 21:34:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 21:34:27 2008 -0700"
      },
      "message": "pkt_sched: sch_sfq: dump a real number of flows\n\nDump the \"flows\" number according to the number of active flows\ninstead of repeating the \"limit\".\n\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70eed75d76635ba7350651b9bd96529a306ec67a",
      "tree": "3fe67ecd24dfdffee1145b5d3983ac7113d9783c",
      "parents": [
        "4b53fb67e385b856a991d402096379dab462170a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 23 16:42:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:42:42 2008 -0700"
      },
      "message": "netfilter: make security table depend on NETFILTER_ADVANCED\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b53fb67e385b856a991d402096379dab462170a",
      "tree": "333dada17059f4c67c48123974059206c2e676d9",
      "parents": [
        "e8ebe3b893792887317bc24cc4608753f81b81d3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:38:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 16:38:45 2008 -0700"
      },
      "message": "tcp: Clear probes_out more aggressively in tcp_ack().\n\nThis is based upon an excellent bug report from Eric Dumazet.\n\ntcp_ack() should clear -\u003eicsk_probes_out even if there are packets\noutstanding.  Otherwise if we get a sequence of ACKs while we do have\npackets outstanding over and over again, we\u0027ll never clear the\nprobes_out value and eventually think the connection is too sick and\nwe\u0027ll reset it.\n\nThis appears to be some \"optimization\" added to tcp_ack() in the 2.4.x\ntimeframe.  In 2.2.x, probes_out is pretty much always cleared by\ntcp_ack().\n\nHere is Eric\u0027s original report:\n\n----------------------------------------\nApparently, we can in some situations reset TCP connections in a couple of seconds when some frames are lost.\n\nIn order to reproduce the problem, please try the following program on linux-2.6.25.*\n\nSetup some iptables rules to allow two frames per second sent on loopback interface to tcp destination port 12000\n\niptables -N SLOWLO\niptables -A SLOWLO -m hashlimit --hashlimit 2 --hashlimit-burst 1 --hashlimit-mode dstip --hashlimit-name slow2 -j ACCEPT\niptables -A SLOWLO -j DROP\n\niptables -A OUTPUT -o lo -p tcp --dport 12000 -j SLOWLO\n\nThen run the attached program and see the output :\n\n# ./loop\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,1)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,3)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,5)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,7)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,9)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,200ms,11)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,201ms,13)\nState      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port\nESTAB      0      40                                          127.0.0.1:54455                                      127.0.0.1:12000  timer:(persist,188ms,15)\nwrite(): Connection timed out\nwrote 890 bytes but was interrupted after 9 seconds\nESTAB      0      0                 127.0.0.1:12000            127.0.0.1:54455\nExiting read() because no data available (4000 ms timeout).\nread 860 bytes\n\nWhile this tcp session makes progress (sending frames with 50 bytes of payload, every 500ms), linux tcp stack decides to reset it, when tcp_retries 2 is reached (default value : 15)\n\ntcpdump :\n\n15:30:28.856695 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: S 33788768:33788768(0) win 32792 \u003cmss 16396,nop,nop,sackOK,nop,wscale 7\u003e\n15:30:28.856711 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: S 33899253:33899253(0) ack 33788769 win 32792 \u003cmss 16396,nop,nop,sackOK,nop,wscale 7\u003e\n15:30:29.356947 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 1:61(60) ack 1 win 257\n15:30:29.356966 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 61 win 257\n15:30:29.866415 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 61:111(50) ack 1 win 257\n15:30:29.866427 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 111 win 257\n15:30:30.366516 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 111:161(50) ack 1 win 257\n15:30:30.366527 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 161 win 257\n15:30:30.876196 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 161:211(50) ack 1 win 257\n15:30:30.876207 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 211 win 257\n15:30:31.376282 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 211:261(50) ack 1 win 257\n15:30:31.376290 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 261 win 257\n15:30:31.885619 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 261:311(50) ack 1 win 257\n15:30:31.885631 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 311 win 257\n15:30:32.385705 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 311:361(50) ack 1 win 257\n15:30:32.385715 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 361 win 257\n15:30:32.895249 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 361:411(50) ack 1 win 257\n15:30:32.895266 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 411 win 257\n15:30:33.395341 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 411:461(50) ack 1 win 257\n15:30:33.395351 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 461 win 257\n15:30:33.918085 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 461:511(50) ack 1 win 257\n15:30:33.918096 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 511 win 257\n15:30:34.418163 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 511:561(50) ack 1 win 257\n15:30:34.418172 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 561 win 257\n15:30:34.927685 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 561:611(50) ack 1 win 257\n15:30:34.927698 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 611 win 257\n15:30:35.427757 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 611:661(50) ack 1 win 257\n15:30:35.427766 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 661 win 257\n15:30:35.937359 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 661:711(50) ack 1 win 257\n15:30:35.937376 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 711 win 257\n15:30:36.437451 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 711:761(50) ack 1 win 257\n15:30:36.437464 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 761 win 257\n15:30:36.947022 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 761:811(50) ack 1 win 257\n15:30:36.947039 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 811 win 257\n15:30:37.447135 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: P 811:861(50) ack 1 win 257\n15:30:37.447203 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: . ack 861 win 257\n15:30:41.448171 IP 127.0.0.1.12000 \u003e 127.0.0.1.56554: F 1:1(0) ack 861 win 257\n15:30:41.448189 IP 127.0.0.1.56554 \u003e 127.0.0.1.12000: R 33789629:33789629(0) win 0\n\nSource of program :\n\n/*\n * small producer/consumer program.\n * setup a listener on 127.0.0.1:12000\n * Forks a child\n *   child connect to 127.0.0.1, and sends 10 bytes on this tcp socket every 100 ms\n * Father accepts connection, and read all data\n */\n#include \u003csys/types.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003csys/poll.h\u003e\n\nint port \u003d 12000;\nchar buffer[4096];\nint main(int argc, char *argv[])\n{\n        int lfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n        struct sockaddr_in socket_address;\n        time_t t0, t1;\n        int on \u003d 1, sfd, res;\n        unsigned long total \u003d 0;\n        socklen_t alen \u003d sizeof(socket_address);\n        pid_t pid;\n\n        time(\u0026t0);\n        socket_address.sin_family \u003d AF_INET;\n        socket_address.sin_port \u003d htons(port);\n        socket_address.sin_addr.s_addr \u003d htonl(INADDR_LOOPBACK);\n\n        if (lfd \u003d\u003d -1) {\n                perror(\"socket()\");\n                return 1;\n        }\n        setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, \u0026on, sizeof(int));\n        if (bind(lfd, (struct sockaddr *)\u0026socket_address, sizeof(socket_address)) \u003d\u003d -1) {\n                perror(\"bind\");\n                close(lfd);\n                return 1;\n        }\n        if (listen(lfd, 1) \u003d\u003d -1) {\n                perror(\"listen()\");\n                close(lfd);\n                return 1;\n        }\n        pid \u003d fork();\n        if (pid \u003d\u003d 0) {\n                int i, cfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n                close(lfd);\n                if (connect(cfd, (struct sockaddr *)\u0026socket_address, sizeof(socket_address)) \u003d\u003d -1) {\n                        perror(\"connect()\");\n                        return 1;\n                        }\n                for (i \u003d 0 ; ;) {\n                        res \u003d write(cfd, \"blablabla\\n\", 10);\n                        if (res \u003e 0) total +\u003d res;\n                        else if (res \u003d\u003d -1) {\n                                perror(\"write()\");\n                                break;\n                        } else break;\n                        usleep(100000);\n                        if (++i \u003d\u003d 10) {\n                                system(\"ss -on dst 127.0.0.1:12000\");\n                                i \u003d 0;\n                        }\n                }\n                time(\u0026t1);\n                fprintf(stderr, \"wrote %lu bytes but was interrupted after %g seconds\\n\", total, difftime(t1, t0));\n                system(\"ss -on | grep 127.0.0.1:12000\");\n                close(cfd);\n                return 0;\n        }\n        sfd \u003d accept(lfd, (struct sockaddr *)\u0026socket_address, \u0026alen);\n        if (sfd \u003d\u003d -1) {\n                perror(\"accept\");\n                return 1;\n        }\n        close(lfd);\n        while (1) {\n                struct pollfd pfd[1];\n                pfd[0].fd \u003d sfd;\n                pfd[0].events \u003d POLLIN;\n                if (poll(pfd, 1, 4000) \u003d\u003d 0) {\n                        fprintf(stderr, \"Exiting read() because no data available (4000 ms timeout).\\n\");\n                        break;\n                }\n                res \u003d read(sfd, buffer, sizeof(buffer));\n                if (res \u003e 0) total +\u003d res;\n                else if (res \u003d\u003d 0) break;\n                else perror(\"read()\");\n        }\n        fprintf(stderr, \"read %lu bytes\\n\", total);\n        close(sfd);\n        return 0;\n}\n----------------------------------------\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4942af65028c5eb516fdd9053020ccb2ee186ce",
      "tree": "c1dbedc282777c599abf430dbd591edd1380dcab",
      "parents": [
        "5b3ab1dbd401b36ba2f9bfee2d2dae252fd62cd8"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "oliver@hartkopp.net",
        "time": "Wed Jul 23 14:06:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 14:06:04 2008 -0700"
      },
      "message": "net: Update entry in af_family_clock_key_strings\n\nIn the merge phase of the CAN subsystem the \naf_family_clock_key_strings[] have been added to sock.c in commit \n443aef0eddfa44c158d1b94ebb431a70638fcab4 \n(lockdep: fixup sk_callback_lock annotation). This trivial patch adds \nthe missing name for address family 29 (AF_CAN).\n\nSigned-off-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b3ab1dbd401b36ba2f9bfee2d2dae252fd62cd8",
      "tree": "e03459ee944e51a49f46e71aa688c8507005659f",
      "parents": [
        "8a6d2ea0cd121e3bfff4dbce5bc111874cf9e9d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 14:01:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 23 14:01:29 2008 -0700"
      },
      "message": "netdev: Remove warning from __netif_schedule().\n\nIt isn\u0027t helping anything and we aren\u0027t going to be able to change all\nthe drivers that do queue wakeups in strange situations.\n\nJust letting a noop_qdisc get scheduled will work because when\nqdisc_run() executes via net_tx_work() it will simply find no packets\npending when it makes the -\u003edequeue() call in qdisc_restart.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c010b2f76c3032e48097a6eef291d8593d5d79a6",
      "tree": "16077c83703527732991a55dea1abe330c0ccdc6",
      "parents": [
        "6069fb2ef5d4f47432359c97f350e0cfcc4d208e",
        "521c4d96e0840ecce25b956e00f416ed499ef2ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:09:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:09:51 2008 -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: (82 commits)\n  ipw2200: Call netif_*_queue() interfaces properly.\n  netxen: Needs to include linux/vmalloc.h\n  [netdrvr] atl1d: fix !CONFIG_PM build\n  r6040: rework init_one error handling\n  r6040: bump release number to 0.18\n  r6040: handle RX fifo full and no descriptor interrupts\n  r6040: change the default waiting time\n  r6040: use definitions for magic values in descriptor status\n  r6040: completely rework the RX path\n  r6040: call napi_disable when puting down the interface and set lp-\u003edev accordingly.\n  mv643xx_eth: fix NETPOLL build\n  r6040: rework the RX buffers allocation routine\n  r6040: fix scheduling while atomic in r6040_tx_timeout\n  r6040: fix null pointer access and tx timeouts\n  r6040: prefix all functions with r6040\n  rndis_host: support WM6 devices as modems\n  at91_ether: use netstats in net_device structure\n  sfc: Create one RX queue and interrupt per CPU package by default\n  sfc: Use a separate workqueue for resets\n  sfc: I2C adapter initialisation fixes\n  ...\n"
    },
    {
      "commit": "3d0f24a74e7957593a5622eb5c04ed6860dd8391",
      "tree": "52c17c0606f47f5435ada93baf63d1a585a2ccb9",
      "parents": [
        "75307c0fe7fcb3b52a92fe32384fc33f50622654"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:35:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:35:50 2008 -0700"
      },
      "message": "ipv6: icmp6_dst_gc return change\n\nChange icmp6_dst_gc to return the one value the caller cares about rather\nthan using call by reference.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75307c0fe7fcb3b52a92fe32384fc33f50622654",
      "tree": "e29728cacb84bc7b77644099fc8a466c575b90aa",
      "parents": [
        "a76d7345a3f92bb8352f200e7b2e380dddcd7e36"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:35:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:35:07 2008 -0700"
      },
      "message": "ipv6: use kcalloc\n\nTh fib_table_hash is an array, so use kcalloc.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a76d7345a3f92bb8352f200e7b2e380dddcd7e36",
      "tree": "cf86c16ba208ef3af16d06fb941a592f754ad966",
      "parents": [
        "c8a4522245e9931a53a98d5160bb4c00d3f73921"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:34:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:34:35 2008 -0700"
      },
      "message": "ipv6: use spin_trylock_bh\n\nNow there is spin_trylock_bh, use it rather than open coding.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8a4522245e9931a53a98d5160bb4c00d3f73921",
      "tree": "53dfe5ef6ae5706a8ebaa90ae2ae4c84b3dc04fa",
      "parents": [
        "417f28bb340725544c36b35465444d2fd57232b8"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:34:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:34:09 2008 -0700"
      },
      "message": "ipv6: use round_jiffies\n\nThis timer normally happens once a minute, there is no need to cause an\nearly wakeup for it, so align it to next second boundary to safe power.\nIt can\u0027t be deferred because then it could take too long on cleanup or DoS.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "417f28bb340725544c36b35465444d2fd57232b8",
      "tree": "8a38097b4ea34a2877ecfdb95f37ad2864f5754d",
      "parents": [
        "888c848ed34bd5f8cb56567624c0d951ab35174e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:33:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:33:45 2008 -0700"
      },
      "message": "netns: dont alloc ipv6 fib timer list\n\nFIB timer list is a trivial size structure, avoid indirection and just\nput it in existing ns.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "888c848ed34bd5f8cb56567624c0d951ab35174e",
      "tree": "b63a960b5fbdc8bebab6ed1d84212a95a19c0bc2",
      "parents": [
        "4d6971e909e904be60218739fc961188471fc4f4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:21:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:21:58 2008 -0700"
      },
      "message": "ipv6: make struct ipv6_devconf static\n\nstruct ipv6_devconf can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d6971e909e904be60218739fc961188471fc4f4",
      "tree": "b1c5b55ec7f6e6982f6ae55b1e580db629decb8e",
      "parents": [
        "abd0b198ea699578c3c3476d646c91842e19dbd2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:21:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:21:30 2008 -0700"
      },
      "message": "sctp: remove sctp_assoc_proc_exit()\n\nCommit 20c2c1fd6c842caf70dcb1d94b9d58861949fd3d\n(sctp: add sctp/remaddr table to complete RFC remote address table OID)\nadded an unused sctp_assoc_proc_exit() function that seems to have been \nunintentionally created when copying the assocs code.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abd0b198ea699578c3c3476d646c91842e19dbd2",
      "tree": "7fd20239f80d1cad22e9023d3c481944b81a198a",
      "parents": [
        "a94f779f9d82eb2d758a8715eaae5df98e8dcb21"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:20:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:20:45 2008 -0700"
      },
      "message": "sctp: make sctp_outq_flush() static\n\nsctp_outq_flush() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a94f779f9d82eb2d758a8715eaae5df98e8dcb21",
      "tree": "0ea45807ecf0f6788ec226000b4ff69b0c0bd2a1",
      "parents": [
        "8086cd451f08f4c0f9693fc66d87754bbd18cfba"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:20:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:20:11 2008 -0700"
      },
      "message": "pkt_sched: make qdisc_class_hash_alloc() static\n\nThis patch makes the needlessly global qdisc_class_hash_alloc() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf508b1211dbe576778ff445ea1b4b0bcfa5c4ea",
      "tree": "4774838c2db17db71662a625fea25def8823341a",
      "parents": [
        "d29f749e252bcdbfe7a75a58f0ee92da16f127c0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:16:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:16:42 2008 -0700"
      },
      "message": "netdev: Handle -\u003eaddr_list_lock just like -\u003e_xmit_lock for lockdep.\n\nThe new address list lock needs to handle the same device layering\nissues that the _xmit_lock one does.\n\nThis integrates work done by Patrick McHardy.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d29f749e252bcdbfe7a75a58f0ee92da16f127c0",
      "tree": "701734c2beed075d603d28cc4a343ecf1d4e475b",
      "parents": [
        "b32d13102d39ed411d152a7ffcc5f66d5b3b1b49"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Jul 22 14:09:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:09:06 2008 -0700"
      },
      "message": "net: Fix build failure with \u0027make mandocs\u0027.\n\nThe function header comments have to go with the functions\nthey are documenting, or things go horribly wrong when we\ntry to process them with the docbook tools.\n\nWarning(include/linux/netdevice.h:1006): No description found for parameter \u0027dev_queue\u0027\nWarning(include/linux/netdevice.h:1033): No description found for parameter \u0027dev_queue\u0027\nWarning(include/linux/netdevice.h:1067): No description found for parameter \u0027dev_queue\u0027\nWarning(include/linux/netdevice.h:1093): No description found for parameter \u0027dev_queue\u0027\nWarning(include/linux/netdevice.h:1474): No description found for parameter \u0027txq\u0027\nError(net/core/dev.c:1674): cannot understand prototype: \u0027u32 simple_tx_hashrnd; \u0027\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16be63fd1670000b96b76cb55b6f1bead21b4c4b",
      "tree": "7b5bbe9ccf70098a88e31a6da9196f1476730eea",
      "parents": [
        "110cf374a809817d5c080c0ac82d65d029820a66"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 27 11:50:16 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:51 2008 -0700"
      },
      "message": "bluetooth: remove improper bluetooth class symlinks.\n\nDon\u0027t create symlinks in a class to a device that is not owned by the\nclass.  If the bluetooth subsystem really wants to point to all of the\ndevices it controls, it needs to create real devices, not fake symlinks.\n\nCc: Maxim Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b32d13102d39ed411d152a7ffcc5f66d5b3b1b49",
      "tree": "5db024bc2defe8440ea67c16dce65c4082ff4b98",
      "parents": [
        "ebb36a978131810c98e7198b1187090c697cf99f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 18:45:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 18:45:34 2008 -0700"
      },
      "message": "tcp: Fix bitmask test in tcp_syn_options()\n\nAs reported by Alexey Dobriyan:\n\n\t  CHECK   net/ipv4/tcp_output.c\n\tnet/ipv4/tcp_output.c:475:7: warning: dubious: !x \u0026 y\n\nAnd sparse is damn right!\n\n\tif (unlikely(!OPTION_TS \u0026 opts-\u003eoptions))\n\t\t    ^^^\n\t\tsize +\u003d TCPOLEN_SACKPERM_ALIGNED;\n\nOPTION_TS is (1 \u003c\u003c 1), so condition will never trigger.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47112e25da41d9059626033986dc3353e101f815",
      "tree": "72857968c318960ba50a4cc7232041228e8361dc",
      "parents": [
        "6579e57b31d79d31d9b806e41ba48774e73257dc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Jul 21 13:35:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:35:08 2008 -0700"
      },
      "message": "udplite: Protection against coverage value wrap-around\n\nThis patch clamps the cscov setsockopt values to a maximum of 0xFFFF.\n\nSetsockopt values greater than 0xffff can cause an unwanted\nwrap-around.  Further, IPv6 jumbograms are not supported (RFC 3838,\n3.5), so that values greater than 0xffff are not even useful.\n\nFurther changes: fixed a typo in the documentation.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6579e57b31d79d31d9b806e41ba48774e73257dc",
      "tree": "03ba72024a1982ee76b8a891a443b0fdfb6d7c93",
      "parents": [
        "7943986ca1138ac99597b1aa4dc893012dcfdc08"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 21 13:31:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:31:48 2008 -0700"
      },
      "message": "net: Print the module name as part of the watchdog message\n\nAs suggested by Dave:\n\nThis patch adds a function to get the driver name from a struct net_device,\nand consequently uses this in the watchdog timeout handler to print as \npart of the message. \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": "7943986ca1138ac99597b1aa4dc893012dcfdc08",
      "tree": "d4e0461f4f0d8c6046253bb72ed12e583e19a5d9",
      "parents": [
        "847499ce71bdcc8fc542062df6ebed3e596608dd"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Jul 21 13:28:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:28:44 2008 -0700"
      },
      "message": "net: use kcalloc in netdev_queue alloc\n\nMinor nit, use size_t for allocation size and kcalloc to allocate\nan array. Probably makes no actual code difference.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "847499ce71bdcc8fc542062df6ebed3e596608dd",
      "tree": "94e7daee7bf9aa15c32bcd8816cc86aad1ff0d10",
      "parents": [
        "3a33cc108d11fab2a2544e2601066ba4924736aa"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Jul 21 13:21:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:21:35 2008 -0700"
      },
      "message": "ipv6: use timer pending\n\nThis fixes the bridge reference count problem and cleanups ipv6 FIB\ntimer management.  Don\u0027t use expires field, because it is not a proper\nway to test, instead use timer_pending().\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5547cd0ae8b46db9a084505239294eed9b8c8e2d",
      "tree": "0ce92a2050c5b6bd8dfe50f6942fbd79da9cbc32",
      "parents": [
        "c71529e42ce39c167dc53430cb8f3d5634af77df"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 21 10:03:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:02 2008 -0700"
      },
      "message": "netfilter: nf_conntrack_sctp: fix sparse warnings\n\nIntroduced by a258860e (netfilter: ctnetlink: add full support for SCTP to ctnetlink):\n\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: incorrect type in argument 1 (different base types)\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2:    expected unsigned int [unsigned] [usertype] x\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2:    got restricted unsigned int const \u003cnoident\u003e\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: incorrect type in argument 1 (different base types)\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2:    expected unsigned int [unsigned] [usertype] x\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2:    got restricted unsigned int const \u003cnoident\u003e\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type\nnet/netfilter/nf_conntrack_proto_sctp.c:532:42: warning: incorrect type in assignment (different base types)\nnet/netfilter/nf_conntrack_proto_sctp.c:532:42:    expected restricted unsigned int \u003cnoident\u003e\nnet/netfilter/nf_conntrack_proto_sctp.c:532:42:    got unsigned int\nnet/netfilter/nf_conntrack_proto_sctp.c:534:39: warning: incorrect type in assignment (different base types)\nnet/netfilter/nf_conntrack_proto_sctp.c:534:39:    expected restricted unsigned int \u003cnoident\u003e\nnet/netfilter/nf_conntrack_proto_sctp.c:534:39:    got unsigned int\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c71529e42ce39c167dc53430cb8f3d5634af77df",
      "tree": "4d7d97e2f35b72ee5da618ffdf60eb53e58350d8",
      "parents": [
        "db1a75bdcc1766dc7e1fae9201ae287dcbcb6c66"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 21 10:03:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:02 2008 -0700"
      },
      "message": "netfilter: nf_nat_sip: c\u003d is optional for session\n\nAccording to RFC2327, the connection information is optional\nin the session description since it can be specified in the\nmedia description instead.\n\nMy provider does exactly that and does not provide any connection\ninformation in the session description.  As a result the new\nkernel drops all invite responses.\n\nThis patch makes it optional as documented.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db1a75bdcc1766dc7e1fae9201ae287dcbcb6c66",
      "tree": "6cc8bd2324d762a177e6e31d1cda7f28ddcc1a5f",
      "parents": [
        "72961ecf84d67d6359a1b30f9b2a8427f13e1e71"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Jul 21 10:02:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:01 2008 -0700"
      },
      "message": "netfilter: xt_TCPMSS: collapse tcpmss_reverse_mtu{4,6} into one function\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72961ecf84d67d6359a1b30f9b2a8427f13e1e71",
      "tree": "531aeb470c069d4ecd91a4080dc820308d84fc9d",
      "parents": [
        "280763c053fee297d95b474f2c145990670371e6"
      ],
      "author": {
        "name": "Eric Leblond",
        "email": "eric@inl.fr",
        "time": "Mon Jul 21 10:02:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:11:00 2008 -0700"
      },
      "message": "netfilter: nfnetlink_log: send complete hardware header\n\nThis patch adds some fields to NFLOG to be able to send the complete\nhardware header with all necessary informations.\nIt sends to userspace:\n * the type of hardware link\n * the lenght of hardware header\n * the hardware header\n\nSigned-off-by: Eric Leblond \u003ceric@inl.fr\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "280763c053fee297d95b474f2c145990670371e6",
      "tree": "daa5d6b0107318e1fb0fe4c7184c77ab0d40b6ff",
      "parents": [
        "584015727a3b88b46602b20077b46cd04f8b4ab3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jul 21 10:02:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:59 2008 -0700"
      },
      "message": "netfilter: xt_time: fix time\u0027s time_mt()\u0027s use of do_div()\n\nFix netfilter xt_time\u0027s time_mt()\u0027s use of do_div() on an s64 by using\ndiv_s64() instead.\n\nThis was introduced by patch ee4411a1b1e0b679c99686629b5eab5a072ce49f\n(\"[NETFILTER]: x_tables: add xt_time match\").\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "584015727a3b88b46602b20077b46cd04f8b4ab3",
      "tree": "a9b4ec18e2181e03ee24b59b30f7408bcbcf140c",
      "parents": [
        "07a7c1070ed382ad4562e3a0d453fd2001d92f7b"
      ],
      "author": {
        "name": "Krzysztof Piotr Oledzki",
        "email": "ole@ans.pl",
        "time": "Mon Jul 21 10:01:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:58 2008 -0700"
      },
      "message": "netfilter: accounting rework: ct_extend + 64bit counters (v4)\n\nInitially netfilter has had 64bit counters for conntrack-based accounting, but\nit was changed in 2.6.14 to save memory. Unfortunately in-kernel 64bit counters are\nstill required, for example for \"connbytes\" extension. However, 64bit counters\nwaste a lot of memory and it was not possible to enable/disable it runtime.\n\nThis patch:\n - reimplements accounting with respect to the extension infrastructure,\n - makes one global version of seq_print_acct() instead of two seq_print_counters(),\n - makes it possible to enable it at boot time (for CONFIG_SYSCTL/CONFIG_SYSFS\u003dn),\n - makes it possible to enable/disable it at runtime by sysctl or sysfs,\n - extends counters from 32bit to 64bit,\n - renames ip_conntrack_counter -\u003e nf_conn_counter,\n - enables accounting code unconditionally (no longer depends on CONFIG_NF_CT_ACCT),\n - set initial accounting enable state based on CONFIG_NF_CT_ACCT\n - removes buggy IPCT_COUNTER_FILLING event handling.\n\nIf accounting is enabled newly created connections get additional acct extend.\nOld connections are not changed as it is not possible to add a ct_extend area\nto confirmed conntrack. Accounting is performed for all connections with\nacct extend regardless of a current state of \"net.netfilter.nf_conntrack_acct\".\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dbff689c2f299e8f63911247925f2728d087688",
      "tree": "77a0b4db11d438315e2ef97ce117bbe532774600",
      "parents": [
        "ae6134bdf3197206fba95563d755d2fa50d90ddd"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Jul 21 10:00:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:57 2008 -0700"
      },
      "message": "netfilter: nf_nat_core: eliminate useless find_appropriate_src for IP_NAT_RANGE_PROTO_RANDOM\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3678b463df73f5060d7420915080e19baeb379b",
      "tree": "4f4fc3e49bb0a9d21b9280f1c1a990eb03651564",
      "parents": [
        "867d79fb9a4d5929ad8335c896fcfe11c3b2ef14"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 09:56:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:50 2008 -0700"
      },
      "message": "Revert \"pkt_sched: Make default qdisc nonshared-multiqueue safe.\"\n\nThis reverts commit a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d.\n\nAfter discussions with Jamal and Herbert on netdev, we should\nprovide at least minimal prioritization at the qdisc level\neven in multiqueue situations.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "867d79fb9a4d5929ad8335c896fcfe11c3b2ef14",
      "tree": "b33fe42bfc1e73b9e0f65baf9f02ddc437e6dc83",
      "parents": [
        "b6b2fed1f4802b8fcc9d7548a8f785225d38f9a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 21 09:54:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:49 2008 -0700"
      },
      "message": "net: In __netif_schedule() use WARN_ON instead of BUG_ON\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6b2fed1f4802b8fcc9d7548a8f785225d38f9a3",
      "tree": "eebdc34112d617524b762c585b79b2eaab3386ae",
      "parents": [
        "c3ee84163e5bc0dc2e1ccf1d3fc412debca73bab"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 09:48:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:48 2008 -0700"
      },
      "message": "net: Improve simple_tx_hash().\n\nBased upon feedback from Eric Dumazet and Andi Kleen.\n\nCure several deficiencies in simple_tx_hash() by using\njhash + reciprocol multiply.\n\n1) Eliminates expensive modulus operation.\n\n2) Makes hash less attackable by using random seed.\n\n3) Eliminates endianness hash distribution issues.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3ee84163e5bc0dc2e1ccf1d3fc412debca73bab",
      "tree": "9b6319d2abab9ab6e4692dfd71ff4c38dfe7f997",
      "parents": [
        "fd24c4af6e82231391fa09875ae6378fa1399f0f"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Mon Jul 21 09:18:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 09:18:07 2008 -0700"
      },
      "message": "pkt_sched: Remove unused variable skb in dev_deactivate_queue function.\n\nRemoved unused variable \u0027skb\u0027 in the dev_deactivate_queue function\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14b395e35d1afdd8019d11b92e28041fad591b71",
      "tree": "cff7ba9bed7a38300b19a5bacc632979d64fd9c8",
      "parents": [
        "734b397cd14f3340394a8dd3266bec97d01f034b",
        "5108b27651727b5aba0826e8fd7be71b42428701"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:21:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:21:46 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux: (51 commits)\n  nfsd: nfs4xdr.c do-while is not a compound statement\n  nfsd: Use C99 initializers in fs/nfsd/nfs4xdr.c\n  lockd: Pass \"struct sockaddr *\" to new failover-by-IP function\n  lockd: get host reference in nlmsvc_create_block() instead of callers\n  lockd: minor svclock.c style fixes\n  lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_lock\n  lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_testlock\n  lockd: nlm_release_host() checks for NULL, caller needn\u0027t\n  file lock: reorder struct file_lock to save space on 64 bit builds\n  nfsd: take file and mnt write in nfs4_upgrade_open\n  nfsd: document open share bit tracking\n  nfsd: tabulate nfs4 xdr encoding functions\n  nfsd: dprint operation names\n  svcrdma: Change WR context get/put to use the kmem cache\n  svcrdma: Create a kmem cache for the WR contexts\n  svcrdma: Add flush_scheduled_work to module exit function\n  svcrdma: Limit ORD based on client\u0027s advertised IRD\n  svcrdma: Remove unused wait q from svcrdma_xprt structure\n  svcrdma: Remove unneeded spin locks from __svc_rdma_free\n  svcrdma: Add dma map count and WARN_ON\n  ...\n"
    },
    {
      "commit": "702beb87d6b4e08cca394b210679e5d7c2ac9383",
      "tree": "8bd3c2ae958e42dbc525a0ab3575148472dc28fe",
      "parents": [
        "d1671a9c15f55a1475d41269494518e348880c33"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 18:17:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:18:26 2008 -0700"
      },
      "message": "ipv6: Fix warning in addrconf code.\n\nReported by Linus.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1671a9c15f55a1475d41269494518e348880c33",
      "tree": "140dec7fc0a8eaddc0f529e1790f888811de53a7",
      "parents": [
        "ae0645a451b02ad35c520b01177b70ebd59c91ab",
        "3a682fbd732d3d27bec722a923952b0938e8a404"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:17:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:17:20 2008 -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:\n  pkt_sched: Fix build with NET_SCHED disabled.\n"
    },
    {
      "commit": "3a682fbd732d3d27bec722a923952b0938e8a404",
      "tree": "715ca6472e7c3d9b354cb8bfa18db74dabcdaeff",
      "parents": [
        "fb65a7c091529bfffb1262515252c0d0f6241c5c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 18:13:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 18:13:01 2008 -0700"
      },
      "message": "pkt_sched: Fix build with NET_SCHED disabled.\n\nThe stab bits can\u0027t be referenced uniless the full\npacket scheduler layer is enabled.\n\nReported by Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db6d8c7a4027b48d797b369a53f8470aaeed7063",
      "tree": "e140c104a89abc2154e1f41a7db8ebecbb6fa0b4",
      "parents": [
        "3a533374283aea50eab3976d8a6d30532175f009",
        "fb65a7c091529bfffb1262515252c0d0f6241c5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:43:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:43:29 2008 -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: (1232 commits)\n  iucv: Fix bad merging.\n  net_sched: Add size table for qdiscs\n  net_sched: Add accessor function for packet length for qdiscs\n  net_sched: Add qdisc_enqueue wrapper\n  highmem: Export totalhigh_pages.\n  ipv6 mcast: Omit redundant address family checks in ip6_mc_source().\n  net: Use standard structures for generic socket address structures.\n  ipv6 netns: Make several \"global\" sysctl variables namespace aware.\n  netns: Use net_eq() to compare net-namespaces for optimization.\n  ipv6: remove unused macros from net/ipv6.h\n  ipv6: remove unused parameter from ip6_ra_control\n  tcp: fix kernel panic with listening_get_next\n  tcp: Remove redundant checks when setting eff_sacks\n  tcp: options clean up\n  tcp: Fix MD5 signatures for non-linear skbs\n  sctp: Update sctp global memory limit allocations.\n  sctp: remove unnecessary byteshifting, calculate directly in big-endian\n  sctp: Allow only 1 listening socket with SO_REUSEADDR\n  sctp: Do not leak memory on multiple listen() calls\n  sctp: Support ipv6only AF_INET6 sockets.\n  ...\n"
    },
    {
      "commit": "a352def21a642133758b868c71bee12ab34ad5c5",
      "tree": "95d0f7229f9e4afccdc6fbbf11f7f5c6dd83b0fd",
      "parents": [
        "e1e5770bb63fb9d71619a68f52cb0ba4b2ae58a6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jul 16 21:53:12 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:12:34 2008 -0700"
      },
      "message": "tty: Ldisc revamp\n\nMove the line disciplines towards a conventional -\u003eops arrangement.  For\nthe moment the actual \u0027tty_ldisc\u0027 struct in the tty is kept as part of\nthe tty struct but this can then be changed if it turns out that when it\nall settles down we want to refcount ldiscs separately to the tty.\n\nPull the ldisc code out of /proc and put it with our ldisc code.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb65a7c091529bfffb1262515252c0d0f6241c5c",
      "tree": "021a043df0e0d328c509c0e8fb74429cbce006c7",
      "parents": [
        "175f9c1bba9b825d22b142d183c9e175488b260c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 10:18:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 10:18:44 2008 -0700"
      },
      "message": "iucv: Fix bad merging.\n\nNoticed by Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "175f9c1bba9b825d22b142d183c9e175488b260c",
      "tree": "6b9cdb2e3802e7fc8422dc0d0cc200f6d4d1d0a5",
      "parents": [
        "0abf77e55a2459aa9905be4b226e4729d5b4f0cb"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sun Jul 20 00:08:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 00:08:47 2008 -0700"
      },
      "message": "net_sched: Add size table for qdiscs\n\nAdd size table functions for qdiscs and calculate packet size in\nqdisc_enqueue().\n\nBased on patch by Patrick McHardy\n http://marc.info/?l\u003dlinux-netdev\u0026m\u003d115201979221729\u0026w\u003d2\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0abf77e55a2459aa9905be4b226e4729d5b4f0cb",
      "tree": "0224961150c0c2c65b5ad407b1af8cf84266e919",
      "parents": [
        "5f86173bdf15981ca49d0434f638b68f70a35644"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sun Jul 20 00:08:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 00:08:27 2008 -0700"
      },
      "message": "net_sched: Add accessor function for packet length for qdiscs\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f86173bdf15981ca49d0434f638b68f70a35644",
      "tree": "e6792339e577ed4a8261358e56df9f1a2b87f655",
      "parents": [
        "db7a94d60f871ce6a52e97d82dea476cee0c4ea0"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sun Jul 20 00:08:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 00:08:04 2008 -0700"
      },
      "message": "net_sched: Add qdisc_enqueue wrapper\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6ffb404dc03f806a257faaab831a6cb55c0b790",
      "tree": "d2d7de4af9dff7360e2737f36a4dd1cc37c983c9",
      "parents": [
        "230b183921ecbaa5fedc0d35ad6ba7bb64b6e06a"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:36:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:36:07 2008 -0700"
      },
      "message": "ipv6 mcast: Omit redundant address family checks in ip6_mc_source().\n\nThe caller has alredy checked for them.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "230b183921ecbaa5fedc0d35ad6ba7bb64b6e06a",
      "tree": "2ea0a3bde5deab4b90ca9ed58e23b020494f25a0",
      "parents": [
        "53b7997fd5c62408d10b9aafb38974ce90fd2356"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:35:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:35:47 2008 -0700"
      },
      "message": "net: Use standard structures for generic socket address structures.\n\nUse sockaddr_storage{} for generic socket address storage\nand ensures proper alignment.\nUse sockaddr{} for pointers to omit several casts.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53b7997fd5c62408d10b9aafb38974ce90fd2356",
      "tree": "bc23e6ec248a6d999cdc779abdfdc843c5640197",
      "parents": [
        "721499e8931c5732202481ae24f2dfbf9910f129"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:35:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:35:03 2008 -0700"
      },
      "message": "ipv6 netns: Make several \"global\" sysctl variables namespace aware.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "721499e8931c5732202481ae24f2dfbf9910f129",
      "tree": "c94d8d681966109bb41f712f21f3a9825ae2172d",
      "parents": [
        "407d819cf0fd54c6fc1138a509225696aecafd15"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "message": "netns: Use net_eq() to compare net-namespaces for optimization.\n\nWithout CONFIG_NET_NS, namespace is always \u0026init_net.\nCompiler will be able to omit namespace comparisons with this patch.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "407d819cf0fd54c6fc1138a509225696aecafd15",
      "tree": "b653a5c8c09f7c316f5f98947be262e27a4ca33a",
      "parents": [
        "7abbcd6a4c8d6179121f2915a761b1133bf1cd99",
        "b1235d79611e78a07629b4cbe53291c9cffd1834"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:30:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:30:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6\n"
    },
    {
      "commit": "725a8ff04a5dc473cd9d8eb7817ca96fc36c7789",
      "tree": "bd632ddb3f0998217240b1e244307937020aa5bd",
      "parents": [
        "bdccc4ca13a639d759206c5b21ed73f8a813eaba"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 19 00:28:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:28:58 2008 -0700"
      },
      "message": "ipv6: remove unused parameter from ip6_ra_control\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdccc4ca13a639d759206c5b21ed73f8a813eaba",
      "tree": "fb7bcba6f33746566ae8204a08e068b7310a05d1",
      "parents": [
        "4389dded7767d24290463f2a8302ba3253ebdd56"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Sat Jul 19 00:15:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:15:13 2008 -0700"
      },
      "message": "tcp: fix kernel panic with listening_get_next\n\n# BUG: unable to handle kernel NULL pointer dereference at\n0000000000000038\nIP: [\u003cffffffff821ed01e\u003e] listening_get_next+0x50/0x1b3\nPGD 11e4b9067 PUD 11d16c067 PMD 0\nOops: 0000 [1] SMP\nlast sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map\nCPU 3\nModules linked in: bridge ipv6 button battery ac loop dm_mod tg3 ext3\njbd edd fan thermal processor thermal_sys hwmon sg sata_svw libata dock\nserverworks sd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table]\nPid: 3368, comm: slpd Not tainted 2.6.26-rc2-mm1-lxc4 #1\nRIP: 0010:[\u003cffffffff821ed01e\u003e] [\u003cffffffff821ed01e\u003e]\nlistening_get_next+0x50/0x1b3\nRSP: 0018:ffff81011e1fbe18 EFLAGS: 00010246\nRAX: 0000000000000000 RBX: ffff8100be0ad3c0 RCX: ffff8100619f50c0\nRDX: ffffffff82475be0 RSI: ffff81011d9ae6c0 RDI: ffff8100be0ad508\nRBP: ffff81011f4f1240 R08: 00000000ffffffff R09: ffff8101185b6780\nR10: 000000000000002d R11: ffffffff820fdbfa R12: ffff8100be0ad3c8\nR13: ffff8100be0ad6a0 R14: ffff8100be0ad3c0 R15: ffffffff825b8ce0\nFS: 00007f6a0ebd16d0(0000) GS:ffff81011f424540(0000)\nknlGS:0000000000000000\nCS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000000038 CR3: 000000011dc20000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess slpd (pid: 3368, threadinfo ffff81011e1fa000, task\nffff81011f4b8660)\nStack: 00000000000002ee ffff81011f5a57c0 ffff81011f4f1240\nffff81011e1fbe90\n0000000000001000 0000000000000000 00007fff16bf2590 ffffffff821ed9c8\nffff81011f5a57c0 ffff81011d9ae6c0 000000000000041a ffffffff820b0abd\nCall Trace:\n[\u003cffffffff821ed9c8\u003e] ? tcp_seq_next+0x34/0x7e\n[\u003cffffffff820b0abd\u003e] ? seq_read+0x1aa/0x29d\n[\u003cffffffff820d21b4\u003e] ? proc_reg_read+0x73/0x8e\n[\u003cffffffff8209769c\u003e] ? vfs_read+0xaa/0x152\n[\u003cffffffff82097a7d\u003e] ? sys_read+0x45/0x6e\n[\u003cffffffff8200bd2b\u003e] ? system_call_after_swapgs+0x7b/0x80\n\n\nCode: 31 a9 25 00 e9 b5 00 00 00 ff 45 20 83 7d 0c 01 75 79 4c 8b 75 10\n48 8b 0e eb 1d 48 8b 51 20 0f b7 45 08 39 02 75 0e 48 8b 41 28 \u003c4c\u003e 39\n78 38 0f 84 93 00 00 00 48 8b 09 48 85 c9 75 de 8b 55 1c\nRIP [\u003cffffffff821ed01e\u003e] listening_get_next+0x50/0x1b3\nRSP \u003cffff81011e1fbe18\u003e\nCR2: 0000000000000038\n\nThis kernel panic appears with CONFIG_NET_NS\u003dy.\n\nHow to reproduce ?\n\n    On the buggy host (host A)\n       * ip addr add 1.2.3.4/24 dev eth0\n\n    On a remote host (host B)\n       * ip addr add 1.2.3.5/24 dev eth0\n       * iptables -A INPUT -p tcp -s 1.2.3.4 -j DROP\n       * ssh 1.2.3.4\n\n    On host A:\n       * netstat -ta or cat /proc/net/tcp\n\nThis bug happens when reading /proc/net/tcp[6] when there is a req_sock\nat the SYN_RECV state.\n\nWhen a SYN is received the minisock is created and the sk field is set to\nNULL. In the listening_get_next function, we try to look at the field \nreq-\u003esk-\u003esk_net.\n\nWhen looking at how to fix this bug, I noticed that is useless to do\nthe check for the minisock belonging to the namespace. A minisock belongs\nto a listen point and this one is per namespace, so when browsing the\nminisock they are always per namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4389dded7767d24290463f2a8302ba3253ebdd56",
      "tree": "ed34a2084c47c6c707e0ce6b4eab8d442f20c4c3",
      "parents": [
        "33ad798c924b4a1afad3593f2796d465040aadd5"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Sat Jul 19 00:07:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:07:02 2008 -0700"
      },
      "message": "tcp: Remove redundant checks when setting eff_sacks\n\nRemove redundant checks when setting eff_sacks and make the number of SACKs a\ncompile time constant. Now that the options code knows how many SACK blocks can\nfit in the header, we don\u0027t need to have the SACK code guessing at it.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33ad798c924b4a1afad3593f2796d465040aadd5",
      "tree": "2a0a868849d6e84591b9d4d917722aee2544b77b",
      "parents": [
        "49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Sat Jul 19 00:04:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:04:31 2008 -0700"
      },
      "message": "tcp: options clean up\n\nThis should fix the following bugs:\n  * Connections with MD5 signatures produce invalid packets whenever SACK\n    options are included\n  * MD5 signatures are counted twice in the MSS calculations\n\nBehaviour changes:\n  * A SYN with MD5 + SACK + TS elicits a SYNACK with MD5 + SACK\n\n    This is because we can\u0027t fit any SACK blocks in a packet with MD5 + TS\n    options. There was discussion about disabling SACK rather than TS in\n    order to fit in better with old, buggy kernels, but that was deemed to\n    be unnecessary.\n\n  * SYNs with MD5 don\u0027t include a TS option\n\n    See above.\n\nAdditionally, it removes a bunch of duplicated logic for calculating options,\nwhich should help avoid these sort of issues in the future.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d",
      "tree": "38804d609f21503573bbdd8bb9af38df99275ff5",
      "parents": [
        "845525a642c1c9e1335c33a274d4273906ee58eb"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Sat Jul 19 00:01:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:01:42 2008 -0700"
      },
      "message": "tcp: Fix MD5 signatures for non-linear skbs\n\nCurrently, the MD5 code assumes that the SKBs are linear and, in the case\nthat they aren\u0027t, happily goes off and hashes off the end of the SKB and\ninto random memory.\n\nReported by Stephen Hemminger in [1]. Advice thanks to Stephen and Evgeniy\nPolyakov. Also includes a couple of missed route_caps from Stephen\u0027s patch\nin [2].\n\n[1] http://marc.info/?l\u003dlinux-netdev\u0026m\u003d121445989106145\u0026w\u003d2\n[2] http://marc.info/?l\u003dlinux-netdev\u0026m\u003d121459157816964\u0026w\u003d2\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "845525a642c1c9e1335c33a274d4273906ee58eb",
      "tree": "e7eb7903dc8a763249d15d1ef02ece027bed2bc1",
      "parents": [
        "336d3262df71fcd2661180bb35d5ea41b4cbca58"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Jul 18 23:08:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:08:21 2008 -0700"
      },
      "message": "sctp: Update sctp global memory limit allocations.\n\nUpdate sctp global memory limit allocations to be the same as TCP.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "336d3262df71fcd2661180bb35d5ea41b4cbca58",
      "tree": "54078334c9c3706a003d4b54a8e9e9b23aa01cef",
      "parents": [
        "4e54064e0a13b7a7d4a481123c1783f770538e30"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Jul 18 23:07:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:07:09 2008 -0700"
      },
      "message": "sctp: remove unnecessary byteshifting, calculate directly in big-endian\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e54064e0a13b7a7d4a481123c1783f770538e30",
      "tree": "ccd64b852003e7f3869cd24e78381fbba7bae764",
      "parents": [
        "23b29ed80bd7184398317a111dc488605cb66c7f"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Jul 18 23:06:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:06:32 2008 -0700"
      },
      "message": "sctp: Allow only 1 listening socket with SO_REUSEADDR\n\nWhen multiple socket bind to the same port with SO_REUSEADDR,\nonly 1 can be listining.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23b29ed80bd7184398317a111dc488605cb66c7f",
      "tree": "be2d87726f00ebb21d10fc62c2b4ba557a7392eb",
      "parents": [
        "7dab83de50c7b2b7ceac695a0b56fa6c0f95b0bc"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Jul 18 23:06:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:06:07 2008 -0700"
      },
      "message": "sctp: Do not leak memory on multiple listen() calls\n\nSCTP permits multiple listen call and on subsequent calls\nwe leak he memory allocated for the crypto transforms.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7dab83de50c7b2b7ceac695a0b56fa6c0f95b0bc",
      "tree": "979c6905f2ef643acccfea9ab9ed926e764e72c8",
      "parents": [
        "6d0ccbac688207ca0616ab5094932af4db4747b3"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Jul 18 23:05:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:05:40 2008 -0700"
      },
      "message": "sctp: Support ipv6only AF_INET6 sockets.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d0ccbac688207ca0616ab5094932af4db4747b3",
      "tree": "477f783f1bf54756fcc39da953b327b413ceb257",
      "parents": [
        "c4e85f82edcd6027cfe67331a2e00741b009756b"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Fri Jul 18 23:04:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:04:39 2008 -0700"
      },
      "message": "sctp: Prevent uninitialized memory access\n\nvalgrind reports uninizialized memory accesses when running\nsctp inside the network simulation cradle simulator:\n\n Conditional jump or move depends on uninitialised value(s)\n    at 0x570E34A: sctp_assoc_sync_pmtu (associola.c:1324)\n    by 0x57427DA: sctp_packet_transmit (output.c:403)\n    by 0x5710EFF: sctp_outq_flush (outqueue.c:824)\n    by 0x5710B88: sctp_outq_uncork (outqueue.c:701)\n    by 0x5745262: sctp_cmd_interpreter (sm_sideeffect.c:1548)\n    by 0x57444B7: sctp_side_effects (sm_sideeffect.c:976)\n    by 0x5744460: sctp_do_sm (sm_sideeffect.c:945)\n    by 0x572157D: sctp_primitive_ASSOCIATE (primitive.c:94)\n    by 0x5725C04: __sctp_connect (socket.c:1094)\n    by 0x57297DC: sctp_connect (socket.c:3297)\n\n Conditional jump or move depends on uninitialised value(s)\n    at 0x575D3A5: mod_timer (timer.c:630)\n    by 0x5752B78: sctp_cmd_hb_timers_start (sm_sideeffect.c:555)\n    by 0x5754133: sctp_cmd_interpreter (sm_sideeffect.c:1448)\n    by 0x5753607: sctp_side_effects (sm_sideeffect.c:976)\n    by 0x57535B0: sctp_do_sm (sm_sideeffect.c:945)\n    by 0x571E9AE: sctp_endpoint_bh_rcv (endpointola.c:474)\n    by 0x573347F: sctp_inq_push (inqueue.c:104)\n    by 0x572EF93: sctp_rcv (input.c:256)\n    by 0x5689623: ip_local_deliver_finish (ip_input.c:230)\n    by 0x5689759: ip_local_deliver (ip_input.c:268)\n    by 0x5689CAC: ip_rcv_finish (dst.h:246)\n\n#1 is due to \"if (t-\u003epmtu_pending)\".\n8a4794914f9cf2681235ec2311e189fe307c28c7 \"[SCTP] Flag a pmtu change request\"\nsuggests it should be initialized to 0.\n\n#2 is the heartbeat timer \u0027expires\u0027 value, which is uninizialised, but\ntest by mod_timer().\nT3_rtx_timer seems to be affected by the same problem, so initialize it, too.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4e85f82edcd6027cfe67331a2e00741b009756b",
      "tree": "12ac8ea4bb89dbb5671022361dd0c0b78f10ec87",
      "parents": [
        "c1e20f7c8b9ccbafc9ea78f2b406738728ce6b81"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Fri Jul 18 23:03:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:03:44 2008 -0700"
      },
      "message": "sctp: Don\u0027t abort initialization when CONFIG_PROC_FS\u003dn\n\nThis puts CONFIG_PROC_FS defines around the proc init/exit functions\nand also avoids compiling proc.c if procfs is not supported.\nAlso make SCTP_DBG_OBJCNT depend on procfs.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1e20f7c8b9ccbafc9ea78f2b406738728ce6b81",
      "tree": "807dacbfdc6ebfde27ba4d4f46dd1572c4a07cde",
      "parents": [
        "30ee42be00b7a50929a73cb617f70b1d3219eb69"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Jul 18 23:02:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:02:15 2008 -0700"
      },
      "message": "tcp: RTT metrics scaling\n\nSome of the metrics (RTT, RTTVAR and RTAX_RTO_MIN) are stored in\nkernel units (jiffies) and this leaks out through the netlink API to\nuser space where the units for jiffies are unknown.\n\nThis patches changes the kernel to convert to/from milliseconds. This\nchanges the ABI, but milliseconds seemed like the most natural unit\nfor these parameters.  Values available via syscall in\n/proc/net/rt_cache and netlink will be in milliseconds.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30ee42be00b7a50929a73cb617f70b1d3219eb69",
      "tree": "d2da673ab69eb897dd558be4df90a938f15afba8",
      "parents": [
        "3072367300aa8c779e3a14ee8e89de079e90f3ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:00:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 23:00:11 2008 -0700"
      },
      "message": "pkt_sched: Fix noqueue_qdisc initialization.\n\nLike noop_qdisc, it needs a dummy backpointer and\nexplicit qdisc-\u003eq.lock initialization.\n\nBased upon a report by Stephen Hemminger.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3072367300aa8c779e3a14ee8e89de079e90f3ad",
      "tree": "7f74c5b8fdb300532fbbc83ba00d6d1d17af020e",
      "parents": [
        "72b25a913ed9b1ab49c7022adaf3f271a65ea219"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 22:50:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 22:50:15 2008 -0700"
      },
      "message": "pkt_sched: Manage qdisc list inside of root qdisc.\n\nIdea is from Patrick McHardy.\n\nInstead of managing the list of qdiscs on the device level, manage it\nin the root qdisc of a netdev_queue.  This solves all kinds of\nvisibility issues during qdisc destruction.\n\nThe way to iterate over all qdiscs of a netdev_queue is to visit\nthe netdev_queue-\u003eqdisc, and then traverse it\u0027s list.\n\nThe only special case is to ignore builting qdiscs at the root when\ndumping or doing a qdisc_lookup().  That was not needed previously\nbecause builtin qdiscs were not added to the device\u0027s qdisc_list.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72b25a913ed9b1ab49c7022adaf3f271a65ea219",
      "tree": "89931a19264c79090ea3043d92f04e7727e37f1c",
      "parents": [
        "8913336a7e8d56e984109a3137d6c0e3362596a4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 20:54:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 20:54:17 2008 -0700"
      },
      "message": "pkt_sched: Get rid of u32_list.\n\nThe u32_list is just an indirect way of maintaining a reference\nto a U32 node on a per-qdisc basis.\n\nJust add an explicit node pointer for u32 to struct Qdisc an do\naway with this global list.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8913336a7e8d56e984109a3137d6c0e3362596a4",
      "tree": "16e2ad819112b59a759daff79651955e9bfab1dd",
      "parents": [
        "3ca4095f246c21c285d9e4be2ea4d3ee7fbacebd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 18 18:05:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 18:05:19 2008 -0700"
      },
      "message": "packet: add PACKET_RESERVE sockopt\n\nAdd new sockopt to reserve some headroom in the mmaped ring frames in\nfront of the packet payload. This can be used f.i. when the VLAN header\nneeds to be (re)constructed to avoid moving the entire payload.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6fcbdb4f283f7ba67cec3cda6be23da8e959031",
      "tree": "45d72a4a5d0cce9ab2c98321f4d7d122bf982a55",
      "parents": [
        "de05c557b24c7dffc6d392e3db120cf11c9f6ae7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:07:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:07:44 2008 -0700"
      },
      "message": "proc: consolidate per-net single-release callers\n\nThey are symmetrical to single_open ones :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de05c557b24c7dffc6d392e3db120cf11c9f6ae7",
      "tree": "d1d6fe1323657afd7d416c6af8a62d6a9e1e1e66",
      "parents": [
        "60bdde95807e982a824be9cfdd35055cc721a88a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:07:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:07:21 2008 -0700"
      },
      "message": "proc: consolidate per-net single_open callers\n\nThere are already 7 of them - time to kill some duplicate code.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60bdde95807e982a824be9cfdd35055cc721a88a",
      "tree": "286bd367b687f9a1daddcc6b0fde2f2e8ef4c0ef",
      "parents": [
        "8e3461d01bdbc3dbf993448ed9ad4acaaeb6495d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:06:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:06:50 2008 -0700"
      },
      "message": "proc: clean the ip_misc_proc_init and ip_proc_init_net error paths\n\nAfter all this stuff is moved outside, this function can look better.\n\nBesides, I tuned the error path in ip_proc_init_net to make it have\nonly 2 exit points, not 3.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e3461d01bdbc3dbf993448ed9ad4acaaeb6495d",
      "tree": "eac7757ba4bc96ce1ce1ba629b5ea6d4b81f6b20",
      "parents": [
        "229bf0cbaa054f1502ab4ee219f05985d2c838d1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:06:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:06:26 2008 -0700"
      },
      "message": "proc: show per-net ip_devconf.forwarding in /proc/net/snmp\n\nThis one has become per-net long ago, but the appropriate file\nis per-net only now.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "229bf0cbaa054f1502ab4ee219f05985d2c838d1",
      "tree": "7f542b1f5f3c249a66b7decd2ae22ae5067e97df",
      "parents": [
        "7b7a9dfdf6ccda647f54ea5fa3bd0ac17a189eeb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:06:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:06:04 2008 -0700"
      },
      "message": "proc: create /proc/net/snmp file in each net\n\nAll the statistics shown in this file have been made per-net already.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b7a9dfdf6ccda647f54ea5fa3bd0ac17a189eeb",
      "tree": "92ab52ffab8bfdc1f3697ff8d02c12a06a43d76c",
      "parents": [
        "d89cbbb1e69a3bfea38038fb058bd51013902ef3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:05:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:05:17 2008 -0700"
      },
      "message": "proc: create /proc/net/netstat file in each net\n\nNow all the shown in it statistics is netnsizated, time to\nshow it in appropriate net.\n\nThe appropriate net init/exit ops already exist - they make\nthe sockstat file per net - so just extend them.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d89cbbb1e69a3bfea38038fb058bd51013902ef3",
      "tree": "fc6d3c47a7cd8f22dc6f6fd48daebbd07482e29d",
      "parents": [
        "923c6586b0dc0a00df07a1608185437145a0c68b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:51 2008 -0700"
      },
      "message": "ipv4: clean the init_ipv4_mibs error paths\n\nAfter moving all the stuff outside this function it looks\na bit ugly - make it look better.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "923c6586b0dc0a00df07a1608185437145a0c68b",
      "tree": "bbe3324b4ae8920a3a50e81e596c75db11cc9433",
      "parents": [
        "b60538a0d737609213e4b758881913498d3ff0b4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:22 2008 -0700"
      },
      "message": "mib: put icmpmsg statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b60538a0d737609213e4b758881913498d3ff0b4",
      "tree": "380b75c744b9eb13b56fe386b58ddc2106686372",
      "parents": [
        "386019d3514b3ed9de8d0b05b67e638a7048375b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:02 2008 -0700"
      },
      "message": "mib: put icmp statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "386019d3514b3ed9de8d0b05b67e638a7048375b",
      "tree": "6447cb5bfe73788abab98f4835b95af258bfeeff",
      "parents": [
        "2f275f91a438abd8eec5321798d66a4ffe6869fa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:45 2008 -0700"
      },
      "message": "mib: put udplite statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f275f91a438abd8eec5321798d66a4ffe6869fa",
      "tree": "a14cc8f7112d2ba0dfe08e43577cab779b858ba6",
      "parents": [
        "61a7e26028b94805fd686a6dc9dbd9941f8f19b0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:27 2008 -0700"
      },
      "message": "mib: put udp statistics on struct net\n\nSimilar to... ouch, I repeat myself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61a7e26028b94805fd686a6dc9dbd9941f8f19b0",
      "tree": "2253a6f827a68ea5a7041456c5bfcac0d8e24138",
      "parents": [
        "a20f5799ca7ceb24d63c74b6fdad4b0c0ee91f4f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:08 2008 -0700"
      },
      "message": "mib: put net statistics on struct net\n\nSimilar to ip and tcp ones :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a20f5799ca7ceb24d63c74b6fdad4b0c0ee91f4f",
      "tree": "0262e4a674c611044d78c9f62f378473df0ce0f1",
      "parents": [
        "57ef42d59d1c1d79be59fc3c6380ae14234e38c3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:02:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:02:42 2008 -0700"
      },
      "message": "mib: put ip statistics on struct net\n\nSimilar to tcp one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57ef42d59d1c1d79be59fc3c6380ae14234e38c3",
      "tree": "4ccc2166f6967ac1fb582715f7d7d5bb5c9205fc",
      "parents": [
        "9b4661bd6e5437508e0920608f3213c23212cd1b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:02:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:02:08 2008 -0700"
      },
      "message": "mib: put tcp statistics on struct net\n\nProc temporary uses stats from init_net.\n\nBTW, TCP_XXX_STATS are beautiful (w/o do { } while (0) facing) again :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b4661bd6e5437508e0920608f3213c23212cd1b",
      "tree": "d8d13cd58c7ce32d63dd4175c67c42e61456dcda",
      "parents": [
        "852566f53ccdc9d1c149ffa28daa9778e13fa3da"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:01:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:01:44 2008 -0700"
      },
      "message": "ipv4: add pernet mib operations\n\nThese ones are currently empty, but stuff from init_ipv4_mibs will\nsequentially migrate there.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49997d75152b3d23c53b0fa730599f2f74c92c65",
      "tree": "46e93126170d02cfec9505172e545732c1b69656",
      "parents": [
        "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tDocumentation/powerpc/booting-without-of.txt\n\tdrivers/atm/Makefile\n\tdrivers/net/fs_enet/fs_enet-main.c\n\tdrivers/pci/pci-acpi.c\n\tnet/8021q/vlan.c\n\tnet/iucv/iucv.c\n"
    },
    {
      "commit": "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
      "tree": "db2364cff1fad40b56cae6770ed73945b42e6e85",
      "parents": [
        "93245dd6d356b864f6676396a9f3edecbd378ed0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 01:46:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:33 2008 -0700"
      },
      "message": "pkt_sched: Make default qdisc nonshared-multiqueue safe.\n\nInstead of \u0027pfifo_fast\u0027 we have just plain \u0027fifo_fast\u0027.\nNo priority queues, just a straight FIFO.\n\nThis is necessary in order to legally have a seperate\nqdisc per queue in multi-TX-queue setups, and thus get\nfull parallelization.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99194cff398d056e5ee469647c294466c246c88a",
      "tree": "24d85fffc71915a61bcc062deb32a4fa82dc7b9a",
      "parents": [
        "83874000929ed63aef30b44083a9f713135ff040"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 04:54:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:30 2008 -0700"
      },
      "message": "pkt_sched: Add multiqueue handling to qdisc_graft().\n\nMove the destruction of the old queue into qdisc_graft().\n\nWhen operating on a root qdisc (ie. \"parent \u003d\u003d NULL\"), apply\nthe operation to all queues.  The caller has grabbed a single\nimplicit reference for this graft, therefore when we apply the\nchange to more than one queue we must grab additional qdisc\nreferences.\n\nOtherwise, we are operating on a class of a specific parent qdisc, and\ntherefore no multiqueue handling is necessary.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83874000929ed63aef30b44083a9f713135ff040",
      "tree": "7646fd185751cad8665eca19aa3f87d13c37eade",
      "parents": [
        "c7e4f3bbb4ba4e48ab3b529d5016e454cee1ccd6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:53:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:30 2008 -0700"
      },
      "message": "pkt_sched: Kill netdev_queue lock.\n\nWe can simply use the qdisc-\u003eq.lock for all of the\nqdisc tree synchronization.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7e4f3bbb4ba4e48ab3b529d5016e454cee1ccd6",
      "tree": "76975288fd9448ee522867e3681978804431e736",
      "parents": [
        "78a5b30b7324b2d66bcf7d2e3935877d3c26497c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 03:22:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:29 2008 -0700"
      },
      "message": "pkt_sched: Kill qdisc_lock_tree and qdisc_unlock_tree.\n\nNo longer used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53049978df1d9ae55bf397c9879e6b33218352db",
      "tree": "18369747279ef1c0b807fe19e80d5d6c96d099bb",
      "parents": [
        "ead81cc5fc6d996db6afb20f211241612610a07a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 03:00:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:27 2008 -0700"
      },
      "message": "pkt_sched: Make qdisc grafting locking more specific.\n\nLock the root of the qdisc being operated upon.\n\nAll explicit references to qdisc_tree_lock() are now gone.\nThe only remaining uses are via the sch_tree_{lock,unlock}()\nand tcf_tree_{lock,unlock}() macros.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ead81cc5fc6d996db6afb20f211241612610a07a",
      "tree": "5ffc3c7960f6ba755fe6e44eda0b82cdb8209180",
      "parents": [
        "15b458fa65cbba395724a99ab1b7d3785ca76c1c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:50:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:26 2008 -0700"
      },
      "message": "netdevice: Move qdisc_list back into net_device proper.\n\nAnd give it it\u0027s own lock.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15b458fa65cbba395724a99ab1b7d3785ca76c1c",
      "tree": "7759eee59d6eb7c324732e89fa7007d49c0965df",
      "parents": [
        "55dbc640c31db373fa07eb1e3af9b8eadbdf80db"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:42:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:25 2008 -0700"
      },
      "message": "pkt_sched: Kill qdisc_lock_tree usage in cls_route.c\n\nIt just wants the qdisc tree to be synchronized, so grabbing\nqdisc_root_lock() is sufficient.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55dbc640c31db373fa07eb1e3af9b8eadbdf80db",
      "tree": "6a1ae2d8c1ab68a8e631bba21cc2a273c6982d2b",
      "parents": [
        "17715e62a5e5c7224e5f906a4b8f9e5084100118"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:40:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:24 2008 -0700"
      },
      "message": "pkt_sched: Remove qdisc_lock_tree usage in cls_api.c\n\nIt just wants the qdisc tree for the filter to be synchronized.\nSo just BH lock qdisc_root_lock(q) instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17715e62a5e5c7224e5f906a4b8f9e5084100118",
      "tree": "83958bfcb21886df0a827614482acbbcc3a453f9",
      "parents": [
        "8a34c5dc3a7c6431f1cd94c0904be81b296e08ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:36:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:23 2008 -0700"
      },
      "message": "pkt_sched: Use per-queue locking in shutdown_scheduler_queue.\n\nThis eliminates another qdisc_lock_tree user.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "8a34c5dc3a7c6431f1cd94c0904be81b296e08ca"
}
