)]}'
{
  "log": [
    {
      "commit": "2bad35b7c9588eb5e65c03bcae54e7eb6b1a6504",
      "tree": "1a0dff781b3d756470845b58cade9c9b074fadb4",
      "parents": [
        "e4a389a9b5c892446b5de2038bdc0cca8703c615"
      ],
      "author": {
        "name": "Jorge Boncompte [DTI2]",
        "email": "jorge@dti2.net",
        "time": "Wed Mar 18 23:26:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:26:11 2009 -0700"
      },
      "message": "netns: oops in ip[6]_frag_reasm incrementing stats\n\ndev can be NULL in ip[6]_frag_reasm for skb\u0027s coming from RAW sockets.\n\nQuagga\u0027s OSPFD sends fragmented packets on a RAW socket, when netfilter\nconntrack reassembles them on the OUTPUT path you hit this code path.\n\nYou can test it with something like \"hping2 -0 -d 2000 -f AA.BB.CC.DD\"\n\nWith help from Jarek Poplawski.\n\nSigned-off-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d9f239a1edb31d6133230f478fd1dc2da338ec5",
      "tree": "305fa0da95a49db4e342f3f3042f8be0968b03ce",
      "parents": [
        "6cf3f41e6c08bca6641a695449791c38a25f35ff"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 03 18:21:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 18:21:05 2008 -0800"
      },
      "message": "net: \u0027\u0026\u0027 redux\n\nI want to compile out proc_* and sysctl_* handlers totally and\nstub them to NULL depending on config options, however usage of \u0026\nwill prevent this, since taking adress of NULL pointer will break\ncompilation.\n\nSo, drop \u0026 in front of every -\u003eproc_handler and every -\u003estrategy\nhandler, it was never needed in fact.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "821d57776d4dda47ef5f0c33fdb3c761214b2f9f",
      "tree": "62d32df18aec4fa6915d0c72b60b1cec86771f56",
      "parents": [
        "483a47d2fe794328d29950fe00ce26dd405d9437"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 08 10:32:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 11:13:31 2008 -0700"
      },
      "message": "ipv6: added net argument to IP6_ADD_STATS_BH\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "483a47d2fe794328d29950fe00ce26dd405d9437",
      "tree": "44a6daeb0ca377a733a1c8fcca44663ae8fd7811",
      "parents": [
        "3bd653c8455bc7991bae77968702b31c8f5df883"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 08 11:09:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 11:09:27 2008 -0700"
      },
      "message": "ipv6: added net argument to IP6_INC_STATS_BH\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3bd653c8455bc7991bae77968702b31c8f5df883",
      "tree": "f21c557e4b002ddf265ed111edd2c0bb97b01e38",
      "parents": [
        "98b3377ca77a06a7bd75a444e9f7136e9bb5112e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 08 10:54:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 10:54:51 2008 -0700"
      },
      "message": "netns: add net parameter to IP6_INC_STATS\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98b3377ca77a06a7bd75a444e9f7136e9bb5112e",
      "tree": "505224cfdd8791099c75b346df39e3a19e35a1a3",
      "parents": [
        "0b0588d42b2774734b51525fe6550d77f8ea9bc0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 08 10:31:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 10:53:30 2008 -0700"
      },
      "message": "ipv6: consolidate error paths in ipv6_frag_rcv\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93c8b90f01f0dc73891da4e84b26524b61d29d66",
      "tree": "ec7fa47679cccf47716039f2c3898742a0881090",
      "parents": [
        "2bcb4b0f111053d0e8fb4366f0708395d997e93a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Oct 01 02:48:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 02:48:31 2008 -0700"
      },
      "message": "ipv6: almost identical frag hashing funcs combined\n\n$ diff-funcs ip6qhashfn reassembly.c netfilter/nf_conntrack_reasm.c\n --- reassembly.c:ip6qhashfn()\n +++ netfilter/nf_conntrack_reasm.c:ip6qhashfn()\n@@ -1,5 +1,5 @@\n-static unsigned int ip6qhashfn(__be32 id, struct in6_addr *saddr,\n-\t\t\t       struct in6_addr *daddr)\n+static unsigned int ip6qhashfn(__be32 id, const struct in6_addr *saddr,\n+\t\t\t       const struct in6_addr *daddr)\n {\n \tu32 a, b, c;\n\n@@ -9,7 +9,7 @@\n\n \ta +\u003d JHASH_GOLDEN_RATIO;\n \tb +\u003d JHASH_GOLDEN_RATIO;\n-\tc +\u003d ip6_frags.rnd;\n+\tc +\u003d nf_frags.rnd;\n \t__jhash_mix(a, b, c);\n\n \ta +\u003d (__force u32)saddr-\u003es6_addr32[3];\n\nAnd codiff xx.o.old xx.o.new:\n\nnet/ipv6/netfilter/nf_conntrack_reasm.c:\n  ip6qhashfn         | -512\n  nf_hashfn          |   +6\n  nf_ct_frag6_gather |  +36\n 3 functions changed, 42 bytes added, 512 bytes removed, diff: -470\nnet/ipv6/reassembly.c:\n  ip6qhashfn    | -512\n  ip6_hashfn    |   +7\n  ipv6_frag_rcv |  +89\n 3 functions changed, 96 bytes added, 512 bytes removed, diff: -416\n\nnet/ipv6/reassembly.c:\n  inet6_hash_frag | +510\n 1 function changed, 510 bytes added, diff: +510\n\nTotal: -376\n\nCompile tested.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b63ba8a86c85524a8d7e5953b314ce71ebcb9c9",
      "tree": "fe3dc41cbb47ae12b7c3faf6a88b097349e50d5a",
      "parents": [
        "e35c3269edba151e1c703d87068a28ce2cd65bb0",
        "d420895efb259a78dda50f95289571faa6e10e41"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 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/wireless/iwlwifi/iwl4965-base.c\n"
    },
    {
      "commit": "9a375803feaadb6c34e0807bd9325885dcca5c00",
      "tree": "fba3b0835d1fb3211da1c1be9dd6d4508e6668a6",
      "parents": [
        "a0a61a604c60c14accc3962ecfeee9acc7a3c08a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jun 27 20:06:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 27 20:06:08 2008 -0700"
      },
      "message": "inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild\n\nThe problem is that while we work w/o the inet_frags.lock even\nread-locked the secret rebuild timer may occur (on another CPU, since\nBHs are still disabled in the inet_frag_find) and change the rnd seed\nfor ipv4/6 fragments.\n\nIt was caused by my patch fd9e63544cac30a34c951f0ec958038f0529e244\n([INET]: Omit double hash calculations in xxx_frag_intern) late \nin the 2.6.24 kernel, so this should probably be queued to -stable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d291ebb834278e30c211b26fb7076adcb636ad9",
      "tree": "a6f7c95feff3a4f40603bf79b5cce85dc1c96e9f",
      "parents": [
        "0002c630c4ee7a3c6b1d87e34bfd6ce9694b49be"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon May 19 13:53:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 19 13:53:02 2008 -0700"
      },
      "message": "inet: Register fragmentation some ctls at read-only root.\n\nParts of fragments-related sysctls are read-only, but this is\ndone by cloning all the tables and dropping write-bits from\nmode. Do the same but with read-only root.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0002c630c4ee7a3c6b1d87e34bfd6ce9694b49be",
      "tree": "d1bab773016b2bf6a2905e45b4e75ee855144318",
      "parents": [
        "0a64b4b811025ce0386ad84d81504e4ff7985856"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon May 19 13:52:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 19 13:52:28 2008 -0700"
      },
      "message": "ipv6: In fragmentation code, handle error returned from register_pernet_subsys.\n\nThe error code is ignored now, but ipv6 is a module and one can\nbe loaded under memory pressure, so the error may occur (in theory).\n\nBesides, I\u0027m going to handle error returned from registering a\nread-only part of the table, so ignoring this one, while handing\nthe other one would look strange.\n\n(However, this possibility of error is rather small, so I\u0027m not \n sure whether this is a candidate for current net tree).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a64b4b811025ce0386ad84d81504e4ff7985856",
      "tree": "5dd25612ce7b3c1933c823237c34b09a6ba02e9e",
      "parents": [
        "d5a4502e9efa534212484fd691339f6469cf95ff"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon May 19 13:51:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 19 13:51:29 2008 -0700"
      },
      "message": "inet: Rename fragmentation sysctl-related functions/variables.\n\nThe fragments sysctls also contains some, that are to be\nvisible, but read-only in net namespaces.\n\nThe naming in net/core/sysctl_net_core.c is - tables, that are\nto be registered in namespaces have a \"ns\" word in their names.\nSo rename ones in ipv4/ip_fragment.c and ipv6/reassembly.c to\nfit this.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ac2ccd01646e08d7176185c94e5b19404a25998",
      "tree": "79383a61dce3bd1c29bc6a27b9d17633dca72ac0",
      "parents": [
        "aaf8cdc34ddba08122f02217d9d684e2f9f5d575"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri May 02 17:02:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 17:02:03 2008 -0700"
      },
      "message": "netns: Fix reassembly timer to use the right namespace\n\nThis trivial fix retrieves the network namespace from frag queue\nand use it to get the network device in the right namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc578a54f0fd489d0722303f9a52508495ccaf9a",
      "tree": "6d0820f88aec63d764bef404b326ef65042d29aa",
      "parents": [
        "be2ce06b4962658d807410e58f7c6b739dc6a0c3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 28 16:35:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:35:27 2008 -0700"
      },
      "message": "[NET]: Rename inet_frag.h identifiers COMPLETE, FIRST_IN, LAST_IN to INET_FRAG_*\n\nOn Fri, 2008-03-28 at 03:24 -0700, Andrew Morton wrote:\n\u003e they should all be renamed.\n\nDone for include/net and net\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "81566e8322c3f6c6f9a2277fe0e440fee8d917bd",
      "tree": "2c7456cf77548436e97ae8fef5c1f91127e8fd92",
      "parents": [
        "3140c25c82106645a6b1fc469dab7006a1d09fd0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:12:39 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:40 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Make the pernet subsystem for fragments.\n\nOn namespace start we mainly prepare the ctl variables.\n\nWhen the namespace is stopped we have to kill all the fragments that\npoint to this namespace.  The inet_frags_exit_net() handles it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3140c25c82106645a6b1fc469dab7006a1d09fd0",
      "tree": "cbf97e7138610c1f1f0ad4528d59b4bbd14039c7",
      "parents": [
        "3b4bc4a2bfe80d01ebd4f2b6dcc58986c970ed16"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:11:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:39 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Make the LRU list per namespace.\n\nThe inet_frags.lru_list is used for evicting only, so we have\nto make it per-namespace, to evict only those fragments, who\u0027s\nnamespace exceeded its high threshold, but not the whole hash.\nBesides, this helps to avoid long loops  in evictor.\n\nThe spinlock is not per-namespace because it protects the\nhash table as well, which is global.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b4bc4a2bfe80d01ebd4f2b6dcc58986c970ed16",
      "tree": "d9dea3af7fb8fc828af0ba484c1fc06007dce351",
      "parents": [
        "e31e0bdc7e7fb9a4b09d2f3266c035a18fdcee9d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:11:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:39 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Isolate the secret interval from namespaces.\n\nSince we have one hashtable to lookup the fragment, having\ndifferent secret_interval-s for hash rebuild doesn\u0027t make\nsense, so move this one to inet_frags.\n\nThe inet_frags_ctl becomes empty after this, so remove it.\nThe appropriate ctl table is kept read-only in namespaces.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e31e0bdc7e7fb9a4b09d2f3266c035a18fdcee9d",
      "tree": "30e25f733781cf80aa9fef0d58ff3476424cb9b3",
      "parents": [
        "b2fd5321dd160ef309dfb6cfc78ed8de4a830659"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:10:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:38 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Make thresholds work in namespaces.\n\nThis is the same as with the timeout variable.\n\nCurrently, after exceeding the high threshold _all_\nthe fragments are evicted, but it will be fixed in\nlater patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2fd5321dd160ef309dfb6cfc78ed8de4a830659",
      "tree": "48d56923c239a2f5174e82528ee2632e159d33a7",
      "parents": [
        "e4a2d5c2bccd5bd29de5ae4f14ff4448fac9cfc8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:09:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:37 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Make the net.ipv4.ipfrag_timeout work in namespaces.\n\nMove it to the netns_frags, adjust the usage and\nmake the appropriate ctl table writable.\n\nNow fragment, that live in different namespaces can\nlive for different times.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4a2d5c2bccd5bd29de5ae4f14ff4448fac9cfc8",
      "tree": "e6ae6835ec20401b1a59de0c8c0f8519fba3a4b4",
      "parents": [
        "6ddc082223ef0f73717b4133fa7e648842bbfd02"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:08:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:37 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Duplicate sysctl tables for new namespaces.\n\nEach namespace has to have own tables to tune their\ndifferent parameters, so duplicate the tables and\nregister them.\n\nAll the tables in sub-namespaces are temporarily made\nread-only.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ddc082223ef0f73717b4133fa7e648842bbfd02",
      "tree": "62315ac04e396bc6e68543502fb6aeec50be6662",
      "parents": [
        "e5a2bb842cd9681d00d4ca963e63e4d3647e66f8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:07:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:36 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Make the mem counter per-namespace.\n\nThis is also simple, but introduces more changes, since\nthen mem counter is altered in more places.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5a2bb842cd9681d00d4ca963e63e4d3647e66f8",
      "tree": "b47692f3312039cb944f68f6fbeb0d10442f8056",
      "parents": [
        "ac18e7509e7df327e30d6e073a787d922eaf211d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:06:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:35 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Make the nqueues counter per-namespace.\n\nThis is simple - just move the variable from struct inet_frags\nto struct netns_frags and adjust the usage appropriately.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac18e7509e7df327e30d6e073a787d922eaf211d",
      "tree": "26be1582b59956c389a667d5426fdc538072795b",
      "parents": [
        "8d8354d2fb9277f165715a6e1cb92bcc89259975"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 06:02:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:34 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Make the inet_frag_queue lookup work in namespaces.\n\nSince fragment management code is consolidated, we cannot have the\npointer from inet_frag_queue to struct net, since we must know what\nking of fragment this is.\n\nSo, I introduce the netns_frags structure. This one is currently\nempty, but will be eventually filled with per-namespace\nattributes. Each inet_frag_queue is tagged with this one.\n\nThe conntrack_reasm is not \"netns-izated\", so it has one static\nnetns_frags instance to keep working in init namespace.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d8354d2fb9277f165715a6e1cb92bcc89259975",
      "tree": "465fd866b6f5b4ab9c05a5441697c07502d0f0ed",
      "parents": [
        "9d5c824399dea881779d78a6c147288bf2dccb6b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Jan 22 05:58:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:34 2008 -0800"
      },
      "message": "[NETNS][FRAGS]: Move ctl tables around.\n\nThis is a preparation for sysctl netns-ization.\nMove the ctl tables to the files, where the tuning\nvariables reside. Plus make the helpers to register\nthe tables.\n\nThis will simplify the later patches and will keep\nsimilar things closer to each other.\n\nipv4, ipv6 and conntrack_reasm are patched differently,\nbut the result is all the tables are in appropriate files.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d460db953d6d205e4c8ecc2017aea1ec22b6c9a",
      "tree": "583358d5d9d936c06fa346929a5851a28c0be444",
      "parents": [
        "ee63d22b8953fd0dde22f52c0bc17a304ae50403"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Jan 18 23:52:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:04 2008 -0800"
      },
      "message": "[IPV6]: Fix ip6_frag ctl\n\nAlexey Dobriyan reported an oops when unsharing the network\nindefinitely inside a loop. This is because the ip6_frag is not per\nnamespace while the ctls are.\n\nThat happens at the fragment timer expiration:\ninet_frag_secret_rebuild function is called and this one restarts the\ntimer using the value stored inside the sysctl field.\n\n        \"mod_timer(\u0026f-\u003esecret_timer, now + f-\u003ectl-\u003esecret_interval);\"\n\nWhen the network is unshared, ip6_frag.ctl is initialized with the new\nsysctl instances, but ip6_frag has only one instance. A race in this\ncase will appear because f-\u003ectl can be modified during the read access\nin the timer callback.\n\nUntil the ip6_frag is not per namespace, I discard the assignation to\nthe ctl field of ip6_frags in ip6_frag_sysctl_init when the network\nnamespace is not the init net.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e71e0349eb32bc438fa80d8990c6f3592967d111",
      "tree": "1fc9565c1b8c36e5fe9ecfde20bd989f6475324f",
      "parents": [
        "99bc9c4e45e7e783cf0b0a25cc03a103c038f254"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Thu Jan 10 02:56:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:18 2008 -0800"
      },
      "message": "[NETNS][IPV6]: Make ip6_frags per namespace.\n\nThe ip6_frags is moved to the network namespace structure.  Because\nthere can be multiple instances of the network namespaces, and the\nip6_frags is no longer a global static variable, a helper function has\nbeen added to facilitate the initialization of the variables.\n\nUntil the ipv6 protocol is not per namespace, the variables are\naccessed relatively from the initial network namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "853cbbaaa4ccdf221be5ab6afe967aa9998546b7",
      "tree": "6b6ff0b340fcff4054c919092fbbadce82dff36c",
      "parents": [
        "248b238dc960a42aa235057ba0a51a98ae2b0f0d"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Dec 11 02:24:29 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:11 2008 -0800"
      },
      "message": "[IPV6]: make frag to return an error at initialization\n\nThis patch makes the frag_init to return an error code, so the af_inet6\nmodule can handle the error.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c95477090a2ace6d241c184adc3fbfcab9c61ceb",
      "tree": "78c43a301f18f4ad4486a48227a9ca45239208f3",
      "parents": [
        "48d60056387c37a17a46feda48613587a90535e5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:48:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:48:26 2007 -0700"
      },
      "message": "[INET]: Consolidate frag queues freeing\n\nSince we now allocate the queues in inet_fragment.c, we\ncan safely free it in the same place. The -\u003edestructor\ncallback thus becomes optional for inet_frags.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48d60056387c37a17a46feda48613587a90535e5",
      "tree": "8e7e481c6cf8b28c124c1e5902092d2bd53dbf7b",
      "parents": [
        "abd6523d15f40bfee14652619a31a7f65f77f581"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:47:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:47:56 2007 -0700"
      },
      "message": "[INET]: Remove no longer needed -\u003eequal callback\n\nSince this callback is used to check for conflicts in\nhashtable when inserting a newly created frag queue, we can\ndo the same by checking for matching the queue with the \nargument, used to create one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abd6523d15f40bfee14652619a31a7f65f77f581",
      "tree": "ad5692b3c115c4859b99a5e87db8d4b2d991e5a8",
      "parents": [
        "c6fda282294da882f8d8cc4c513940277dd380f5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:47:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:47:21 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_find() in fragment management\n\nHere we need another callback -\u003ematch to check whether the\nentry found in hash matches the key passed. The key used \nis the same as the creation argument for inet_frag_create.\n\nYet again, this -\u003ematch is the same for netfilter and ipv6.\nRunning a frew steps forward - this callback will later\nreplace the -\u003eequal one.\n\nSince the inet_frag_find() uses the already consolidated\ninet_frag_create() remove the xxx_frag_create from protocol\ncodes.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6fda282294da882f8d8cc4c513940277dd380f5",
      "tree": "29ef5fbc59320851c8db28e7f2c0a8c3fd85c231",
      "parents": [
        "e521db9d790aaa60ae8920e21cb7faedc280fc36"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:46:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:46:47 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_frag_create()\n\nThis one uses the xxx_frag_intern() and xxx_frag_alloc()\nroutines, which are already consolidated, so remove them\nfrom protocol code (as promised).\n\nThe -\u003econstructor callback is used to init the rest of\nthe frag queue and it is the same for netfilter and ipv6.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e521db9d790aaa60ae8920e21cb7faedc280fc36",
      "tree": "c58a138e9729eb61edaf697b9e259001fb92feb2",
      "parents": [
        "2588fe1d782f1686847493ad643157d5d10bf602"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:45:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:45:23 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_frag_alloc()\n\nJust perform the kzalloc() allocation and setup common\nfields in the inet_frag_queue(). Then return the result\nto the caller to initialize the rest.\n\nThe inet_frag_alloc() may return NULL, so check the \nreturn value before doing the container_of(). This looks \nugly, but the xxx_frag_alloc() will be removed soon.\n\nThe xxx_expire() timer callbacks are patches, \nbecause the argument is now the inet_frag_queue, not \nthe protocol specific queue.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2588fe1d782f1686847493ad643157d5d10bf602",
      "tree": "7513851819330d4ff6aadc9f76b1b45bc03f8f82",
      "parents": [
        "fd9e63544cac30a34c951f0ec958038f0529e244"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:44:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:44:34 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_frag_intern\n\nThis routine checks for the existence of a given entry\nin the hash table and inserts the new one if needed.\n\nThe -\u003eequal callback is used to compare two frag_queue-s\ntogether, but this one is temporary and will be removed\nlater. The netfilter code and the ipv6 one use the same\nroutine to compare frags.\n\nThe inet_frag_intern() always returns non-NULL pointer,\nso convert the inet_frag_queue into protocol specific\none (with the container_of) without any checks.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd9e63544cac30a34c951f0ec958038f0529e244",
      "tree": "ab50911ec813780ee1e472089f4b02a3be6a69e6",
      "parents": [
        "be07664599fa94d0b85c3e0f525aee2432d15fbf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:43:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:43:37 2007 -0700"
      },
      "message": "[INET]: Omit double hash calculations in xxx_frag_intern\n\nSince the hash value is already calculated in xxx_find, we can \nsimply use it later. This is already done in netfilter code, \nso make the same in ipv4 and ipv6.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5bbef20e017efcb10700398cc048c49b98628e0",
      "tree": "5139dfbfb416eaeb43cc75645e486fe6a103e39b",
      "parents": [
        "a224be766bf593f7bcd534ca0c48dbd3eaf7bfce"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 12:50:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 15 12:50:28 2007 -0700"
      },
      "message": "[IPV6]: Replace sk_buff ** with sk_buff * in input handlers\n\nWith all the users of the double pointers removed from the IPv6 input path,\nthis patch converts all occurances of sk_buff ** to sk_buff * in IPv6 input\nhandlers.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "762cc40801ad757a34527d5e548816cf3b6fc606",
      "tree": "84bb263c67167db95120e44591f9ab8d11293f3f",
      "parents": [
        "4b6cb5d8e3f5707d7a2e55cf7b05f1ea8bfc7a6d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:41:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:43 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_put\n\nThese ones use the generic data types too, so move\nthem in one place.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b6cb5d8e3f5707d7a2e55cf7b05f1ea8bfc7a6d",
      "tree": "9db94b2ba84ed823305cd45c52f652760ea7809a",
      "parents": [
        "8e7999c44ee95e1e90ac91c83557a04e2948f160"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:41:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:43 2007 -0700"
      },
      "message": "[INET]: Small cleanup for xxx_put after evictor consolidation\n\nAfter the evictor code is consolidated there is no need in\npassing the extra pointer to the xxx_put() functions.\n\nThe only place when it made sense was the evictor code itself.\n\nMaybe this change must got with the previous (or with the\nnext) patch, but I try to make them shorter as much as\npossible to simplify the review (but they are still large\nanyway), so this change goes in a separate patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e7999c44ee95e1e90ac91c83557a04e2948f160",
      "tree": "4295add7b91114fd43eef37d70b664858776dd0d",
      "parents": [
        "1e4b82873af0f21002e37a81ef063d2e5410deb3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:40:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:42 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_evictor\n\nThe evictors collect some statistics for ipv4 and ipv6,\nso make it return the number of evicted queues and account\nthem all at once in the caller.\n\nThe XXX_ADD_STATS_BH() macros are just for this case,\nbut maybe there are places in code, that can make use of\nthem as well.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e4b82873af0f21002e37a81ef063d2e5410deb3",
      "tree": "9c4054c8393f03bae9565f98a109cc5721cf490f",
      "parents": [
        "321a3a99e4717b960e21c62fc6a140d21453df7f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:39:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:42 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_frag_destroy\n\nTo make in possible we need to know the exact frag queue\nsize for inet_frags-\u003emem management and two callbacks:\n\n * to destoy the skb (optional, used in conntracks only)\n * to free the queue itself (mandatory, but later I plan to\n   move the allocation and the destruction of frag_queues\n   into the common place, so this callback will most likely\n   be optional too).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "321a3a99e4717b960e21c62fc6a140d21453df7f",
      "tree": "118ae0f39bd2344b731670d601abf0bcbbf8faa7",
      "parents": [
        "277e650ddfc6944ef5f5466fd898b8da7f06cd82"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:38:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:41 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_the secret_rebuild\n\nThis code works with the generic data types as well, so\nmove this into inet_fragment.c\n\nThis move makes it possible to hide the secret_timer\nmanagement and the secret_rebuild routine completely in\nthe inet_fragment.c\n\nIntroduce the -\u003ehashfn() callback in inet_frags() to get\nthe hashfun for a given inet_frag_queue() object.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "277e650ddfc6944ef5f5466fd898b8da7f06cd82",
      "tree": "39afdd22384c402e08287a3911455a2bbce721b1",
      "parents": [
        "04128f233f2b344f3438cde09723e9946463a573"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:37:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:41 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_frag_kill\n\nSince now all the xxx_frag_kill functions now work\nwith the generic inet_frag_queue data type, this can\nbe moved into a common place.\n\nThe xxx_unlink() code is moved as well.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04128f233f2b344f3438cde09723e9946463a573",
      "tree": "04f4518ef51c74de4d318d7ea908b3215a6aa9c8",
      "parents": [
        "7eb95156d9dce2f59794264db336ce007d71638b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:33:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:40 2007 -0700"
      },
      "message": "[INET]: Collect common frag sysctl variables together\n\nSome sysctl variables are used to tune the frag queues\nmanagement and it will be useful to work with them in\na common way in the future, so move them into one\nstructure, moreover they are the same for all the frag\nmanagement codes.\n\nI don\u0027t place them in the existing inet_frags object,\nintroduced in the previous patch for two reasons:\n\n 1. to keep them in the __read_mostly section;\n 2. not to export the whole inet_frags objects outside.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7eb95156d9dce2f59794264db336ce007d71638b",
      "tree": "c283a095f1a9d530edb1a7058454ba30b4f7d028",
      "parents": [
        "5ab11c98d3a950faf6922b6166e5f8fc874590e7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:31:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:39 2007 -0700"
      },
      "message": "[INET]: Collect frag queues management objects together\n\nThere are some objects that are common in all the places\nwhich are used to keep track of frag queues, they are:\n\n * hash table\n * LRU list\n * rw lock\n * rnd number for hash function\n * the number of queues\n * the amount of memory occupied by queues\n * secret timer\n\nMove all this stuff into one structure (struct inet_frags)\nto make it possible use them uniformly in the future. Like\nwith the previous patch this mostly consists of hunks like\n\n-    write_lock(\u0026ipfrag_lock);\n+    write_lock(\u0026ip4_frags.lock);\n\nTo address the issue with exporting the number of queues and\nthe amount of memory occupied by queues outside the .c file\nthey are declared in, I introduce a couple of helpers.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ab11c98d3a950faf6922b6166e5f8fc874590e7",
      "tree": "ef9ab897361f106309df37b6d4f2e95fdecdb240",
      "parents": [
        "114342f2d38439cb1a54f1f724fa38729b093c48"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:24:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:38 2007 -0700"
      },
      "message": "[INET]: Move common fields from frag_queues in one place.\n\nIntroduce the struct inet_frag_queue in include/net/inet_frag.h\nfile and place there all the common fields from three structs:\n\n * struct ipq in ipv4/ip_fragment.c\n * struct nf_ct_frag6_queue in nf_conntrack_reasm.c\n * struct frag_queue in ipv6/reassembly.c\n\nAfter this, replace these fields on appropriate structures with\nthis structure instance and fix the users to use correct names\ni.e. hunks like\n\n-    atomic_dec(\u0026fq-\u003erefcnt);\n+    atomic_dec(\u0026fq-\u003eq.refcnt);\n\n(these occupy most of the patch)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f61944efdf0d2569721ed6d7b0445e9f1214b295",
      "tree": "f29293ab16b6fec87fc08ca5b42b4839e125b543",
      "parents": [
        "3db05fea51cdb162cfa8f69e9cfb9e228919d2a9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 01:28:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:30 2007 -0700"
      },
      "message": "[IPV6]: Make ipv6_frag_rcv return the same packet\n\nThis patch implements the same change taht was done to ip_defrag.  It\nmakes ipv6_frag_rcv return the last packet received of a train of fragments\nrather than the head of that sequence.\n\nThis allows us to get rid of the sk_buff ** argument later.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_header).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfe1fc7759fdacb0c650b575daed1692bf3eaece",
      "tree": "b8ed6fbc6c028595f5e82be1bccdeb2727e0a0b2",
      "parents": [
        "bff9b61ce330df04c6830d823c30c04203543f01"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:26:39 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:19 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header_len\n\nFor the common sequence \"skb-\u003eh.raw - skb-\u003enh.raw\", similar to skb-\u003emac_len,\nthat is precalculated tho, don\u0027t think we need to bloat skb with one more\nmember, so just use this new helper, reducing the number of non-skbuff.h\nreferences to the layer headers even more.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2ae17d6443abddc79480dc9f7af8feacabddc4",
      "tree": "2d6f48a5e4a40f761b5b510af9aac1fca55004cb",
      "parents": [
        "badff6d01a8589a1c828b0bf118903ca38627f4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:55:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:16 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_offset()\n\nFor the quite common \u0027skb-\u003eh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "badff6d01a8589a1c828b0bf118903ca38627f4e",
      "tree": "89611d7058c612085c58dfb9913ee30ddf04b604",
      "parents": [
        "0660e03f6b18f19b6bbafe7583265a51b90daf36"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:06:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:15 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_transport_header(skb)\n\nFor the common, open coded \u0027skb-\u003eh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003eh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple cases:\n\nskb-\u003eh.raw \u003d skb-\u003edata;\nskb-\u003eh.raw \u003d {skb_push|[__]skb_pull}()\n\nThe next ones will handle the slightly more \"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0660e03f6b18f19b6bbafe7583265a51b90daf36",
      "tree": "82cc819ead5ab7858ba211ee8719a3e6d2bb984f",
      "parents": [
        "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:54:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:14 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipv6_hdr(), remove skb-\u003enh.ipv6h\n\nNow the skb-\u003enh union has just one member, .raw, i.e. it is just like the\nskb-\u003emac union, strange, no? I\u0027m just leaving it like that till the transport\nlayer is done with, when we\u0027ll rename skb-\u003emac.raw to skb-\u003emac_header (or\n-\u003emac_header_offset?), ditto for -\u003e{h,nh}.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc",
      "tree": "3b9073cecfbb3b6a1e25ab2b5dd2a22a43aef238",
      "parents": [
        "bbe735e4247dba32568a305553b010081c8dea99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:50:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:59 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header()\n\nFor the places where we need a pointer to the network header, it is still legal\nto touch skb-\u003enh.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c",
      "tree": "4bc9d61031f4eb40d73887d6bde09e7d6bf2b259",
      "parents": [
        "3927f2e8f9afa3424bb51ca81f7abac01ffd0005"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 19 16:16:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:34 2007 -0700"
      },
      "message": "[NET]: convert network timestamps to ktime_t\n\nWe currently use a special structure (struct skb_timeval) and plain\n\u0027struct timeval\u0027 to store packet timestamps in sk_buffs and struct\nsock.\n\nThis has some drawbacks :\n- Fixed resolution of micro second.\n- Waste of space on 64bit platforms where sizeof(struct timeval)\u003d16\n\nI suggest using ktime_t that is a nice abstraction of high resolution\ntime services, currently capable of nanosecond resolution.\n\nAs sizeof(ktime_t) is 8 bytes, using ktime_t in \u0027struct sock\u0027 permits\na 8 byte shrink of this structure on 64bit architectures. Some other\nstructures also benefit from this size reduction (struct ipq in\nipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)\n\nOnce this ktime infrastructure adopted, we can more easily provide\nnanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or\nSO_TIMESTAMPNS/SCM_TIMESTAMPNS)\n\nNote : this patch includes a bug correction in\ncompat_sock_get_timestamp() where a \"err \u003d 0;\" was missing (so this\nsyscall returned -ENOENT instead of 0)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCC: John find \u003clinux.kernel@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ab1457c42bc078e5a9becd82a7f9f940b55c53a",
      "tree": "c25d27c58fb27f4c5930ad120995cc2e3f1e7a4f",
      "parents": [
        "e905a9edab7f4f14f9213b52234e4a346c690911"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:49 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:42 2007 -0800"
      },
      "message": "[NET] IPV6: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e69a4adc669fe210817ec50ae3f9a7a5ad62d4e8",
      "tree": "de4666cd772f02aac4cbacf11251faeb54e99d1d",
      "parents": [
        "b09b845ca6724c3bbdc00c0cb2313258c7189ca9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 20:56:00 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:52 2006 -0800"
      },
      "message": "[IPV6]: Misc endianness annotations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a11d206d0f88e092419877c7f706cafb5e1c2e57",
      "tree": "ed96428bb52765198d5c5b7ccbc1f1b6516ffb3f",
      "parents": [
        "7a3025b1b3a0173be5de6ced18754b909da27b38"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Nov 04 20:11:37 2006 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:08 2006 -0800"
      },
      "message": "[IPV6]: Per-interface statistics support.\n\nFor IP MIB (RFC4293).\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "ab32ea5d8a760e7dd4339634e95d7be24ee5b842",
      "tree": "8460a66c529fe03f926848326d9b6aa874e19514",
      "parents": [
        "56fc85ac961e2c20dcb5ef07e2628b3f93de2e49"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Sep 22 14:15:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:55:03 2006 -0700"
      },
      "message": "[NET/IPV4/IPV6]: Change some sysctl variables to __read_mostly\n\nChange net/core, ipv4 and ipv6 sysctl variables to __read_mostly.\n\nCouldn\u0027t actually measure any performance increase while testing (.3%\nI consider noise), but seems like the right thing to do.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84fa7933a33f806bbbaae6775e87459b1ec584c0",
      "tree": "5be404225d90f640997b12f631e9b496b3fd0d61",
      "parents": [
        "8584d6df39db5601965f9bc5e3bf2fea833ad7bb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 29 16:44:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:53 2006 -0700"
      },
      "message": "[NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE\n\nReplace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose\nchecksum still needs to be completed) and CHECKSUM_COMPLETE (for\nincoming packets, device supplied full checksum).\n\nPatch originally from Herbert Xu, updated by myself for 2.6.18-rc3.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "f6596f9d2b4f0255f6cd68c76b85fe4cec6352af",
      "tree": "6e95cca360198b2e546904d17760ba71d1dc5ee8",
      "parents": [
        "a145410dccdb44f81d3b56763ef9b6f721f4e47c"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Mon Apr 10 16:05:34 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Apr 11 17:21:05 2006 -0700"
      },
      "message": "[IPv6] reassembly: Always compute hash under the fragment lock.\n\nThis closes a race where an ipq6hashfn() caller could get a hash value\nand race with the cycling of the random seed.  By the time they got to\nthe read_lock they\u0027d have a stale hash value and might not find\nprevious fragments of their datagram.\n\nThis matches the previous patch to IPv4.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78c784c47a2be593480cb6c69829a59f0504d575",
      "tree": "dc300e4a1b4205e770c3629d359aa83deea72929",
      "parents": [
        "b3e83d6d187664be56a1591ccfa99124b88f0582"
      ],
      "author": {
        "name": "Ingo Oeser",
        "email": "ioe-lkml@rameria.de",
        "time": "Mon Mar 20 23:01:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 23:01:17 2006 -0800"
      },
      "message": "[IPV6]: Cleanup of net/ipv6/reassambly.c\n\nTwo minor cleanups:\n\n1. Using kzalloc() in fraq_alloc_queue()\n   saves the memset() in ipv6_frag_create().\n\n2. Invert sense of if-statements to streamline code.\n   Inverts the comment, too.\n\nSigned-off-by: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "951dbc8ac714b04c36296b8b5c36c8e036ce433f",
      "tree": "7f3599987f6b6db765f66c65d5c1cefe1457ea6a",
      "parents": [
        "16a6677fdf1d1194f688f8291b06fbaff248c353"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:02:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:29 2006 -0800"
      },
      "message": "[IPV6]: Move nextheader offset to the IP6CB\n\nMove nextheader offset to the IP6CB to make it possible to pass a\npacket to ip6_input_finish multiple times and have it skip already\nparsed headers. As a nice side effect this gets rid of the manual\nhopopts skipping in ip6_input_finish.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7c8a41e817f381ac5c2a59ecc81b483bd68a7df",
      "tree": "650b33c804a1a66c72acaef9595eb9fe6cc2c0e9",
      "parents": [
        "0db169f9703115bab09eda5d89a8f6937a7bf98e"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Nov 16 12:55:37 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 12:55:37 2005 -0800"
      },
      "message": "[IPV4,IPV6]: replace handmade list with hlist in IPv{4,6} reassembly\n\nBoth of ipq and frag_queue have *next and **prev, and they can be replaced\nwith hlist. Thanks Arnaldo Carvalho de Melo for the suggestion.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42ca89c18b75e1c4c3b02aa5589ad3aa916909a8",
      "tree": "a3052c4ffdfa8451a182c49837a92054f5688672",
      "parents": [
        "e50ef933e649a2b43aa10c8a60c491543b8b4c02"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Sep 08 12:57:43 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 12:57:43 2005 -0700"
      },
      "message": "[IPV6]: Need to use pskb_trim_rcsum().\n\nFix pskb_trim usage in ipv6. Only the udp one is really\na bug, other places are just doing equivalent code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61bbcf28a8cb0ba56f8193d512f7222e711a294",
      "tree": "33ae1976ab3b08aac516debb2742d2c6696d5436",
      "parents": [
        "25ed891019b84498c83903ecf53df7ce35e9cff6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 17:24:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:58:24 2005 -0700"
      },
      "message": "[NET]: Store skb-\u003etimestamp as offset to a base timestamp\n\nReduces skb size by 8 bytes on 64-bit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
