)]}'
{
  "log": [
    {
      "commit": "529a41e36673b518c9e091f3a8d932b6b9e3c461",
      "tree": "12416411590cb5d2b7f365f3800e31306909d6ce",
      "parents": [
        "c3823c479e1f86a0adc7bb76fcfded67b042afc3",
        "43837b1e6c5aef803d57009a68db18df13e64892"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:46:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:46:17 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  rose: Socket lock was not released before returning to user space\n  hci_usb: remove code obfuscation\n  drivers/net/appletalk: use time_before, time_before_eq, etc\n  drivers/atm: use time_before, time_before_eq, etc\n  hci_usb: do not initialize static variables to 0\n  tg3: 5701 DMA corruption fix\n  atm nicstar: Removal of debug code containing deprecated calls to cli()/sti()\n  iwlwifi: Fix unconditional access to station-\u003etidp[].agg.\n  netfilter: Fix SIP conntrack build with NAT disabled.\n  netfilter: Fix SCTP nat build.\n"
    },
    {
      "commit": "4e9d8a70e4a48e146a0eaaa5a666f0a4889d873d",
      "tree": "ed840a645ae653839b972690cd0d3f989f180398",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Apr 19 17:52:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 19 17:52:51 2008 -0700"
      },
      "message": "netfilter: Fix SCTP nat build.\n\nWe need to select LIBCRC32C.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f090dcb4d4fff373ce7165bce4ba5e87534d50a",
      "tree": "7555518ce0687cc7de59aa271081cf648fc8a759",
      "parents": [
        "950e4da32426859ee4b37b2c95026d4f1efa5d05"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:15:50 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:15:50 2008 -0400"
      },
      "message": "net: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.  It\u0027s possible that they rely on it dragging in some\nunrelated header file, but I can\u0027t build all these files, so we\u0027ll have\nfix any build failures as they come up.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "1e42198609d73ed1a9adcba2af275c24c2678420",
      "tree": "32fd4d9073bfc0f3909af8f9fb4bcff38951d01a",
      "parents": [
        "794eb6bf20ebf992c040ea831cd3a9c64b0c1f7a",
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "53083773dcbd3c80477e2ace143e361e1e806745",
      "tree": "7a8b65350993c81d0360c072e096536c77098068",
      "parents": [
        "e56d8b8a2ee5fb7f63ceba58e1c0fb3c844888a4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Apr 17 23:18:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:18:15 2008 -0700"
      },
      "message": "[INET]: Uninline the __inet_inherit_port call.\n\nThis deblats ~200 bytes when ipv6 and dccp are \u0027y\u0027.\n\nBesides, this will ease compilation issues for patches\nI\u0027m working on to make inet hash tables more scalable \nwrt net namespaces.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4b8f57965e007afbbb0175ea28f733723c5260b",
      "tree": "7f4aeda48ada35771ea3e63bbbb36e52c47aeb62",
      "parents": [
        "424b00e2c0f0c38f2cf5331391742ec998f6d89f",
        "56f367bbfd5a7439961499ca6a2f0822d2074d83"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:44:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:44:27 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  [TCP]: Add return value indication to tcp_prune_ofo_queue().\n  PS3: gelic: fix the oops on the broken IE returned from the hypervisor\n  b43legacy: fix DMA mapping leakage\n  mac80211: remove message on receiving unexpected unencrypted frames\n  Update rt2x00 MAINTAINERS entry\n  Add rfkill to MAINTAINERS file\n  rfkill: Fix device type check when toggling states\n  b43legacy: Fix usage of struct device used for DMAing\n  ssb: Fix usage of struct device used for DMAing\n  MAINTAINERS: move to generic repository for iwlwifi\n  b43legacy: fix initvals loading on bcm4303\n  rtl8187: Add missing priv-\u003evif assignments\n  netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole\n  [CAN]: Update documentation of struct sockaddr_can\n  MAINTAINERS: isdn4linux@listserv.isdn4linux.de is subscribers-only\n  [TCP]: Fix never pruned tcp out-of-order queue.\n  [NET_SCHED] sch_api: fix qdisc_tree_decrease_qlen() loop\n"
    },
    {
      "commit": "8c5da49a63c7675a3e137eb384b982e562622342",
      "tree": "b722d9b1849edfc6adec10850fa47e675a77d7bc",
      "parents": [
        "57d7a6009241fe04a699e5f65d55cf5cb7008fc7"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Apr 16 02:01:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 02:01:11 2008 -0700"
      },
      "message": "[NETNS]: Add netns refcnt debug for inet bind buckets.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57d7a6009241fe04a699e5f65d55cf5cb7008fc7",
      "tree": "af0d7728dafa87ce11635139e4667f2e18ea8a74",
      "parents": [
        "cd5342d9055545624187a2d47e68bdabc1ca9963"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Apr 16 02:00:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 02:00:50 2008 -0700"
      },
      "message": "[NETNS]: Add netns refcnt debug into fib_info.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd5342d9055545624187a2d47e68bdabc1ca9963",
      "tree": "57554b1aae7821ff6492ea83ca434741225848d0",
      "parents": [
        "65a18ec58e5e6186103f62f720acea94dfb26f4e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Apr 16 02:00:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 02:00:28 2008 -0700"
      },
      "message": "[NETNS]: Add netns refcnt debug for timewait buckets.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0970c428b33ee6e0aa576f58f87dde74262a441",
      "tree": "d491af23c3aead55224aa0e2c3536a4f62508bae",
      "parents": [
        "7a97146cc6e8145f65abfee36e56de7b8061c34f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:17:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:17:39 2008 -0700"
      },
      "message": "[SIT]: Allow for IPPROTO_IPV6 protocol in namespaces.\n\nThis makes sit-generated traffic enter the namespace.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f96c148fd53a2a0dbb2d768895c7cf6951e35cc5",
      "tree": "248cd94d99ef73431bc654d5094a775bd0432da2",
      "parents": [
        "0b67eceb198b77045950011e12bf176a7c11ad98"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:11:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:11:36 2008 -0700"
      },
      "message": "[GRE]: Allow for IPPROTO_GRE protocol in namespaces.\n\nThis one was also disabled by default for sanity.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b67eceb198b77045950011e12bf176a7c11ad98",
      "tree": "6712704b88a6ea5b1a684f2ffcf47667c034b17b",
      "parents": [
        "96635522f7930025b8a56a7075db82c48a454a30"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:11:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:11:13 2008 -0700"
      },
      "message": "[GRE]: Allow to create IPGRE tunnels in net namespaces.\n\nI.e. set the proper net and mark as NETNS_LOCAL.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96635522f7930025b8a56a7075db82c48a454a30",
      "tree": "17b8d7e0d79b94d2dc1cc25e1b8e51b5598f02b1",
      "parents": [
        "eb8ce741a3c4d4ba5f345ff19689c7d2e4555668"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:10:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:10:44 2008 -0700"
      },
      "message": "[GRE]: Use proper net in routing calls.\n\nAs for the IPIP tunnel, there are some ip_route_output_key()\ncalls in there that require a proper net so give one to them.\n\nAnd a proper net for the __get_dev_by_index hanging around.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb8ce741a3c4d4ba5f345ff19689c7d2e4555668",
      "tree": "e66ef0b4f3e5f13be195e4bdce2ac72d7d10dead",
      "parents": [
        "7daa0004895f0421bff41a3ac0464f2ff4d9cd41"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:10:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:10:26 2008 -0700"
      },
      "message": "[GRE]: Make tunnels hashes per-net.\n\nVery similar to what was done for the IPIP code.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7daa0004895f0421bff41a3ac0464f2ff4d9cd41",
      "tree": "59a6666156fe5236604df59ec1e749adb5eec177",
      "parents": [
        "3b4667f3db4d7d0b6d8f35c2ca80333ea141629a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:10:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:10:05 2008 -0700"
      },
      "message": "[GRE]: Make the fallback tunnel device per-net.\n\nEverything is prepared for this change now. Create on in\ninit callback, use it over the code and destroy on net exit.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b4667f3db4d7d0b6d8f35c2ca80333ea141629a",
      "tree": "2224c61f148a25721753af6c526150668f040d5d",
      "parents": [
        "f57e7d5a7bd2a600a8a97e278e4c46904ceacf51"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:09:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:09:44 2008 -0700"
      },
      "message": "[GRE]: Use proper net in hash-lookup functions.\n\nThis is the part#2 of the patch #2 - get the proper net for\nthese functions. This change in a separate patch in order not\nto get lost in a large previous patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f57e7d5a7bd2a600a8a97e278e4c46904ceacf51",
      "tree": "dd446e0d47810e38ac0f28918f04eaddf6fd5a46",
      "parents": [
        "59a4c7594bcecef27f072a599e9fb3b18754fc60"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:09:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:09:22 2008 -0700"
      },
      "message": "[GRE]: Add net/gre_net argument to some functions.\n\nThe fallback device and hashes are to become per-net, but many\ncode doesn\u0027t have anything to get the struct net pointer from.\n\nSo pass the proper net there with an extra argument.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59a4c7594bcecef27f072a599e9fb3b18754fc60",
      "tree": "b3098e132ce5373261b8f8ca1a5bb948c07eeaad",
      "parents": [
        "4597a0ce0849eaa62fc9083c21943e0c434e4135"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:08:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:08:53 2008 -0700"
      },
      "message": "[GRE]: Introduce empty ipgre_net structure and net init/exit ops.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4597a0ce0849eaa62fc9083c21943e0c434e4135",
      "tree": "2562912e41e53a95c6fb55deaa6c0b6571591a82",
      "parents": [
        "0a826406d4adf0c4b7cd47f116cb8e8ef65b92a3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:06:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:06:56 2008 -0700"
      },
      "message": "[IPIP]: Allow for IPPROTO_IPIP protocol in namespaces.\n\nThis one was disabled by default for sanity.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a826406d4adf0c4b7cd47f116cb8e8ef65b92a3",
      "tree": "9da0f22c3dfc2d5b6bd672f5e14d816decba2540",
      "parents": [
        "b99f0152e5f96dde31d2b9060b4f1029abc11078"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:06:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:06:18 2008 -0700"
      },
      "message": "[IPIP]: Allow to create IPIP tunnels in net namespaces.\n\nSet the proper net before calling register_netdev and disable \nthe tunnel device netns changing.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b99f0152e5f96dde31d2b9060b4f1029abc11078",
      "tree": "6e71dcc55e5b36a7819f7521c0fa930b04143aac",
      "parents": [
        "44d3c299dcfee094f10e0c686ad6588fd36d4f8f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:05:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:05:57 2008 -0700"
      },
      "message": "[IPIP]: Use proper net in (mostly) routing calls.\n\nThere are some ip_route_output_key() calls in there that require\na proper net so give one to them.\n\nBesides - give a proper net to a single __get_dev_by_index call \nin ipip_tunnel_bind_dev().\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44d3c299dcfee094f10e0c686ad6588fd36d4f8f",
      "tree": "437aa81b715eee3805ca016df77923c3cb770892",
      "parents": [
        "cec3ffae1a019f02cd6b5fa291f279c8e9f86157"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:05:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:05:32 2008 -0700"
      },
      "message": "[IPIP]: Make tunnels hashes per net.\n\nEither net or ipip_net already exists in all the required \nplaces, so just use one.\n\nBesides, tune net_init and net_exit calls to respectively \ninitialize the hashes and destroy devices.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cec3ffae1a019f02cd6b5fa291f279c8e9f86157",
      "tree": "12711c9b887afaccf8dd5e48c80cc0da716211b0",
      "parents": [
        "b9fae5c9138086d27715a8a0f29d5b55239db35c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:05:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:05:03 2008 -0700"
      },
      "message": "[IPIP]: Use proper net in hash-lookup functions.\n\nThis is the part#2 of the previous patch - get the proper\nnet for these functions.\n\nI make it in a separate patch, so that this change does not\nget lost in a large previous patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9fae5c9138086d27715a8a0f29d5b55239db35c",
      "tree": "d0641404b3abe00d626ddb6b96589e83055cff58",
      "parents": [
        "b9855c54dadc0768dcc3804df1972488783d2267"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:04:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:04:35 2008 -0700"
      },
      "message": "[IPIP]: Add net/ipip_net argument to some functions.\n\nThe hashes of tunnels will be per-net too, so prepare all the \nfunctions that uses them for this change by adding an argument.\n\nUse init_net temporarily in places, where the net does not exist\nexplicitly yet.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9855c54dadc0768dcc3804df1972488783d2267",
      "tree": "37ef8c0d01725440d5b87205b538a555e7eff7d2",
      "parents": [
        "10dc4c7bb70533d16184aaaa69e137a7d2b9a3a8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:04:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:04:13 2008 -0700"
      },
      "message": "[IPIP]: Make the fallback tunnel device per-net.\n\nCreate on in ipip_init_net(), use it all over the code (the\nproper place to get the net from already exists) and destroy\nin ipip_net_exit().\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10dc4c7bb70533d16184aaaa69e137a7d2b9a3a8",
      "tree": "6fb4348ea85911deb3e8d1154b8ab3cb14d42a0a",
      "parents": [
        "30688a9a3e06d83d187658bd1c15f0e306bed38b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 16 01:03:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 01:03:13 2008 -0700"
      },
      "message": "[IPIP]: Introduce empty ipip_net structure and net init/exit ops.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17515408a15fa51c553e67c415502e785145cd7f",
      "tree": "0aebcd0c357271b3b06a71d22796d5d323cbe230",
      "parents": [
        "b131dd5d659aaf287a3809473130c3ff5eddb71b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Apr 15 20:36:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 15 20:36:55 2008 -0700"
      },
      "message": "[TCP]: Remove superflushious skb \u003d\u003d write_queue_tail() check\n\nNeeded can only be more strict than what was checked by the\nearlier common case check for non-tail skbs, thus\ncwnd_len \u003c\u003d needed will never match in that case anyway.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56f367bbfd5a7439961499ca6a2f0822d2074d83",
      "tree": "cdd34f6fed1fcbaa80f2fb2bf17df4fe03a316db",
      "parents": [
        "c4cbb34bbdaaa841ef7c027f7b420db4c318c4fd"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Tue Apr 15 20:26:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 15 20:26:34 2008 -0700"
      },
      "message": "[TCP]: Add return value indication to tcp_prune_ofo_queue().\n\nReturns non-zero if tp-\u003eout_of_order_queue was seen non-empty.\nThis allows tcp_try_rmem_schedule() to return early.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b000cd3707e7b25d76745f9c0e261c23d21fa578",
      "tree": "d86dfd47954404e581f7f9d730ae3d3ce2532ad1",
      "parents": [
        "066a3b5b2346febf9a655b444567b7138e3bb939"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Tue Apr 15 00:33:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 15 00:33:38 2008 -0700"
      },
      "message": "[TCP]: Fix never pruned tcp out-of-order queue.\n\ntcp_prune_queue() doesn\u0027t prune an out-of-order queue at all.\nTherefore sk_rmem_schedule() can fail but the out-of-order queue isn\u0027t\npruned . This can lead to tcp deadlock state if the next two\nconditions are held:\n\n1. There are a sequence hole between last received in\n   order segment and segments enqueued to the out-of-order queue.\n\n2. Size of all segments in the out-of-order queue is more than tcp_mem[2].\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "533bb8a4d7388686243c37a414c4448ba3566f8a",
      "tree": "506ef946871e4499862ecc8513f49b69389ae865",
      "parents": [
        "4f3f8e94b7b079131f0faf641e8afd790a6537d1",
        "159d83363b629c91d020734207c1bc788b96af5a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 14 07:56:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 14 07:56:24 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: (31 commits)\n  [BRIDGE]: Fix crash in __ip_route_output_key with bridge netfilter\n  [NETFILTER]: ipt_CLUSTERIP: fix race between clusterip_config_find_get and _entry_put\n  [IPV6] ADDRCONF: Don\u0027t generate temporary address for ip6-ip6 interface.\n  [IPV6] ADDRCONF: Ensure disabling multicast RS even if privacy extensions are disabled.\n  [IPV6]: Use appropriate sock tclass setting for routing lookup.\n  [IPV6]: IPv6 extension header structures need to be packed.\n  [IPV6]: Fix ipv6 address fetching in raw6_icmp_error().\n  [NET]: Return more appropriate error from eth_validate_addr().\n  [ISDN]: Do not validate ISDN net device address prior to interface-up\n  [NET]: Fix kernel-doc for skb_segment\n  [SOCK] sk_stamp: should be initialized to ktime_set(-1L, 0)\n  net: check for underlength tap writes\n  net: make struct tun_struct private to tun.c\n  [SCTP]: IPv4 vs IPv6 addresses mess in sctp_inet[6]addr_event.\n  [SCTP]: Fix compiler warning about const qualifiers\n  [SCTP]: Fix protocol violation when receiving an error lenght INIT-ACK\n  [SCTP]: Add check for hmac_algo parameter in sctp_verify_param()\n  [NET_SCHED] cls_u32: refcounting fix for u32_delete()\n  [DCCP]: Fix skb-\u003ecb conflicts with IP\n  [AX25]: Potential ax25_uid_assoc-s leaks on module unload.\n  ...\n"
    },
    {
      "commit": "569508c964a8b5235e00998523bc3acd3f6aff01",
      "tree": "bae516f4df35e08cc515e49d36e6a8c14b8441da",
      "parents": [
        "a7d632b6b4ad1c92746ed409e41f9dc571ec04e2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 14 04:09:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 04:09:36 2008 -0700"
      },
      "message": "[TCP]: Format addresses appropriately in debug messages.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7d632b6b4ad1c92746ed409e41f9dc571ec04e2",
      "tree": "90e6aa51a9df50aa4a437749e89356ab15a0ff5f",
      "parents": [
        "334f8b2afd9652e20f67ddee4fec483ed860425b"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "message": "[IPV4]: Use NIPQUAD_FMT to format ipv4 addresses.\n\nAnd use %u to format port.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "334f8b2afd9652e20f67ddee4fec483ed860425b",
      "tree": "35d4fb46a9dc145e831fe5da026f2bfd9ee6657c",
      "parents": [
        "7477fd2e6b676fcd15861c2a96a7172f71afe0a5",
        "ef1a5a50bbd509b8697dcd4d13017e9e0053867b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 03:50:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 03:50:43 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.26\n"
    },
    {
      "commit": "7477fd2e6b676fcd15861c2a96a7172f71afe0a5",
      "tree": "82801f361c0e196a8b67481a5fd9435a206ba76f",
      "parents": [
        "13f51d82acb003918d71ce4639ae77fceaa58cad"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Apr 14 02:42:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:42:27 2008 -0700"
      },
      "message": "[SOCK]: Add some notes about per-bind-bucket sock lookup.\n\nI was asked about \"why don\u0027t we perform a sk_net filtering in\nbind_conflict calls, like we do in other sock lookup places\"\nfor a couple of times.\n\nCan we please add a comment about why we do not need one?\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df39e8ba56a788733d369068c7319e04b1da3cd5",
      "tree": "1e9be853bdb455e341cdbf957656f342cfa2eb9e",
      "parents": [
        "f5572855ec492334d8c3ec0e0e86c31865d5cf07",
        "159d83363b629c91d020734207c1bc788b96af5a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ehea/ehea_main.c\n\tdrivers/net/wireless/iwlwifi/Kconfig\n\tdrivers/net/wireless/rt2x00/rt61pci.c\n\tnet/ipv4/inet_timewait_sock.c\n\tnet/ipv6/raw.c\n\tnet/mac80211/ieee80211_sta.c\n"
    },
    {
      "commit": "3c9fba656a185cf56872a325e5594d9b4d4168ec",
      "tree": "5750fdd533d36d28acb18c51a716ea8eb278e99f",
      "parents": [
        "12c33aa20e1e248ac199d58076fcd4522acbff17"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:54 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:54 2008 +0200"
      },
      "message": "[NETFILTER]: nf_conntrack: replace NF_CT_DUMP_TUPLE macro indrection by function call\n\nDirectly call IPv4 and IPv6 variants where the address family is\neasily known.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "12c33aa20e1e248ac199d58076fcd4522acbff17",
      "tree": "e6a32b31859a6ad161eb7387907616f0c32463c6",
      "parents": [
        "f2ea825f483d5d78754ae813b6db63f8b74e9343"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:54 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:54 2008 +0200"
      },
      "message": "[NETFILTER]: nf_conntrack: const annotations in nf_conntrack_sctp, nf_nat_proto_gre\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f2ea825f483d5d78754ae813b6db63f8b74e9343",
      "tree": "9a71a03a99443078a14aad195fb6c15cbb3920c8",
      "parents": [
        "5f2b4c9006fc667c4614f0b079efab3721f68316"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:53 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:53 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: use bool type in nf_nat_proto\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "09f263cd39751cada63dec2dccc71e67c00bc38c",
      "tree": "99ec45362e3545b42757803bb43d926d39f3922a",
      "parents": [
        "8ce8439a31f723f3aa28adf27fe8797a5678dde1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:53 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:53 2008 +0200"
      },
      "message": "[NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l4proto\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8ce8439a31f723f3aa28adf27fe8797a5678dde1",
      "tree": "f34b193c50f15878e8aa7f3bd5054f1f04958dbe",
      "parents": [
        "9dbae7917899d78a094aceeb5062cd76efa89052"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:52 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:52 2008 +0200"
      },
      "message": "[NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l3proto\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5e8fbe2ac8a3f1e34e7004c5750ef59bf9304f82",
      "tree": "7a42f4fa1825e215e3ca3f2d3b2f66a865294ce0",
      "parents": [
        "5f7da4d26d421f3bdf10c3bbdb86ffc3a12a84f2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:52 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:52 2008 +0200"
      },
      "message": "[NETFILTER]: nf_conntrack: add tuplehash l3num/protonum accessors\n\nAdd accessors for l3num and protonum and get rid of some overly long\nexpressions.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "dd13b010368f85dfa59364ba87bfe8ae930b2832",
      "tree": "f7f0a8fa77858674564aeb614499f40dd3c6dcd8",
      "parents": [
        "55871d04793d9c069ee277b1e98794b88d92ed80"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:52 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:52 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: kill helper and seq_adjust hooks\n\nConnection tracking helpers (specifically FTP) need to be called\nbefore NAT sequence numbers adjustments are performed to be able\nto compare them against previously seen ones. We\u0027ve introduced\ntwo new hooks around 2.6.11 to maintain this ordering when NAT\nmodules were changed to get called from conntrack helpers directly.\n\nThe cost of netfilter hooks is quite high and sequence number\nadjustments are only rarely needed however. Add a RCU-protected\nsequence number adjustment function pointer and call it from\nIPv4 conntrack after calling the helper.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8c87238b726e543f8af4bdb4296020a328df4744",
      "tree": "d6c74123cfdd8ccd784f8383446a19d260c9bddf",
      "parents": [
        "42cf800c240fa845e9c154429d70d62750e65b64"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:51 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:51 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: don\u0027t add NAT extension for confirmed conntracks\n\nAdding extensions to confirmed conntracks is not allowed to avoid races\non reallocation. Don\u0027t setup NAT for confirmed conntracks in case NAT\nmodule is loaded late.\n\nThe has one side-effect, the connections existing before the NAT module\nwas loaded won\u0027t enter the bysource hash. The only case where this actually\nmakes a difference is in case of SNAT to a multirange where the IP before\nNAT is also part of the range. Since old connections don\u0027t enter the\nbysource hash the first new connection from the IP will have a new address\nselected. This shouldn\u0027t matter at all.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "42cf800c240fa845e9c154429d70d62750e65b64",
      "tree": "e3144f6b168499ae946cad846259a8b024379691",
      "parents": [
        "9d908a69a32e0171eb5eeac93f2f46ffa4190573"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:50 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:50 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: remove obsolete check for ICMP redirects\n\nLocally generated ICMP packets have a reference to the conntrack entry\nof the original packet manually attached by icmp_send(). Therefore the\ncheck for locally originated untracked ICMP redirects can never be\ntrue.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "9d908a69a32e0171eb5eeac93f2f46ffa4190573",
      "tree": "876d1a05260ad73d1ac60700ecbed904d19982d1",
      "parents": [
        "4910a087996e637adc50f955eccf114307f8fab7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:50 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:50 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: add SCTP protocol support\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "4910a087996e637adc50f955eccf114307f8fab7",
      "tree": "bf3402198dc4126b24618da1571c835510645be9",
      "parents": [
        "2bc780499aa33311ec0f3e42624dfaa7be0ade5e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 20 15:15:57 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:50 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: add DCCP protocol support\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d63a650736f566a1f9e9434725d2089597c0d2cc",
      "tree": "f0a3d5dbc9ced46f95582e4133b55bb70a1ae365",
      "parents": [
        "6185f870e293a0a3eae5c81eb0106480cf03dfde"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 20 15:15:53 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:49 2008 +0200"
      },
      "message": "[NETFILTER]: Add partial checksum validation helper\n\nMove the UDP-Lite conntrack checksum validation to a generic helper\nsimilar to nf_checksum() and make it fall back to nf_checksum()\nin case the full packet is to be checksummed and hardware checksums\nare available. This is to be used by DCCP conntrack, which also\nneeds to verify partial checksums.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6185f870e293a0a3eae5c81eb0106480cf03dfde",
      "tree": "e4e9dad8838a97312be0b67657c642d042457ba3",
      "parents": [
        "2d2d84c40e19a7fce51ba1f124ecde105104192d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 20 15:15:51 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:48 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: add UDP-Lite support\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "2d2d84c40e19a7fce51ba1f124ecde105104192d",
      "tree": "7388dd42d235b02e5028e4bb6242a481f1a47a41",
      "parents": [
        "ca6a50749012fc17feeec91ee2f9eeacacf06f0b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 20 15:15:49 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:48 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: remove unused name from struct nf_nat_protocol\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ca6a50749012fc17feeec91ee2f9eeacacf06f0b",
      "tree": "b5dd90319ac557fedda67287576a4bb4be38347b",
      "parents": [
        "535b57c7c1524125444aa1b874332f6ff1608ef5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:47 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:47 2008 +0200"
      },
      "message": "[NETFILTER]: nf_conntrack_netlink: clean up NAT protocol parsing\n\nMove responsibility for setting the IP_NAT_RANGE_PROTO_SPECIFIED flag\nto the NAT protocol, properly propagate errors and get rid of ugly\nreturn value convention.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "535b57c7c1524125444aa1b874332f6ff1608ef5",
      "tree": "c127d9bce1b29158343447967c50edd51e357890",
      "parents": [
        "5abd363f738dcd048ee790fb9b84d0768a8a407f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:47 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:47 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: move NAT ctnetlink helpers to nf_nat_proto_common\n\nMove to nf_nat_proto_common and rename to nf_nat_proto_... since they\u0027re\nalso used by protocols that don\u0027t have port numbers.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5abd363f738dcd048ee790fb9b84d0768a8a407f",
      "tree": "d6b7351ee220614e4aeed8130452da579bd4a530",
      "parents": [
        "937e0dfd87a8b7946a17161664500fba93eb13fd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:46 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:46 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: fix random mode not to overwrite port rover\n\nThe port rover should not get overwritten when using random mode,\notherwise other rules will also use more or less random ports.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "937e0dfd87a8b7946a17161664500fba93eb13fd",
      "tree": "2dae4611ca2fc22d8973dcf0dfbed315de70ff86",
      "parents": [
        "544473c1664f3a688be949ac078bdee6f4afeef1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 20 15:15:47 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:46 2008 +0200"
      },
      "message": "[NETFILTER]: nf_nat: add helpers for common NAT protocol operations\n\nAdd generic -\u003ein_range and -\u003eunique_tuple ops to avoid duplicating them\nagain and again for future NAT modules and save a few bytes of text:\n\nnet/ipv4/netfilter/nf_nat_proto_tcp.c:\n  tcp_in_range     |  -62 (removed)\n  tcp_unique_tuple | -259 # 271 -\u003e 12, # inlines: 1 -\u003e 0, size inlines: 7 -\u003e 0\n 2 functions changed, 321 bytes removed\n\nnet/ipv4/netfilter/nf_nat_proto_udp.c:\n  udp_in_range     |  -62 (removed)\n  udp_unique_tuple | -259 # 271 -\u003e 12, # inlines: 1 -\u003e 0, size inlines: 7 -\u003e 0\n 2 functions changed, 321 bytes removed\n\nnet/ipv4/netfilter/nf_nat_proto_gre.c:\n  gre_in_range |  -62 (removed)\n 1 function changed, 62 bytes removed\n\nvmlinux:\n 5 functions changed, 704 bytes removed\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "544473c1664f3a688be949ac078bdee6f4afeef1",
      "tree": "019b6a5088f8fe99928464d9530268d1de02924a",
      "parents": [
        "fa913ddf6372b20b23061996150d38f639488d42"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:45 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:45 2008 +0200"
      },
      "message": "[NETFILTER]: {ip,ip6,arp}_tables: return EAGAIN for invalid SO_GET_ENTRIES size\n\nRule dumping is performed in two steps: first userspace gets the\nruleset size using getsockopt(SO_GET_INFO) and allocates memory,\nthen it calls getsockopt(SO_GET_ENTRIES) to actually dump the\nruleset. When another process changes the ruleset in between the\nsizes from the first getsockopt call doesn\u0027t match anymore and\nthe kernel aborts. Unfortunately it returns EAGAIN, as for multiple\nother possible errors, so userspace can\u0027t distinguish this case\nfrom real errors.\n\nReturn EAGAIN so userspace can retry the operation.\n\nFixes (with current iptables SVN version) netfilter bugzilla #104.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c2f9c68398ec724738509f95f1599378ebcc45e0",
      "tree": "f29e04a2bdf31ea16e636a94a2f8b035c14226b9",
      "parents": [
        "3bb0362d2f53fa54a17b88c96b43fc093e47699b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:44 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:44 2008 +0200"
      },
      "message": "[NETFILTER]: Explicitly initialize .priority in arptable_filter\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3bb0362d2f53fa54a17b88c96b43fc093e47699b",
      "tree": "915a373f37785f926b7be99d4bc98c0e4f724a38",
      "parents": [
        "95eea855af69bfd54a7b73546190e76046ca2e07"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:44 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:44 2008 +0200"
      },
      "message": "[NETFILTER]: remove arpt_(un)register_target indirection macros\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "95eea855af69bfd54a7b73546190e76046ca2e07",
      "tree": "264951aad652625a31e12f715363ee07d00f3639",
      "parents": [
        "4abff0775d5e4feb20b21371e1c63a1b30fc2140"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:43 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:43 2008 +0200"
      },
      "message": "[NETFILTER]: remove arpt_target indirection macro\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "4abff0775d5e4feb20b21371e1c63a1b30fc2140",
      "tree": "cba00aea0e9f9c8a3daf099c7ebc95de6b14f0f3",
      "parents": [
        "72b72949db9aabaafd791a9077f02188a866824d"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:43 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:43 2008 +0200"
      },
      "message": "[NETFILTER]: remove arpt_table indirection macro\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "72b72949db9aabaafd791a9077f02188a866824d",
      "tree": "5621ea59664345cf4be6db5d9f328995f3c4b229",
      "parents": [
        "58c0fb0ddd92e5105d61fc85b6e7af7b1f669067"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:42 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:42 2008 +0200"
      },
      "message": "[NETFILTER]: annotate rest of nf_nat_* with const\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5452e425adfdfc4647b618e303f73d48f2405b0e",
      "tree": "7cad164e9517cee49556c6c85e4f40d3c7f6b2b7",
      "parents": [
        "3cf93c96af7adf78542d45f8a27f0e5f8704409d"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 11:15:35 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 11:15:35 2008 +0200"
      },
      "message": "[NETFILTER]: annotate {arp,ip,ip6,x}tables with const\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3cf93c96af7adf78542d45f8a27f0e5f8704409d",
      "tree": "1559a1c55ef406f9aa8efdc2d5dc8ed42059c1df",
      "parents": [
        "b9f61b160336da5eaaacb0cb41ebe32169e3bde5"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Apr 14 09:56:05 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 09:56:05 2008 +0200"
      },
      "message": "[NETFILTER]: annotate xtables targets with const and remove casts\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "fdccecd0cc267817607acca386181439e8e1bd83",
      "tree": "c7496d698aa1e2887df34e3a5f4b40b147ba31ab",
      "parents": [
        "0718300c06d4b86ca2f4b93084ff3813fc81f5a2"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Mon Apr 14 09:56:03 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 09:56:03 2008 +0200"
      },
      "message": "[NETFILTER]: Use non-deprecated __RW_LOCK_UNLOCKED macro\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "666953df353194bef76086fa3f126241cbac3e3a",
      "tree": "bd69afed2996b0a521361efcd29e32ea7606e9ff",
      "parents": [
        "36e2a1b0f7f2598e38952494b91490f58aa221c8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Mon Apr 14 09:56:02 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 09:56:02 2008 +0200"
      },
      "message": "[NETFILTER]: ip_tables: per-netns FILTER/MANGLE/RAW tables for real\n\nCommit 9335f047fe61587ec82ff12fbb1220bcfdd32006 aka\n\"[NETFILTER]: ip_tables: per-netns FILTER, MANGLE, RAW\"\nadded per-netns _view_ of iptables rules. They were shown to user, but\nignored by filtering code. Now that it\u0027s possible to at least ping loopback,\nper-netns tables can affect filtering decisions.\n\nnetns is taken in case of\n\tPRE_ROUTING, LOCAL_IN -- from in device,\n\tPOST_ROUTING, LOCAL_OUT -- from out device,\n\tFORWARD -- from in device which should be equal to out device\u0027s netns.\n\t\t   This code is relatively new, so BUG_ON was plugged.\n\nWrappers were added to a) keep code the same from CONFIG_NET_NS\u003dn users\n(overwhelming majority), b) consolidate code in one place -- similar\nchanges will be done in ipv6 and arp netfilter code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "36e2a1b0f7f2598e38952494b91490f58aa221c8",
      "tree": "fb183ec56b7d137ff1aaa4eccd1be307e2d70eac",
      "parents": [
        "b916f7d4b7b4b427ad9a9486de3da41a16b24d67"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 20 15:15:45 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 14 09:56:01 2008 +0200"
      },
      "message": "[NETFILTER]: {ip,ip6}t_LOG: print MARK value in log output\n\nDump the mark value in log messages similar to nfnetlink_log. This\nis useful for debugging complex setups where marks are used for\nrouting or traffic classification.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "4dee959723e2bf3a0f9343a46841cd2f0029d424",
      "tree": "a7ae0cedd9dccee806b6a7ba6a7e017a271850ca",
      "parents": [
        "9625ed72e8bd619c3984f3024bd37143b7f0c7b0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Apr 14 00:44:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 00:44:52 2008 -0700"
      },
      "message": "[NETFILTER]: ipt_CLUSTERIP: fix race between clusterip_config_find_get and _entry_put\n\nConsider we are putting a clusterip_config entry with the \"entries\"\ncount \u003d\u003d 1, and on the other CPU there\u0027s a clusterip_config_find_get\nin progress:\n\nCPU1:\t\t\t\t\t\t\tCPU2:\nclusterip_config_entry_put:\t\t\t\tclusterip_config_find_get:\nif (atomic_dec_and_test(\u0026c-\u003eentries)) {\n\t/* true */\n\t\t\t\t\t\t\tread_lock_bh(\u0026clusterip_lock);\n\t\t\t\t\t\t\tc \u003d __clusterip_config_find(clusterip);\n\t\t\t\t\t\t\t/* found - it\u0027s still in list */\n\t\t\t\t\t\t\t...\n\t\t\t\t\t\t\tatomic_inc(\u0026c-\u003eentries);\n\t\t\t\t\t\t\tread_unlock_bh(\u0026clusterip_lock);\n\n\twrite_lock_bh(\u0026clusterip_lock);\n\tlist_del(\u0026c-\u003elist);\n\twrite_unlock_bh(\u0026clusterip_lock);\n\t...\n\tdev_put(c-\u003edev);\n\nOops! We have an entry returned by the clusterip_config_find_get,\nwhich is a) not in list b) has a stale dev pointer.\n\nThe problems will happen when the CPU2 will release the entry - it\nwill remove it from the list for the 2nd time, thus spoiling it, and\nwill put a stale dev pointer.\n\nThe fix is to make atomic_dec_and_test under the clusterip_lock.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "7de6c033367ab86f39c7723392caf73325cbf286",
      "tree": "e05d84e6e02b7a0245bfa62e02835882ffdffa48",
      "parents": [
        "bf299275882624b1908521ee8074df85160e9679"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Apr 14 00:05:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 00:05:09 2008 -0700"
      },
      "message": "[SKB]: __skb_append \u003d __skb_queue_after \n\nThis expresses __skb_append in terms of __skb_queue_after, exploiting that\n\n  __skb_append(old, new, list) \u003d __skb_queue_after(list, old, new).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f4472c5a640c9671ca5becaebdfd6e651482176",
      "tree": "e4efabf6e55c820968facc5c1c9fe5d469e5046b",
      "parents": [
        "68fcadd16c371d5e0698ba366f33a4f990ce83ce"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:13:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:13:53 2008 -0700"
      },
      "message": "[TCP]: Remove owner from tcp_seq_afinfo.\n\nMove it to tcp_seq_afinfo-\u003eseq_fops as should be.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68fcadd16c371d5e0698ba366f33a4f990ce83ce",
      "tree": "074c58f40e77dd03f464e5d68f7f00841fa68f96",
      "parents": [
        "52d6f3f11bdb8c26fead701c9dbad08acd28063d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:13:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:13:30 2008 -0700"
      },
      "message": "[TCP]: Place file operations directly into tcp_seq_afinfo.\n\nNo need to have separate never-used variable.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52d6f3f11bdb8c26fead701c9dbad08acd28063d",
      "tree": "a053cd0fa67fce68676ce174b2b50786cdf3470f",
      "parents": [
        "9427c4b36b8fe652df1d7c89eae678948e1f4b32"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:12:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:12:41 2008 -0700"
      },
      "message": "[TCP]: Cleanup /proc/tcp[6] creation/removal.\n\nReplace seq_open with seq_open_net and remove tcp_seq_release\ncompletely.  seq_release_net will do this job just fine.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9427c4b36b8fe652df1d7c89eae678948e1f4b32",
      "tree": "d2e018d9b09656e04e80ae3d3e88993e76753fbb",
      "parents": [
        "1abf4fb20d38cf58c92b27f4d6ad4fa92a3bb553"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:12:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:12:13 2008 -0700"
      },
      "message": "[TCP]: Move seq_ops from tcp_iter_state to tcp_seq_afinfo.\n\nNo need to create seq_operations for each instance of \u0027netstat\u0027.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1abf4fb20d38cf58c92b27f4d6ad4fa92a3bb553",
      "tree": "7898253a4f84e159b180ead27ebad56a962c1cb8",
      "parents": [
        "a4146b1b2c6ba995db08b1a2aef5af1b17b151e6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:11:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:11:46 2008 -0700"
      },
      "message": "[TCP]: No need to check afinfo !\u003d NULL in tcp_proc_(un)register.\n\ntcp_proc_register/tcp_proc_unregister are called with a static pointer only.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4146b1b2c6ba995db08b1a2aef5af1b17b151e6",
      "tree": "972901fbb5dcc41eddd403e811cd4fbbab3ab149",
      "parents": [
        "2cf83afe902fd72ef4b211774e48ab39890fb328"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:11:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:11:14 2008 -0700"
      },
      "message": "[TCP]: Replace struct net on tcp_iter_state with seq_net_private.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac6f78192054784f02dd47f8e6d7d1c8d75ab173",
      "tree": "3d211ce8031a9cdd478c45574e44350e59732a03",
      "parents": [
        "3654ea02f2819cf8821c0acd35bc7cded5f1f2a9"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Apr 13 21:50:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 21:50:08 2008 -0700"
      },
      "message": "[INET]: sk_reuse is valbool\n\nsk_reuse is declared as \"unsigned char\", but is set as type valbool in net/core/sock.c.\nThere is no other place in net/ where sk-\u003esk_reuse is set to a value \u003e 1, so the test \n\"sk_reuse \u003e 1\" can not be true.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14897e35fdc045fff9baabf0354570da22386706",
      "tree": "32cf1fcd7696e2018a05f2e4f8d5d20166af21ab",
      "parents": [
        "b0fac02370cffad956ff3de5e8ed4df7e7b875d7",
        "14dadf1d5eb5bea2dd115852cfee880505c1c169"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 13:24:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 13:24:16 2008 -0700"
      },
      "message": "Merge branch \u0027docs\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027docs\u0027 of git://git.lwn.net/linux-2.6:\n  Add additional examples in Documentation/spinlocks.txt\n  Move sched-rt-group.txt to scheduler/\n  Documentation: move rpc-cache.txt to filesystems/\n  Documentation: move nfsroot.txt to filesystems/\n  Spell out behavior of atomic_dec_and_lock() in kerneldoc\n  Fix a typo in highres.txt\n  Fixes to the seq_file document\n  Fill out information on patch tags in SubmittingPatches\n  Add the seq_file documentation\n"
    },
    {
      "commit": "6ded55da6be9f186ae1022724a5881b43846c164",
      "tree": "1d7adf36afefb163b9882e694aee1bfaad4732f6",
      "parents": [
        "dc07e721a26ec7e0adb66340f1763d220cfbbd0c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 15:59:03 2008 -0400"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Apr 11 13:18:01 2008 -0600"
      },
      "message": "Documentation: move nfsroot.txt to filesystems/\n\nDocumentation/ is a little large, and filesystems/ seems an obvious\nplace for this file.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "7951f0b03a63d657c72c7d54d306ef3357e7e604",
      "tree": "4c0faf167b81118be69b7c924024da58e5174518",
      "parents": [
        "951e07c930f5f66b676eaa4c32a1b0d8e2d7d06a"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Thu Apr 10 20:53:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 20:53:10 2008 -0700"
      },
      "message": "[NETNS][IPV6] tcp - assign the netns for timewait sockets\n\nCopy the network namespace from the socket to the timewait socket.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0b8c32b1c96afc9b32b717927330025cc1c501e",
      "tree": "34997f5e86aa375746ecbe4f2c8899b4fa774a5e",
      "parents": [
        "996b1dbadcbcafb899f022303e01d46ab87920eb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 04:00:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 04:00:28 2008 -0700"
      },
      "message": "IPV4: use xor rather than multiple ands for route compare\n\nThe comparison in ip_route_input is a hot path, by recoding the C\n\"and\" as bit operations, fewer conditional branches get generated\nso the code should be faster. Maybe someday Gcc will be smart\nenough to do this?\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "387a5487f5a1f8bfc3b2c5818e50dfd19eeb4f3f",
      "tree": "b8e6fdea41532619eecb1d1dd3f546194d855226",
      "parents": [
        "ef3660ce0649fa10265455f539b72607cff53d02"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 03:47:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 03:47:34 2008 -0700"
      },
      "message": "ipv4: fib_trie leaf free optimization\n\nAvoid unneeded test in the case where object to be freed\nhas to be a leaf. Don\u0027t need to use the generic tnode_free()\nfunction, instead just setup leaf to be freed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef3660ce0649fa10265455f539b72607cff53d02",
      "tree": "f4818fbfe6c0d375e7d230db1bbaef9b72a7d0e0",
      "parents": [
        "2e1e9848accba7e5f6a731bf0d0fc2c84f3ee748"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 03:46:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 03:46:12 2008 -0700"
      },
      "message": "ipv4: fib_trie remove unused argument\n\nThe trie pointer is passed down to flush_list and flush_leaf\nbut never used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4dfc2817025965a2fc78a18c50f540736a6b5c24",
      "tree": "f8f2f76e660d9d5c7a0f39ed8a79cb6d6d181206",
      "parents": [
        "15be75cdb5db442d0e33d37b20832b88f3ccd383"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Thu Apr 10 03:12:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 03:12:40 2008 -0700"
      },
      "message": "[Syncookies]: Add support for TCP options via timestamps.\n\nAllow the use of SACK and window scaling when syncookies are used\nand the client supports tcp timestamps. Options are encoded into\nthe timestamp sent in the syn-ack and restored from the timestamp\necho when the ack is received.\n\nBased on earlier work by Glenn Griffin.\nThis patch avoids increasing the size of structs by encoding TCP\noptions into the least significant bits of the timestamp and\nby not using any \u0027timestamp offset\u0027.\n\nThe downside is that the timestamp sent in the packet after the synack\nwill increase by several seconds.\n\nchanges since v1:\n don\u0027t duplicate timestamp echo decoding function, put it into ipv4/syncookie.c\n and have ipv6/syncookies.c use it.\n Feedback from Glenn Griffin: fix line indented with spaces, kill redundant if ()\n\nReviewed-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "15be75cdb5db442d0e33d37b20832b88f3ccd383",
      "tree": "83fc9261da859ecf3d6dcad29dadc78f481f7d7f",
      "parents": [
        "5c06f510a25153ff79e8c2dca312b732a367c5bb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 02:56:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 02:56:38 2008 -0700"
      },
      "message": "IPV4: fib_trie use vmalloc for large tnodes\n\nUse vmalloc rather than alloc_pages to avoid wasting memory.\nThe problem is that tnode structure has a power of 2 sized array,\nplus a header. So the current code wastes almost half the memory\nallocated because it always needs the next bigger size to hold\nthat small header.\n\nThis is similar to an earlier patch by Eric, but instead of a list\nand lock, I used a workqueue to handle the fact that vfree can\u0027t\nbe done in interrupt context.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fa7527ba1d38175d1e42f7cb72bae5de3d55cc7",
      "tree": "48de882ae62ab51871142e2d6477e5d94fc1908a",
      "parents": [
        "1294fc4a4868d7e83ff749597fbf4e9d5f4d1aa0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:55:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:55:27 2008 -0700"
      },
      "message": "IPV4: route rekey timer can be deferrable\n\nNo urgency on the rehash interval timer, so mark it as deferrable.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1294fc4a4868d7e83ff749597fbf4e9d5f4d1aa0",
      "tree": "164465f16a896a40c04ed8398498809bb7d1e918",
      "parents": [
        "5969f71d57928511b9cd8744aaf1ed9bc5e88ea2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:54:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:54:01 2008 -0700"
      },
      "message": "IPV4: route use jhash3\n\nSince route hash is a triple, use jhash_3words rather doing the mixing\ndirectly. This should be as fast and give better distribution.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5969f71d57928511b9cd8744aaf1ed9bc5e88ea2",
      "tree": "044508aedecc2fef77e6b3b3a2ddc932e881728e",
      "parents": [
        "43db6d65e0ef943a361cb91f8baa49132009227b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:52:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:52:09 2008 -0700"
      },
      "message": "IPV4: route inline changes\n\nDon\u0027t mark functions that are large as inline, let compiler decide.\nAlso, use inline rather than __inline__.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "951e07c930f5f66b676eaa4c32a1b0d8e2d7d06a",
      "tree": "dbbecc7be4c616d47586ef0ff6a552c110bcb8d5",
      "parents": [
        "619c714c1d6e4dff00ddde582d78492fd95452d6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:29:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:29:36 2008 -0700"
      },
      "message": "[IPV4]: Fix byte value boundary check in do_ip_getsockopt().\n\nThis fixes kernel bugzilla 10371.\n\nAs reported by M.Piechaczek@osmosys.tv, if we try to grab a\nchar sized socket option value, as in:\n\n  unsigned char ttl \u003d 255;\n  socklen_t     len \u003d sizeof(ttl);\n  setsockopt(socket, IPPROTO_IP, IP_MULTICAST_TTL, \u0026ttl, \u0026len);\n\n  getsockopt(socket, IPPROTO_IP, IP_MULTICAST_TTL, \u0026ttl, \u0026len);\n\nThe ttl returned will be wrong on big-endian, and on both little-\nendian and big-endian the next three bytes in userspace are written\nwith garbage.\n\nIt\u0027s because of this test in do_ip_getsockopt():\n\n\tif (len \u003c sizeof(int) \u0026\u0026 len \u003e 0 \u0026\u0026 val\u003e\u003d0 \u0026\u0026 val\u003c255) {\n\nIt should allow a \u0027val\u0027 of 255 to pass here, but it doesn\u0027t so it\ncopies a full \u0027int\u0027 back to userspace.\n\nOn little-endian that will write the correct value into the location\nbut it spams on the next three bytes in userspace.  On big endian it\nwrites the wrong value into the location and spams the next three\nbytes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "475959d4773e53a2700e523dd30acebbd47556a5",
      "tree": "67f1af04a4dd1f47f7002262b0230e5da3c97745",
      "parents": [
        "1b9b70ea2ebaab26c3e4fed385dfab6fc16359ed"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Wed Apr 09 15:14:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 09 15:14:58 2008 -0700"
      },
      "message": "[NETFILTER]: nf_nat: autoload IPv4 connection tracking\n\nWithout this patch, the generic L3 tracker would kick in\nif nf_conntrack_ipv4 was not loaded before nf_nat, which\nwould lead to translation problems with ICMP errors.\n\nNAT does not make sense without IPv4 connection tracking\nanyway, so just add a call to need_ipv4_conntrack().\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6adb4f733e9996b4fd68a6db50dd51bd2463ccac",
      "tree": "2ed50e47632902fe93f601d79fbb0ee8cb43c11c",
      "parents": [
        "882bebaaca4bb1484078d44ef011f918c0e1e14e"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 07 22:33:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 07 22:33:57 2008 -0700"
      },
      "message": "[TCP]: Don\u0027t allow FRTO to take place while MTU is being probed\n\nMTU probe can cause some remedies for FRTO because the normal\npacket ordering may be violated allowing FRTO to make a wrong\ndecision (it might not be that serious threat for anything\nthough). Thus it\u0027s safer to not run FRTO while MTU probe is\nunderway.\n\nIt seems that the basic FRTO variant should also look for an\nskb at probe_seq.start to check if that\u0027s retransmitted one\nbut I didn\u0027t implement it now (plain seqno in window check\nisn\u0027t robust against wraparounds).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "882bebaaca4bb1484078d44ef011f918c0e1e14e",
      "tree": "d6542dd9fc3d941ecc5f418b66ea09e91f47b71f",
      "parents": [
        "c137f3dda04b0aee1bc6889cdc69185f53df8a82"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 07 22:33:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 07 22:33:07 2008 -0700"
      },
      "message": "[TCP]: tcp_simple_retransmit can cause S+L\n\nThis fixes Bugzilla #10384\n\ntcp_simple_retransmit does L increment without any checking\nwhatsoever for overflowing S+L when Reno is in use.\n\nThe simplest scenario I can currently think of is rather\ncomplex in practice (there might be some more straightforward\ncases though). Ie., if mss is reduced during mtu probing, it\nmay end up marking everything lost and if some duplicate ACKs\narrived prior to that sacked_out will be non-zero as well,\nleading to S+L \u003e packets_out, tcp_clean_rtx_queue on the next\ncumulative ACK or tcp_fastretrans_alert on the next duplicate\nACK will fix the S counter.\n\nMore straightforward (but questionable) solution would be to\njust call tcp_reset_reno_sack() in tcp_simple_retransmit but\nit would negatively impact the probe\u0027s retransmission, ie.,\nthe retransmissions would not occur if some duplicate ACKs\nhad arrived.\n\nSo I had to add reno sacked_out reseting to CA_Loss state\nwhen the first cumulative ACK arrives (this stale sacked_out\nmight actually be the explanation for the reports of left_out\noverflows in kernel prior to 2.6.23 and S+L overflow reports\nof 2.6.24). However, this alone won\u0027t be enough to fix kernel\nbefore 2.6.24 because it is building on top of the commit\n1b6d427bb7e ([TCP]: Reduce sacked_out with reno when purging\nwrite_queue) to keep the sacked_out from overflowing.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nReported-by: Alessandro Suardi \u003calessandro.suardi@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c137f3dda04b0aee1bc6889cdc69185f53df8a82",
      "tree": "75031e829df932aae697b92ee1ef490bdf71c762",
      "parents": [
        "1b69d745397eac12b3f8a2eb6b799cd476aef282"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 07 22:32:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 07 22:32:38 2008 -0700"
      },
      "message": "[TCP]: Fix NewReno\u0027s fast rexmit/recovery problems with GSOed skb\n\nFixes a long-standing bug which makes NewReno recovery crippled.\nWith GSO the whole head skb was marked as LOST which is in\nviolation of NewReno procedure that only wants to mark one packet\nand ended up breaking our TCP code by causing counter overflow\nbecause our code was built on top of assumption about valid\nNewReno procedure. This manifested as triggering a WARN_ON for\nthe overflow in a number of places.\n\nIt seems relatively safe alternative to just do nothing if\ntcp_fragment fails due to oom because another duplicate ACK is\nlikely to be received soon and the fragmentation will be retried.\n\nSpecial thanks goes to Soeren Sonnenburg \u003ckernel@nn7.de\u003e who was\nlucky enough to be able to reproduce this so that the warning\nfor the overflow was hit. It\u0027s not as easy task as it seems even\nif this bug happens quite often because the amount of outstanding\ndata is pretty significant for the mismarkings to lead to an\noverflow.\n\nBecause it\u0027s very late in 2.6.25-rc cycle (if this even makes in\ntime), I didn\u0027t want to touch anything with SACK enabled here.\nFragmenting might be useful for it as well but it\u0027s more or less\na policy decision rather than mandatory fix. Thus there\u0027s no need\nto rush and we can postpone considering tcp_fragment with SACK\nfor 2.6.26.\n\nIn 2.6.24 and earlier, this very same bug existed but the effect\nis slightly different because of a small changes in the if\nconditions that fit to the patch\u0027s context. With them nothing\ngot lost marker and thus no retransmissions happened.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b69d745397eac12b3f8a2eb6b799cd476aef282",
      "tree": "5cf3ab06c6c6ebf1adc55d4a3aae17f6fd110521",
      "parents": [
        "bfe87dbc7b4da5b05a1a78480e996787a500cc6f"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 07 22:31:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 07 22:31:38 2008 -0700"
      },
      "message": "[TCP]: Restore 2.6.24 mark_head_lost behavior for newreno/fack\n\nThe fast retransmission can be forced locally to the rfc3517\nbranch in tcp_update_scoreboard instead of making such fragile\nconstructs deeper in tcp_mark_head_lost.\n\nThis is necessary for the next patch which must not have\nloopholes for cnt \u003e packets check. As one can notice,\nreadability got some improvements too because of this :-).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7feb49c82a74bc7c091b8ab2a3f96baa33d08ece",
      "tree": "97fbb5be3c7bb3eda641aa3e5ec38d9e5f5385ef",
      "parents": [
        "046ee902357adc046d041441956ec7eeb30c77c4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:32:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:32:00 2008 -0700"
      },
      "message": "[NETNS]: Use TCP control socket from a correct namespace.\n\nSigned-off-by: Denis V.Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "046ee902357adc046d041441956ec7eeb30c77c4",
      "tree": "7e230cfad9809751d4164f0946ea4e8b5d484c39",
      "parents": [
        "1ed8516f09e510e4595bc900ad9266c15aacfdd2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:31:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:31:33 2008 -0700"
      },
      "message": "[NETNS]: Create tcp control socket in the each namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5616bdd6dfeb4e36be499dbac245e4d3be90a138",
      "tree": "e027cdc9813a8cdf90398fa173f8f3fc08324a75",
      "parents": [
        "c1e9894d486dc249331f4f04859c26147a778154"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:30:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:30:12 2008 -0700"
      },
      "message": "[INET]: uc_ttl assignment in inet_ctl_sock_create is redundant.\n\nuc_ttl is initialized in inet(6)_create and never changed except\nsetsockopt ioctl. Remove this assignment.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1e9894d486dc249331f4f04859c26147a778154",
      "tree": "5e376745609144b381f9c2088b4395f709a8855d",
      "parents": [
        "5677242f432102dea9e6eceec1dc089e2f709ca4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:29:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:29:00 2008 -0700"
      },
      "message": "[ICMP]: Simplify ICMP control socket creation.\n\nReplace sock_create_kern with inet_ctl_sock_create.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5677242f432102dea9e6eceec1dc089e2f709ca4",
      "tree": "73036437b91f2e8cd5427be48a588bff3af587eb",
      "parents": [
        "eee4fe4ded6e9c196168aee8f9787771f4df9c90"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:28:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:28:30 2008 -0700"
      },
      "message": "[NETNS]: Inet control socket should not hold a namespace.\n\nThis is a generic requirement, so make inet_ctl_sock_create namespace\naware and create a inet_ctl_sock_destroy wrapper around\nsk_release_kernel.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eee4fe4ded6e9c196168aee8f9787771f4df9c90",
      "tree": "271a5837eef0a7f25bf7c8e1e36f413271dd70c7",
      "parents": [
        "8258175c811440e93baa15ab1962a5905686dda3"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:27:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:27:58 2008 -0700"
      },
      "message": "[INET]: Let inet_ctl_sock_create return sock rather than socket.\n\nAll upper protocol layers are already use sock internally.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d58b5fa8e4c461ab09afdacd3d1754fccca06ad",
      "tree": "b5793c1cc2f0d41657c5e5d101cc00e07c515a60",
      "parents": [
        "4f049b4f33d07bd11335c3a074ebef14213a3e37"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:22:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:22:32 2008 -0700"
      },
      "message": "[INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create.\n\nThis call is nothing common with INET connection sockets code. It\nsimply creates an unhashes kernel sockets for protocol messages.\n\nMove the new call into af_inet.c after the rename.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c0c8e8e0fb85e7a57e88606c009377746b39d9",
      "tree": "1ec620ca94f56974f03107ac95673b4df889f5a5",
      "parents": [
        "a4aa834a9165150252c5cd953faab4de29d51b87"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:19:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:19:38 2008 -0700"
      },
      "message": "[TCP]: Replace socket with sock for reset sending.\n\nReplace tcp_socket with tcp_sock. This is more effective (less\nderefferences on fast paths). Additionally, the approach is unified to\none used in ICMP.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af2681828af5f2b42e12e8b16ba0cf113cf486c8",
      "tree": "ed25908930ea98782ec7a13fd985c9825317a8b2",
      "parents": [
        "9597362d354f8655ece324b01d0c640a0e99c077"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Apr 03 12:52:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 12:52:19 2008 -0700"
      },
      "message": "[ICMP]: Ensure that ICMP relookup maintains status quo\n\nThe ICMP relookup path is only meant to modify behaviour when\nappropriate IPsec policies are in place and marked as requiring\nrelookups.  It is certainly not meant to modify behaviour when\nIPsec policies don\u0027t exist at all.\n\nHowever, due to an oversight on the error paths existing behaviour\nmay in fact change should one of the relookup steps fail.\n\nThis patch corrects this by redirecting all errors on relookup\nfailures to the previous code path.  That is, if the initial\nxfrm_lookup let the packet pass, we will stand by that decision\nshould the relookup fail due to an error.\n\nThis should be safe from a security point-of-view because compliant\nsystems must install a default deny policy so the packet would\u0027nt\nhave passed in that case.\n\nMany thanks to Julian Anastasov for pointing out this error.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a",
      "tree": "4e1ca325dde22f1ac21c9da0be509e87e922e604",
      "parents": [
        "c0f39322c335412339dec16ebfd2a05ceba5ebcf",
        "802fb176d8c635ae42da31b80841c26e8c7338a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/s2io.c\n"
    }
  ],
  "next": "fd4e7b50455330403ed5b1060055f9d411ecdc57"
}
