)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "8a34c5dc3a7c6431f1cd94c0904be81b296e08ca",
      "tree": "fd4f5f3872ab0470622d49d02c58334f5c24adec",
      "parents": [
        "16361127ebed0fb8f9d7cc94c6e137eaf710f676"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:47:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:22 2008 -0700"
      },
      "message": "pkt_sched: Perform bulk of qdisc destruction in RCU.\n\nThis allows less strict control of access to the qdisc attached to a\nnetdev_queue.  It is even allowed to enqueue into a qdisc which is\nin the process of being destroyed.  The RCU handler will toss out\nthose packets.\n\nWe will need this to handle sharing of a qdisc amongst multiple\nTX queues.  In such a setup the lock has to be shared, so will\nbe inside of the qdisc itself.  At which point the netdev_queue\nlock cannot be used to hard synchronize access to the -\u003eqdisc\npointer.\n\nOne operation we have to keep inside of qdisc_destroy() is the list\ndeletion.  It is the only piece of state visible after the RCU quiesce\nperiod, so we have to undo it early and under the appropriate locking.\n\nThe operations in the RCU handler do not need any looking because the\nqdisc tree is no longer visible to anything at that point.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16361127ebed0fb8f9d7cc94c6e137eaf710f676",
      "tree": "09488bb81ecaeed1bbccef13eacdbe8d8a71b07d",
      "parents": [
        "37437bb2e1ae8af470dfcd5b4ff454110894ccaf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:23:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:21 2008 -0700"
      },
      "message": "pkt_sched: dev_init_scheduler() does not need to lock qdisc tree.\n\nWe are registering the device, there is no way anyone can get\nat this object\u0027s qdiscs yet in any meaningful way.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37437bb2e1ae8af470dfcd5b4ff454110894ccaf",
      "tree": "1795e78a7648252b0c92c972df12b776a28437d7",
      "parents": [
        "7698b4fcabcd790efc4f226bada1e7b5870653af"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 02:15:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:20 2008 -0700"
      },
      "message": "pkt_sched: Schedule qdiscs instead of netdev_queue.\n\nWhen we have shared qdiscs, packets come out of the qdiscs\nfor multiple transmit queues.\n\nTherefore it doesn\u0027t make any sense to schedule the transmit\nqueue when logically we cannot know ahead of time the TX\nqueue of the SKB that the qdisc-\u003edequeue() will give us.\n\nJust for sanity I added a BUG check to make sure we never\nget into a state where the noop_qdisc is scheduled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7698b4fcabcd790efc4f226bada1e7b5870653af",
      "tree": "031ce7a911fc5bff995421a5615d9ab25416a479",
      "parents": [
        "e2627c8c2241bce45e368e150654d076b58a4595"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 01:42:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:19 2008 -0700"
      },
      "message": "pkt_sched: Add and use qdisc_root() and qdisc_root_lock().\n\nWhen code wants to lock the qdisc tree state, the logic\noperation it\u0027s doing is locking the top-level qdisc that\nsits of the root of the netdev_queue.\n\nAdd qdisc_root_lock() to represent this and convert the\neasiest cases.\n\nIn order for this to work out in all cases, we have to\nhook up the noop_qdisc to a dummy netdev_queue.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2627c8c2241bce45e368e150654d076b58a4595",
      "tree": "e3ad7d1867339f254a324ba1acd5d8bdac1aca76",
      "parents": [
        "d3b753db7c4f1f37a98b51974d484fda5d86dab5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 00:56:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:18 2008 -0700"
      },
      "message": "pkt_sched: Make QDISC_RUNNING a qdisc state.\n\nCurrently it is associated with a netdev_queue, but when we have\nqdisc sharing that no longer makes any sense.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3b753db7c4f1f37a98b51974d484fda5d86dab5",
      "tree": "6596288854d9626f935ddf9c014471a4c38b5c74",
      "parents": [
        "b4c21639ab0f6df07ab7624a8c2f974936708ae5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 20:14:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:18 2008 -0700"
      },
      "message": "pkt_sched: Move gso_skb into Qdisc.\n\nWe liberate any dangling gso_skb during qdisc destruction.\n\nIt really only matters for the root qdisc.  But when qdiscs\ncan be shared by multiple netdev_queue objects, we can\u0027t\nhave the gso_skb in the netdev_queue any more.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f0f2223cc08a5ae9a77f40edfe02e8a9f1abd77",
      "tree": "48185f0e8c5a0d220e33a98fe4ac9b323e25579e",
      "parents": [
        "51cb6db0f5654f08a4a6bfa3888dc36a51c2df3e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 03:47:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:13 2008 -0700"
      },
      "message": "net: Implement simple sw TX hashing.\n\nIt just xor hashes over IPv4/IPv6 addresses and ports of transport.\n\nThe only assumption it makes is that skb_network_header() is set\ncorrectly.\n\nWith bug fixes from Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51cb6db0f5654f08a4a6bfa3888dc36a51c2df3e",
      "tree": "b9103a34674efeca9ffa2f9ef9cec1ee9735ab9d",
      "parents": [
        "eae792b722fef08dcf3aee88266ee7def9710757"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 03:34:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:12 2008 -0700"
      },
      "message": "mac80211: Reimplement WME using -\u003eselect_queue().\n\nThe only behavior change is that we do not drop packets under any\ncircumstances.  If that is absolutely needed, we could easily add it\nback.\n\nWith cleanups and help from Johannes Berg.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eae792b722fef08dcf3aee88266ee7def9710757",
      "tree": "a864c90974a8e998d56ee9f04801eb3f81a6bacf",
      "parents": [
        "e3c50d5d25ac09efd9acbe2b2a3e365466de84ed"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 03:03:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:10 2008 -0700"
      },
      "message": "netdev: Add netdev-\u003eselect_queue() method.\n\nDevices or device layers can set this to control the queue selection\nperformed by dev_pick_tx().\n\nThis function runs under RCU protection, which allows overriding\nfunctions to have some way of synchronizing with things like dynamic\n-\u003ereal_num_tx_queues adjustments.\n\nThis makes the spinlock prefetch in dev_queue_xmit() a little bit\nless effective, but that\u0027s the price right now for correctness.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd2ea0a79faad824258af5dcec1927aa24d81c16",
      "tree": "644fd4ce92227cc319c7a54c63ea07a96b8c6b8d",
      "parents": [
        "24344d2600108b9b79a60c0e4c43b3c499856d14"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 01:56:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:07 2008 -0700"
      },
      "message": "net: Use queue aware tests throughout.\n\nThis effectively \"flips the switch\" by making the core networking\nand multiqueue-aware drivers use the new TX multiqueue structures.\n\nNon-multiqueue drivers need no changes.  The interfaces they use such\nas netif_stop_queue() degenerate into an operation on TX queue zero.\nSo everything \"just works\" for them.\n\nCode that really wants to do \"X\" to all TX queues now invokes a\nroutine that does so, such as netif_tx_wake_all_queues(),\nnetif_tx_stop_all_queues(), etc.\n\npktgen and netpoll required a little bit more surgery than the others.\n\nIn particular the pktgen changes, whilst functional, could be largely\nimproved.  The initial check in pktgen_xmit() will sometimes check the\nwrong queue, which is mostly harmless.  The thing to do is probably to\ninvoke fill_packet() earlier.\n\nThe bulk of the netpoll changes is to make the code operate solely on\nthe TX queue indicated by by the SKB queue mapping.\n\nSetting of the SKB queue mapping is entirely confined inside of\nnet/core/dev.c:dev_pick_tx().  If we end up needing any kind of\nspecial semantics (drops, for example) it will be implemented here.\n\nFinally, we now have a \"real_num_tx_queues\" which is where the driver\nindicates how many TX queues are actually active.\n\nWith IGB changes from Jeff Kirsher.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24344d2600108b9b79a60c0e4c43b3c499856d14",
      "tree": "11a903c21028e4b88ebaeda3c3dcdfbcf3c7a231",
      "parents": [
        "1d8ae3fdeb001b8f534a6782c261aba6ec1779f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 02:53:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:05 2008 -0700"
      },
      "message": "mac80211: Temporarily mark QoS support BROKEN.\n\nWe will undo this after a few changsets.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d8ae3fdeb001b8f534a6782c261aba6ec1779f5",
      "tree": "5c488f59f674ba2c42755a6c34f69ac80824f213",
      "parents": [
        "09e83b5d7d1878065e2453239b49b684cd0fe4e5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 02:52:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:04 2008 -0700"
      },
      "message": "pkt_sched: Remove RR scheduler.\n\nThis actually fixes a bug added by the RR scheduler changes.  The\n-\u003ebands and -\u003eprio2band parameters were being set outside of the\nsch_tree_lock() and thus could result in strange behavior and\ninconsistencies.\n\nIt might be possible, in the new design (where there will be one qdisc\nper device TX queue) to allow similar functionality via a TX hash\nalgorithm for RR but I really see no reason to export this aspect of\nhow these multiqueue cards actually implement the scheduling of the\nthe individual DMA TX rings and the single physical MAC/PHY port.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09e83b5d7d1878065e2453239b49b684cd0fe4e5",
      "tree": "a08d06c81d7bcd47e432443e24b126101ea1f2b9",
      "parents": [
        "e8a0464cc950972824e2e128028ae3db666ec1ed"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 01:52:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:03 2008 -0700"
      },
      "message": "netdev: Kill NETIF_F_MULTI_QUEUE.\n\nThere is no need for a feature bit for something that\ncan be tested by simply checking the TX queue count.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8a0464cc950972824e2e128028ae3db666ec1ed",
      "tree": "5022b95396c0f3b313531bc39b19543c03551b9a",
      "parents": [
        "070825b3840a743e21ebcc44f8279708a4fed977"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:34:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:00 2008 -0700"
      },
      "message": "netdev: Allocate multiple queues for TX.\n\nalloc_netdev_mq() now allocates an array of netdev_queue\nstructures for TX, based upon the queue_count argument.\n\nFurthermore, all accesses to the TX queues are now vectored\nthrough the netdev_get_tx_queue() and netdev_for_each_tx_queue()\ninterfaces.  This makes it easy to grep the tree for all\nthings that want to get to a TX queue of a net device.\n\nProblem spots which are not really multiqueue aware yet, and\nonly work with one queue, can easily be spotted by grepping\nfor all netdev_get_tx_queue() calls that pass in a zero index.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51ce7ec92187b22ab1598987bb5f9776f6e0ebad",
      "tree": "7617a6e5bfa58e4969c5a7f5ff5688a3129dbdee",
      "parents": [
        "9a6d276e85aa3d8f308fc5e8de6892daeb60ae5f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 16 20:51:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:51:47 2008 -0700"
      },
      "message": "garp: retry sending JoinIn messages after allocation failures\n\nIncrease reliability by retrying to send JoinIn messages after memory\nallocation failures on each TRANSMIT_PDU event until it succeeds.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a6d276e85aa3d8f308fc5e8de6892daeb60ae5f",
      "tree": "f61e1ad988a037745794fb23004d5bf2f247800f",
      "parents": [
        "ed88098e25d77bef3b2ad8c9d8e2ebf454d9ccbf"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Jul 16 20:50:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:50:49 2008 -0700"
      },
      "message": "core: add stat to track unresolved discards in neighbor cache\n\nin __neigh_event_send, if we have a neighbour entry which is in\nNUD_INCOMPLETE state, we enqueue any outbound frames to that neighbour\nto the neighbours arp_queue, which is default capped to a length of 3\nskbs.  If that queue exceeds its set length, it will drop an skb on\nthe queue to enqueue the newly arrived skb.  This results in a drop\nfor which we have no statistics incremented.  This patch adds an\nunresolved_discards stat to /proc/net/stat/ndisc_cache to track these\nlost frames.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed88098e25d77bef3b2ad8c9d8e2ebf454d9ccbf",
      "tree": "1923cf073c299e1265cbe8a82de10cf95c91c791",
      "parents": [
        "f2bf415cfed703de5ba94d25cdb160920c01fb00"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:32:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:32:45 2008 -0700"
      },
      "message": "mib: add net to NET_ADD_STATS_USER\n\nDone with NET_XXX_STATS macros :)\n\nTo be continued...\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2bf415cfed703de5ba94d25cdb160920c01fb00",
      "tree": "58c2ea153c45d14ecf348b6a891bcf3b258c6547",
      "parents": [
        "6f67c817fcfd94f5ca0f14b114b7fa25c0210c8b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:32:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:32:25 2008 -0700"
      },
      "message": "mib: add net to NET_ADD_STATS_BH\n\nThis one is tricky. \n\nThe thing is that this macro is only used when killing tw buckets, \nbut since this killer is promiscuous wrt to which net each particular\ntw belongs to, I have to use it only when NET_NS is off. When the net\nnamespaces are on, I use the INET_INC_STATS_BH for each bucket.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f67c817fcfd94f5ca0f14b114b7fa25c0210c8b",
      "tree": "3472fe69877d53aff3e3b78b8d7ec34e684db39b",
      "parents": [
        "de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:31:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:31:39 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS_USER\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c",
      "tree": "68d02820b1aa13e8fa9743c0ece5930a13d5a205",
      "parents": [
        "4e6734447dbc7a0a85e09616821c0782d9fb1141"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e6734447dbc7a0a85e09616821c0782d9fb1141",
      "tree": "4fa4e7f6a479a172d690fba7f50c0659cb977e2d",
      "parents": [
        "1ed834655a0d42ecd80ff051e681e2ea44747b6c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:30:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:30:14 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ed834655a0d42ecd80ff051e681e2ea44747b6c",
      "tree": "065943419a374616442027fc60c499565e1f16d5",
      "parents": [
        "ca12a1a443a51298afcca627ad0bcbd8ad1dcddc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:29:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:29:51 2008 -0700"
      },
      "message": "tcp: replace tcp_sock argument with sock in some places\n\nThese places have a tcp_sock, but we\u0027d prefer the sock itself to\nget net from it. Fortunately, tcp_sk macro is just a type cast, so\nthis replace is really cheap.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca12a1a443a51298afcca627ad0bcbd8ad1dcddc",
      "tree": "9eebfe3f3b5812ea524d0b32223fb622a8d12bc8",
      "parents": [
        "5c52ba170f8167511bdb65b981f4582100c40675"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:28:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:28:42 2008 -0700"
      },
      "message": "inet: prepare net on the stack for NET accounting macros\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c52ba170f8167511bdb65b981f4582100c40675",
      "tree": "1dab120003eb696dfb4ca18c40861274a317739d",
      "parents": [
        "cf1100a7a4f2573f50f9a923b53373977328e3c8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:28:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:28:10 2008 -0700"
      },
      "message": "sock: add net to prot-\u003eenter_memory_pressure callback\n\nThe tcp_enter_memory_pressure calls NET_INC_STATS, but doesn\u0027t\nhave where to get the net from.\n\nI decided to add a sk argument, not the net itself, only to factor\nall the required sock_net(sk) calls inside the enter_memory_pressure \ncallback itself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "74688e487a407a33d42879957b478601aca616b8"
}
