)]}'
{
  "log": [
    {
      "commit": "ec16439e173aaf56f62bd8e175e976fbd452497b",
      "tree": "c26192b632186e2db52d8b808270f22fc1d1ac81",
      "parents": [
        "3cc4949269e01f39443d0fcfffb5bc6b47878d45"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat May 19 03:02:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 18:34:57 2012 -0400"
      },
      "message": "ipv6: use skb coalescing in reassembly\n\nip6_frag_reasm() can use skb_try_coalesce() to build optimized skb,\nreducing memory used by them (truesize), and reducing number of cache\nline misses and overhead for the consumer.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbc264cacd08e51fd4a64b5d5b1ba48f523990d1",
      "tree": "f51584e8a78fad165debfe1e0d01715d9f493f3b",
      "parents": [
        "28e85100ae0fd814db723aeaaa785270bf4d600d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 05:57:13 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 01:40:27 2012 -0400"
      },
      "message": "ip_frag: struct inet_frags match() method returns a bool\n\n- match() method returns a boolean\n- return (A \u0026\u0026 B \u0026\u0026 C \u0026\u0026 D) -\u003e return A \u0026\u0026 B \u0026\u0026 C \u0026\u0026 D\n- fix indentation\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\n"
    },
    {
      "commit": "e87cc4728f0e2fb663e592a1141742b1d6c63256",
      "tree": "b8219696d37f0c8d0521d5853560b97fc96dc667",
      "parents": [
        "3a3bfb61e64476ff1e4ac3122cb6dec9c79b795c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun May 13 21:56:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 15 13:45:03 2012 -0400"
      },
      "message": "net: Convert net_ratelimit uses to net_\u003clevel\u003e_ratelimited\n\nStandardize the net core ratelimited logging functions.\n\nCoalesce formats, align arguments.\nChange a printk then vprintk sequence to use printf extension %pV.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "808db80a7eeff8314ac51654bfefc864582eea13",
      "tree": "9c42d1486a5e6052d0c285a5a6a6d38fdbe0b890",
      "parents": [
        "081579840b4b2421e37bc67e3b089b7ca64ef040"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Apr 24 10:17:59 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 25 20:39:46 2012 -0400"
      },
      "message": "ipv6: call consume_skb() in frag/reassembly\n\nSome kfree_skb() calls should be replaced by consume_skb() to avoid\ndrop_monitor/dropwatch false positives.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec8f23ce0f4005b74013d4d122e0d540397a93c9",
      "tree": "c2f22aa08ad4c0197d3cb41b91cf8d436794fde1",
      "parents": [
        "f99e8f715a5c7ebad5410b1e9b4d744ddb284f54"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:44:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:22:30 2012 -0400"
      },
      "message": "net: Convert all sysctl registrations to register_net_sysctl\n\nThis results in code with less boiler plate that is a bit easier\nto read.\n\nAdditionally stops us from using compatibility code in the sysctl\ncore, hastening the day when the compatibility code can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4344475797a16ef948385780943f7a5cf09f0675",
      "tree": "1cd80eae7c46a1e3f2f5c546212d84d007a5dffa",
      "parents": [
        "2ca794e5e86c800d7f98c4ebb8bd325099c0afe8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:22:55 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:21:17 2012 -0400"
      },
      "message": "net: Kill register_sysctl_rotable\n\nregister_sysctl_rotable never caught on as an interesting way to\nregister sysctls.  My take on the situation is that what we want are\nsysctls that we can only see in the initial network namespace.  What we\nhave implemented with register_sysctl_rotable are sysctls that we can\nsee in all of the network namespaces and can only change in the initial\nnetwork namespace.\n\nThat is a very silly way to go.  Just register the network sysctls\nin the initial network namespace and we don\u0027t have any weird special\ncases to deal with.\n\nThe sysctls affected are:\n/proc/sys/net/ipv4/ipfrag_secret_interval\n/proc/sys/net/ipv4/ipfrag_max_dist\n/proc/sys/net/ipv6/ip6frag_secret_interval\n/proc/sys/net/ipv6/mld_max_msf\n\nI really don\u0027t expect anyone will miss them if they can\u0027t read them in a\nchild user namespace.\n\nCC: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5de658f878d49e952d7b3f3f26a396132829f513",
      "tree": "3e0a3eaeddb729a4e003863d74d8950cd2f3ae37",
      "parents": [
        "84920c1420e2b4a4150e5bb45ee5a23ea4641523"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 30 04:29:24 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 30 12:58:51 2012 -0500"
      },
      "message": "ipv6: fix RFC5722 comment\n\nRFC5722 Section 4 was amended by Errata 3089\n\nOur implementation did the right thing anyway...\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nAcked-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e3fd7a06dc20b2d8ec6892233ad2012968fe7b6",
      "tree": "da3fbec7672ac6b967dfa31cec6c88f468a57fa2",
      "parents": [
        "40ba84993d66469d336099c5af74c3da5b73e28d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 21 03:39:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 16:43:32 2011 -0500"
      },
      "message": "net: remove ipv6_addr_copy()\n\nC assignment can handle struct in6_addr copying.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "9e903e085262ffbf1fc44a17ac06058aca03524a",
      "tree": "4acefc97ba38c1733474d25c0b2053b56af97db1",
      "parents": [
        "dd767856a36e00b631d65ebc4bb81b19915532d6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 18 21:00:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:10:46 2011 -0400"
      },
      "message": "net: add skb frag size accessors\n\nTo ease skb-\u003etruesize sanitization, its better to be able to localize\nall references to skb frags size.\n\nDefine accessors : skb_frag_size() to fetch frag size, and\nskb_frag_size_{set|add|sub}() to manipulate it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b71d1d426d263b0b6cb5760322efebbfc89d4463",
      "tree": "226ca7390bd6187ec9139d2ccedd26fd94d8e57a",
      "parents": [
        "5f8629c526b4f7e529a6d27bbd802c0dc7fcc357"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Apr 22 04:53:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 22 11:04:14 2011 -0700"
      },
      "message": "inet: constify ip headers and in6_addr\n\nAdd const qualifiers to structs iphdr, ipv6hdr and in6_addr pointers\nwhere possible, to make code intention more obvious.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82a39eb6b3829a02e235656feddb4542517fcabc",
      "tree": "51fee60823c57fd6110faa264a71b6403c1602f4",
      "parents": [
        "aa285b1740f5b13e5a2606a927f3129954583d78"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Thu Nov 25 03:15:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 11:26:21 2010 -0800"
      },
      "message": "ipv6: Prepare the tree for un-inlined jhash.\n\njhash is widely used in the kernel and because the functions\nare inlined, the cost in size is significant. Also, the new jhash\nfunctions are slightly larger than the previous ones so better un-inline.\nAs a preparation step, the calls to the internal macros are replaced\nwith the plain jhash function calls.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f46421416fb6b91513fb687d6503142cd99034a5",
      "tree": "cad8e340ce9bccec9ff261a1c0d73b18382019af",
      "parents": [
        "4c46ee52589a4edd67447214eb489b10fed5c53a"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Fri Nov 05 01:56:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 08 12:17:06 2010 -0800"
      },
      "message": "ipv6: fix overlap check for fragments\n\nThe type of FRAG6_CB(prev)-\u003eoffset is int, skb-\u003elen is *unsigned* int,\nand offset is int.\n\nWithout this patch, type conversion occurred to this expression, when\n(FRAG6_CB(prev)-\u003eoffset + prev-\u003elen) is less than offset.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "70789d7052239992824628db8133de08dc78e593",
      "tree": "c1fb08a04f4f3a266165405d2f5d606ddff30479",
      "parents": [
        "deabc772f39405054a438d711f408d2d94d26d96"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Fri Sep 03 05:13:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 07 13:57:21 2010 -0700"
      },
      "message": "ipv6: discard overlapping fragment\n\nRFC5722 prohibits reassembling fragments when some data overlaps.\n\nBug spotted by Zhang Zuotao \u003czuotao.zhang@6wind.com\u003e.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21dc330157454046dd7c494961277d76e1c957fe",
      "tree": "4f030efa8d82f7eb9676acd4cfc74921a6d29972",
      "parents": [
        "2d4833aae65589ba4317dd325fe20c8b25c14173"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 00:13:46 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 00:13:46 2010 -0700"
      },
      "message": "net: Rename skb_has_frags to skb_has_frag_list\n\nSKBs can be \"fragmented\" in two ways, via a page array (called\nskb_shinfo(skb)-\u003efrags[]) and via a list of SKBs (called\nskb_shinfo(skb)-\u003efrag_list).\n\nSince skb_has_frags() tests the latter, it\u0027s name is confusing\nsince it sounds more like it\u0027s testing the former.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6bebca92c663fb216c072193945946f3807ca7f",
      "tree": "fd797f062fa19d2ee470cf33c9b475bff08e2545",
      "parents": [
        "4ce3c183fcade7f4b30a33dae90cd774c3d9e094"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Jun 29 04:39:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 13:44:29 2010 -0700"
      },
      "message": "fragment: add fast path for in-order fragments\n\nadd fast path for in-order fragments\n\nAs the fragments are sent in order in most of OSes, such as Windows, Darwin and\nFreeBSD, it is likely the new fragments are at the end of the inet_frag_queue.\nIn the fast path, we check if the skb at the end of the inet_frag_queue is the\nprev we expect.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n include/net/inet_frag.h |    1 +\n net/ipv4/ip_fragment.c  |   12 ++++++++++++\n net/ipv6/reassembly.c   |   11 +++++++++++\n 3 files changed, 24 insertions(+)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a95d8c88bea0c93505e1d143d075f112be2b25e3",
      "tree": "7a94017d691ef50b2ce69e389019620bd8d44077",
      "parents": [
        "d27f9b35827ec91d71d3561c127a0a8135fb470d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Jun 13 23:22:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 15 18:12:44 2010 -0700"
      },
      "message": "ipfrag : frag_kfree_skb() cleanup\n\nThird param (work) is unused, remove it.\n\nRemove __inline__ and inline qualifiers.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d27f9b35827ec91d71d3561c127a0a8135fb470d",
      "tree": "a6a9c67628bf3b807d8bf24375fe6c075b25af32",
      "parents": [
        "2bbdf389a9432270147c8e8e35b021ad61772f65"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Jun 13 23:02:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 15 18:12:44 2010 -0700"
      },
      "message": "ip_frag: Remove some atomic ops\n\nInstead of doing one atomic operation per frag, we can factorize them.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "3ffe533c87281b68d469b279ff3a5056f9c75862",
      "tree": "456d4c8c877e937fd4919e4c30c75a7bb9f6651f",
      "parents": [
        "bbef49daca35d4fd21bf606a10b6980f17d9df5d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Feb 18 08:25:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 18 14:30:17 2010 -0800"
      },
      "message": "ipv6: drop unused \"dev\" arg of icmpv6_send()\n\nDunno, what was the idea, it wasn\u0027t used for a long time.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "749f621e20ab0db35a15ff730088922603c809ba",
      "tree": "2684d12199b58f2b9e0c5b7e6cc0ea3f002e611a",
      "parents": [
        "339c6e99853d2ef1f02ad8a313e079050a300427",
        "3e5e524ffb5fcf2447eb5dd9f8e54ad22dd9baa7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 11:15:13 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 11:15:13 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "9546377c42e12513b33925ab829d893dcf521c5f",
      "tree": "c025fb134016a1af53b601eacf51b37b89932048",
      "parents": [
        "564517e804c9c6d4e29c270bfc1517404d27107b"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Feb 11 00:12:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 15 21:49:49 2010 -0800"
      },
      "message": "IPv6: Delete redundant counter of IPSTATS_MIB_REASMFAILS\n\nWhen no more memory can be allocated, fq_find() will return NULL and\nincrease the value of IPSTATS_MIB_REASMFAILS. In this case,\nipv6_frag_rcv() also increase the value of IPSTATS_MIB_REASMFAILS.\n\nSo, the patch deletes redundant counter of IPSTATS_MIB_REASMFAILS in fq_find().\nand deletes the unused parameter of idev.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ab99d5a43e9f283738fd9fd365539306d13eaac",
      "tree": "0214a63e3f4f7f4f187f0139e4a5d8abe453902b",
      "parents": [
        "76780373190d7e8ddfb6fed06aef068e2445c743",
        "b1109bf085c8dd69537b7876ea83f914dd1fe46a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 10 14:17:10 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 10 14:17:10 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "7c070aa947d1a4105742378579c267f6e7fd08a1",
      "tree": "51e0b9344d224fbcfed562361559d881c5fa45de",
      "parents": [
        "b38f6eddeee510ce8178c2d2db54ed25f1d7cb63"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Jan 20 10:42:41 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jan 20 10:42:41 2010 +0100"
      },
      "message": "IPv6: reassembly: replace magic number with macro definitions\n\nUse macro to define high/low thresh value, refer to IPV6_FRAG_TIMEOUT.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "2c8c1e7297e19bdef3c178c3ea41d898a7716e3e",
      "tree": "4d336562e8d5379732a0646e17b0bb1750111ef6",
      "parents": [
        "72659ecce68588b74f6c46862c2b4cec137d7a5a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jan 17 03:35:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:16:02 2010 -0800"
      },
      "message": "net: spread __net_init, __net_exit\n\n__net_init/__net_exit are apparently not going away, so use them\nto full extent.\n\nIn some cases __net_init was removed, because it was called from\n__net_exit code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3705e11a21bcdffe7422ee7870e1b23fe4ac70f4",
      "tree": "80212be3720cb7cab44c1c4b809dc7d4a133aecb",
      "parents": [
        "f9c4171e01f6befdf5d15346070b819d341c9c73"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Fri Dec 18 20:25:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 18 20:25:13 2009 -0800"
      },
      "message": "ipv6: fix an oops when force unload ipv6 module\n\nWhen I do an ipv6 module force unload,I got the following oops:\n#rmmod -f ipv6\n------------[ cut here ]------------\nkernel BUG at mm/slub.c:2969!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/net/eth2/ifindex\nModules linked in: ipv6(-) dm_multipath uinput ppdev tpm_tis tpm tpm_bios pcspkr pcnet32 mii parport_pc i2c_piix4 parport i2c_core floppy mptspi mptscsih mptbase scsi_transport_spi\n\nPid: 2530, comm: rmmod Tainted: G  R        2.6.32 #2 440BX Desktop Reference Platform/VMware Virtual Platform\nEIP: 0060:[\u003cc04b73f2\u003e] EFLAGS: 00010246 CPU: 0\nEIP is at kfree+0x6a/0xdd\nEAX: 00000000 EBX: c09e86bc ECX: c043e4dd EDX: c14293e0\nESI: e141f1d8 EDI: e140fc31 EBP: dec58ef0 ESP: dec58ed0\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess rmmod (pid: 2530, ti\u003ddec58000 task\u003ddecb1940 task.ti\u003ddec58000)\nStack:\n c14293e0 00000282 df624240 c0897d08 c09e86bc c09e86bc e141f1d8 dec58f1c\n\u003c0\u003e dec58f00 e140fc31 c09e84c4 e141f1bc dec58f14 c0689d21 dec58f1c e141f1bc\n\u003c0\u003e 00000000 dec58f2c c0689eff c09e84d8 c09e84d8 e141f1bc bff33a90 dec58f38\nCall Trace:\n [\u003ce140fc31\u003e] ? ipv6_frags_exit_net+0x22/0x32 [ipv6]\n [\u003cc0689d21\u003e] ? ops_exit_list+0x19/0x3d\n [\u003cc0689eff\u003e] ? unregister_pernet_operations+0x2a/0x51\n [\u003cc0689f70\u003e] ? unregister_pernet_subsys+0x17/0x24\n [\u003ce140fbfe\u003e] ? ipv6_frag_exit+0x21/0x32 [ipv6]\n [\u003ce141a361\u003e] ? inet6_exit+0x47/0x122 [ipv6]\n [\u003cc045f5de\u003e] ? sys_delete_module+0x198/0x1f6\n [\u003cc04a8acf\u003e] ? remove_vma+0x57/0x5d\n [\u003cc070f63f\u003e] ? do_page_fault+0x2e7/0x315\n [\u003cc0403218\u003e] ? sysenter_do_call+0x12/0x28\nCode: 86 00 00 00 40 c1 e8 0c c1 e0 05 01 d0 89 45 e0 66 83 38 00 79 06 8b 40 0c 89 45 e0 8b 55 e0 8b 02 84 c0 78 14 66 a9 00 c0 75 04 \u003c0f\u003e 0b eb fe 8b 45 e0 e8 35 15 fe ff eb 5d 8b 45 04 8b 55 e0 89\nEIP: [\u003cc04b73f2\u003e] kfree+0x6a/0xdd SS:ESP 0068:dec58ed0\n---[ end trace 4475d1a5b0afa7e5 ]---\n\nIt\u0027s because in ip6_frags_ns_sysctl_register,\n\"table\" only alloced when \"net\" is not equals\nto \"init_net\".So when we free \"table\" in \nip6_frags_ns_sysctl_unregister,we should check\nthis first.\n\nThis patch fix the problem.\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b5ccb2ee250136dd7385b1c7da28417d0d4d32d",
      "tree": "b0630141672471d5c800867cd8dbee425308bc73",
      "parents": [
        "9abfe315de96aa5c9878b2f627542bc54901c6e9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 15 16:59:18 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 15 16:59:18 2009 +0100"
      },
      "message": "ipv6: reassembly: use seperate reassembly queues for conntrack and local delivery\n\nCurrently the same reassembly queue might be used for packets reassembled\nby conntrack in different positions in the stack (PREROUTING/LOCAL_OUT),\nas well as local delivery. This can cause \"packet jumps\" when the fragment\ncompleting a reassembled packet is queued from a different position in the\nstack than the previous ones.\n\nAdd a \"user\" identifier to the reassembly queue key to seperate the queues\nof each caller, similar to what we do for IPv4.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "09ad9bc752519cc167d0a573e1acf69b5c707c67",
      "tree": "0e190a9ffb90d7e0534136c3e9f31dce02f423c3",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "message": "net: use net_eq to compare nets\n\nGenerated with the following semantic patch\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 \u003d\u003d n2\n+ net_eq(n1, n2)\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 !\u003d n2\n+ !net_eq(n1, n2)\n\napplied over {include,net,drivers/net}.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8572d8f2a2ba75408b97dc24ef47c83671795d7",
      "tree": "052506a457939fea00d138d3a982d778df34e14c",
      "parents": [
        "86b1bc68e2f4244e4ea5db5458df9d19259fbb30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 05 13:32:03 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 12 02:05:06 2009 -0800"
      },
      "message": "sysctl net: Remove unused binary sysctl code\n\nNow that sys_sysctl is a compatiblity wrapper around /proc/sys\nall sysctl strategy routines, and all ctl_name and strategy\nentries in the sysctl tables are unused, and can be\nrevmoed.\n\nIn addition neigh_sysctl_register has been modified to no longer\ntake a strategy argument and it\u0027s callers have been modified not\nto pass one.\n\nCc: \"David Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "69df9d5993bd7dd7499ad0e98fe824147fbe5667",
      "tree": "584ed41f2122f46ea2adacfc0442617c88b4c007",
      "parents": [
        "bd27a8750c9b849068d80e298f99940bb7128b33"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 05 20:59:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:34:22 2009 -0800"
      },
      "message": "ip_frag: dont touch device refcount\n\nWhen sending fragmentation expiration ICMP V4/V6 messages,\nwe can avoid touching device refcount, thanks to RCU\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41135cc836a1abeb12ca1416bdb29e87ad021153",
      "tree": "01c402f2fb9ac494dc3655a17e92072b170b7c1f",
      "parents": [
        "32613090a96dba2ca2cc524c8d4749d3126fdde5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:22:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:05 2009 -0700"
      },
      "message": "net: constify struct inet6_protocol\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d9092bb41c8fdca45513461587d8b4ad3918f74",
      "tree": "38c8972be346a5f60b960acb61048e72808fc7cc",
      "parents": [
        "d7fcf1a5cae2c970e9afe7192fe0c13d931247e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 00:20:05 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 00:20:05 2009 -0700"
      },
      "message": "ipv6: Use frag list abstraction interfaces.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "951dbc8ac714b04c36296b8b5c36c8e036ce433f"
}
