)]}'
{
  "log": [
    {
      "commit": "a50feda546ac03415707a9bbcac8d6b20714db21",
      "tree": "3c1f5d64399e713c97545ca39984d4d2efe6ca5d",
      "parents": [
        "32e9072b92a1c556a303d8d0e0d64feb667e601d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 18:57:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 01:08:16 2012 -0400"
      },
      "message": "ipv6: bool/const conversions phase2\n\nMostly bool conversions, some inline removals and const additions.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f32138319ca6541e65f95f8e17c9cc88ac1baf94",
      "tree": "20505f3d5955d89d3763a6182052a8e9b37eaf37",
      "parents": [
        "82251de2a2b7b84987dde104d48a765b63170149"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 15 14:11:53 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 01:01:03 2012 -0400"
      },
      "message": "net: ipv6: Standardize prefixes for message logging\n\nAdd #define pr_fmt(fmt) as appropriate.\n\nAdd \"IPv6: \" to appropriate files.\n\nConvert printk(KERN_\u003cLEVEL\u003e to pr_\u003clevel\u003e (but not KERN_DEBUG).\nStandardize on \"%s: \" not \"%s(): \" when emitting __func__.\nUse \"%s: \", __func__ instead of embedding function name.\nCoalesce formats, align arguments.\n\nADDRCONF output is now prefixed with \"IPv6: \"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06eb4eafbdc0796d741d139a44f1253278da8611",
      "tree": "fbdb44317130c371928154c9e6903e699fe2b995",
      "parents": [
        "32ed53b83ea5ec26a4dba90e18f5e0ff6c71eb48",
        "f68e556e23d1a4176b563bcb25d8baf2c5313f91"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:30:45 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:30:45 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "a2d91a09dac71bf34a9a3e4b8fdda36f02788b52",
      "tree": "2248c63186b8f08427c1f76872d696eb17b7b734",
      "parents": [
        "911c8541efc78014b29d44510be4d6d4c9d539da"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Sun Apr 01 07:49:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:46 2012 -0400"
      },
      "message": "net/ipv6/icmp.c: Checkpatch cleanups\n\nicmp.c:501: ERROR: \"(foo*)\" should be \"(foo *)\"\nicmp.c:582: ERROR: \"(foo*)\" should be \"(foo *)\"\nicmp.c:954: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "c4062dfc425e94290ac427a98d6b4721dd2bc91f",
      "tree": "30180df3e11ded7ed8ea2c3c4525092d0711f1af",
      "parents": [
        "76e21053b5bf33a07c76f99d27a74238310e3c71"
      ],
      "author": {
        "name": "Erich E. Hoover",
        "email": "ehoover@mines.edu",
        "time": "Wed Feb 08 09:11:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 08 15:52:45 2012 -0500"
      },
      "message": "ipv6: Implement IPV6_UNICAST_IF socket option.\n\nThe IPV6_UNICAST_IF feature is the IPv6 compliment to IP_UNICAST_IF.\n\nSigned-off-by: Erich E. Hoover \u003cehoover@mines.edu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75f2811c6460ccc59d83c66059943ce9c9f81a18",
      "tree": "49373cf5f5b11358aeb587209ad270496f751609",
      "parents": [
        "396cf9430505cfba529a2f2a037d782719fa5844"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Wed Nov 30 17:05:51 2011 -0800"
      },
      "committer": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Sat Dec 03 09:35:10 2011 -0800"
      },
      "message": "ipv6: Add fragment reporting to ipv6_skip_exthdr().\n\nWhile parsing through IPv6 extension headers, fragment headers are\nskipped making them invisible to the caller.  This reports the\nfragment offset of the last header in order to make it possible to\ndetermine whether the packet is fragmented and, if so whether it is\na first or last fragment.\n\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\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": "87fb4b7b533073eeeaed0b6bf7c2328995f6c075",
      "tree": "be4b37f08d7fe2d018ae68bae4577b1b2bafd0fc",
      "parents": [
        "97ba0eb64ca690165f945a83e609102fcefa99cb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 13 07:28:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 16:05:07 2011 -0400"
      },
      "message": "net: more accurate skb truesize\n\nskb truesize currently accounts for sk_buff struct and part of skb head.\nkmalloc() roundings are also ignored.\n\nConsidering that skb_shared_info is larger than sk_buff, its time to\ntake it into account for better memory accounting.\n\nThis patch introduces SKB_TRUESIZE(X) macro to centralize various\nassumptions into a single place.\n\nAt skb alloc phase, we put skb_shared_info struct at the exact end of\nskb head, to allow a better use of memory (lowering number of\nreallocations), since kmalloc() gives us power-of-two memory blocks.\n\nUnless SLUB/SLUB debug is active, both skb-\u003ehead and skb_shared_info are\naligned to cache lines, as before.\n\nNote: This patch might trigger performance regressions because of\nmisconfigured protocol stacks, hitting per socket or global memory\nlimits that were previously not reached. But its a necessary step for a\nmore accurate memory accounting.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Andi Kleen \u003cak@linux.intel.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfdf76474e1d8a56ac6cfae39f8559cfe9dfd7fd",
      "tree": "d5fe707a1e8018643cf82f0272e651ceda53a119",
      "parents": [
        "ab1594e92e6765fd4af316f130eea8f5c920823d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jul 27 21:13:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 01 00:12:00 2011 -0700"
      },
      "message": "ipv6: some RCU conversions\n\nICMP and ND are not fast path, but still we can avoid changing idev\nrefcount, using RCU.\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": "1958b856c1a59c0f1e892b92debb8c9fe4f364dc",
      "tree": "679e060ad7c1e36ee2e5aec0c686921c66c9bc2c",
      "parents": [
        "4c9483b2fb5d2548c3cc1fe03cdd4484ceeb5d1c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 16:36:19 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:55 2011 -0800"
      },
      "message": "net: Put fl6_* macros to struct flowi6 and use them again.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c9483b2fb5d2548c3cc1fe03cdd4484ceeb5d1c",
      "tree": "c29c8070012cffb38fe249cf528589a675f622b1",
      "parents": [
        "9cce96df5b76691712dba22e83ff5efe900361e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 16:22:43 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "ipv6: Convert to use flowi6 where applicable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6281dcc94a96bd73017b2baa8fa83925405109ef",
      "tree": "8deee4d66d256d10ea25f66520eb96b1fade1545",
      "parents": [
        "08704bcbf022786532b5f188935ab6619906049f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:43:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Make flowi ports AF dependent.\n\nCreate two sets of port member accessors, one set prefixed by fl4_*\nand the other prefixed by fl6_*\n\nThis will let us to create AF optimal flow instances.\n\nIt will work because every context in which we access the ports,\nwe have to be fully aware of which AF the flowi is anyways.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "452edd598f60522c11f7f88fdbab27eb36509d1a",
      "tree": "df1510e9848e591a412c8bfa724253470c48c4c2",
      "parents": [
        "3872b284087081ee5cb0e4630954c2f7a2153cf5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "message": "xfrm: Return dst directly from xfrm_lookup()\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b42835dbe83d725198c7ab0bbe726d6dfd92a634",
      "tree": "8728dccb3fa9bb54dba53a0a00c6e2818b843a91",
      "parents": [
        "f6d460cf0ed16d35aec48f823685e7a0e0283d84"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 22:06:22 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 22:07:37 2011 -0800"
      },
      "message": "ipv6: Make icmp route lookup code a bit clearer.\n\nThe route lookup code in icmpv6_send() is slightly tricky as a result of\nhaving to handle all of the requirements of RFC 4301 host relookups.\n\nPull the route resolution into a seperate function, so that the error\nhandling and route reference counting is hopefully easier to see and\ncontained wholly within this new routine.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92d8682926342d2b6aa5b2ecc02221e00e1573a0",
      "tree": "7f70b9cc2975716ab60ddd632b9fecf0a51b828d",
      "parents": [
        "0131ba451e20239c5dc701027c1a2edef95e1a6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:55:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:59:53 2011 -0800"
      },
      "message": "inetpeer: Move ICMP rate limiting state into inet_peer entries.\n\nLike metrics, the ICMP rate limiting bits are cached state about\na destination.  So move it into the inet_peer entries.\n\nIf an inet_peer cannot be bound (the reason is memory allocation\nfailure or similar), the policy is to allow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00d9d6a185de89edc0649ca4ead58f0283dfcbac",
      "tree": "2c7bb666781736a94170624519182b68b13f099d",
      "parents": [
        "81a95f049962ec20a9aed888e676208b206f0f2e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jun 07 22:24:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 09 18:39:27 2010 -0700"
      },
      "message": "ipv6: fix ICMP6_MIB_OUTERRORS\n\nIn commit 1f8438a85366 (icmp: Account for ICMP out errors), I did a typo\non IPV6 side, using ICMP6_MIB_OUTMSGS instead of ICMP6_MIB_OUTERRORS\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13b52cd44670e3359055e9918d0e766d89836425",
      "tree": "7685597f218fd02dab9abdb32ea0d4ec7c318027",
      "parents": [
        "793b14731686595a741d9f47726ad8b9a235385a"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:28 2010 -0700"
      },
      "message": "IPv6: Add dontfrag argument to relevant functions\n\nAdd dontfrag argument to relevant functions for\nIPV6_DONTFRAG support, as well as allowing the value\nto be passed-in via ancillary cmsg data.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "1f8438a853667d48055ad38384c63e94b32c6578",
      "tree": "d515b2246023abce5f151f35d70d270fa05b90c7",
      "parents": [
        "f66ef2d0649b220874532dfb83b6b5b368f83591"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Apr 03 15:09:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 15:09:04 2010 -0700"
      },
      "message": "icmp: Account for ICMP out errors\n\nWhen ip_append() fails because of socket limit or memory shortage,\nincrement ICMP_MIB_OUTERRORS counter, so that \"netstat -s\" can report\nthese errors.\n\nLANG\u003dC netstat -s | grep \"ICMP messages failed\"\n    0 ICMP messages failed\n\nFor IPV6, implement ICMP6_MIB_OUTERRORS counter as well.\n\n# grep Icmp6OutErrors /proc/net/dev_snmp6/*\n/proc/net/dev_snmp6/eth0:Icmp6OutErrors                   \t0\n/proc/net/dev_snmp6/lo:Icmp6OutErrors                   \t0\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": "bc417d99bf279f034474bc2d7dedd390838a5480",
      "tree": "5b43a0d21bfd3fcbf6cca47972ea4b474ec346e4",
      "parents": [
        "663717f65c075eb4c6da7a123041295bd5295cc0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Feb 18 08:12:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 18 14:30:16 2010 -0800"
      },
      "message": "ipv6: remove stale MIB definitions\n\nICMP6 MIB statistics was per-netns for quite a time.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.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": "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": "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": "e651f03afe833326faa0abe55948c1c6cfd0b8ac",
      "tree": "77058921e3842568e885f23b7b6829c628a0051b",
      "parents": [
        "9ec04da7489d2c9ae01ea6e9b5fa313ccf3d35fb"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 09 08:12:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 13 16:43:31 2009 -0700"
      },
      "message": "inet6: Conversion from u8 to int\n\nThis replaces assignments of the type \"int on LHS\" \u003d \"u8 on RHS\" with\nsimpler code. The LHS can express all of the unsigned right hand side\nvalues, hence the assigned value can not be negative.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5fdd6babcfc2b0e6a8da1acf492a69fb54b4c47",
      "tree": "e4ebdb5d6c4b1ddc16f83e701e3e6038c379a497",
      "parents": [
        "0cf08dcb78e8d61b6d4b2eb5cdb296d969971626"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Jun 23 04:31:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 23 04:31:07 2009 -0700"
      },
      "message": "ipv6: Use correct data types for ICMPv6 type and code\n\nChange all the code that deals directly with ICMPv6 type and code\nvalues to use u8 instead of a signed int as that\u0027s the actual data\ntype.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c06a478c9e59d1584a5dc1b2b3519bae5d6546a",
      "tree": "130d7b956340a81fd27e7724c73178d3e3f49a61",
      "parents": [
        "94cd3e6cbebf85903b4d53ed2147bdb4c6e08625"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Jan 27 22:30:19 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 27 22:30:19 2009 -0800"
      },
      "message": "net: fix xfrm reverse flow lookup for icmp6\n\nThis patch fixes the xfrm reverse flow lookup for icmp6 so that icmp6 packets\ndon\u0027t get lost over ipsec tunnels. Similar patch is in RHEL5 kernel for a quite\nlong time and I do not see why it isn\u0027t in mainline.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52479b623d3d41df84c499325b6a8c7915413032",
      "tree": "196f303f296b53dc89a05954d9c03226a9b4158b",
      "parents": [
        "cdcbca7c1f1946758cfacb69bc1c7eeaccb11e2d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "message": "netns xfrm: lookup in netns\n\nPass netns to xfrm_lookup()/__xfrm_lookup(). For that pass netns\nto flow_cache_lookup() and resolver callback.\n\nTake it from socket or netdevice. Stub DECnet to init_net.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07f0757a6808f2f36a0e58c3a54867ccffdb8dc9",
      "tree": "e04b573c3f1471ff21c6b2499682a620f4db7eae",
      "parents": [
        "a7a0d6a87b70f7b2bab5281fc0fd443772bd0795"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Nov 19 15:44:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 15:44:53 2008 -0800"
      },
      "message": "include/net net/ - csum_partial - remove unnecessary casts\n\nThe first argument to csum_partial is const void *\ncasts to char/u8 * are not necessary\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\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": "5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad",
      "tree": "b6caa0cdbaac016447a790881ad4a6c5dfce6900",
      "parents": [
        "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "message": "net: replace %p6 with %pI6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c6ce78abf6e228d44c3840edb8a4ae0c1299825",
      "tree": "55f228de41dd191609310c03633579eec05b1f33",
      "parents": [
        "38ff4fa49bef77e86b21d95d9ce341a098f02839"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:09:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:31 2008 -0700"
      },
      "message": "net: replace uses of NIP6_FMT with %p6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "def8b4faff5ca349beafbbfeb2c51f3602a6ef3a",
      "tree": "a90fbb0b6ae2a49c507465801f31df77bc5ebf9d",
      "parents": [
        "b057efd4d226fcc3a92b0dc6d8ea8e8185ecb260"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 28 13:24:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 13:24:06 2008 -0700"
      },
      "message": "net: reduce structures when XFRM\u003dn\n\nifdef out\n* struct sk_buff::sp\t\t(pointer)\n* struct dst_entry::xfrm\t(pointer)\n* struct sock::sk_policy\t(2 pointers)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55d43808eb26e689dacb95b11f956a3b1a56a5f3",
      "tree": "952e6111369f95ab5c25e41c439823966590ecec",
      "parents": [
        "a712d3e859b78edc44d5664d867626d3022bd18e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 08 10:34:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 11:15:46 2008 -0700"
      },
      "message": "ipv6: added net argument to ICMP6MSGIN_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": "e41b5368e029e79d11acb5952bc73284e5026c62",
      "tree": "82d519911fb97171259260655e9b86a20fcfe378",
      "parents": [
        "a862f6a6dc89c57dd3a959a1636b59f0c27169c2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 08 10:33:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 11:14:13 2008 -0700"
      },
      "message": "ipv6: added net argument to ICMP6_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": "fdc0bde90a689b9145f2b6f271c03f4c99d09667",
      "tree": "f29db0a155cee7349f20862d0e1601a5696979df",
      "parents": [
        "f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Aug 23 04:43:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 23 04:43:33 2008 -0700"
      },
      "message": "icmp: icmp_sk() should not use smp_processor_id() in preemptible code\n\nPass namespace into icmp_xmit_lock, obtain socket inside and return\nit as a result for caller.\n\nThanks Alexey Dobryan for this report:\n\nSteps to reproduce:\n\n\tCONFIG_PREEMPT\u003dy\n\tCONFIG_DEBUG_PREEMPT\u003dy\n\ttracepath \u003csomething\u003e\n\nBUG: using smp_processor_id() in preemptible [00000000] code: tracepath/3205\ncaller is icmp_sk+0x15/0x30\nPid: 3205, comm: tracepath Not tainted 2.6.27-rc4 #1\n\nCall Trace:\n [\u003cffffffff8031af14\u003e] debug_smp_processor_id+0xe4/0xf0\n [\u003cffffffff80409405\u003e] icmp_sk+0x15/0x30\n [\u003cffffffff8040a17b\u003e] icmp_send+0x4b/0x3f0\n [\u003cffffffff8025a415\u003e] ? trace_hardirqs_on_caller+0xd5/0x160\n [\u003cffffffff8025a4ad\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff8023a475\u003e] ? local_bh_enable_ip+0x95/0x110\n [\u003cffffffff804285b9\u003e] ? _spin_unlock_bh+0x39/0x40\n [\u003cffffffff8025a26c\u003e] ? mark_held_locks+0x4c/0x90\n [\u003cffffffff8025a4ad\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff8025a415\u003e] ? trace_hardirqs_on_caller+0xd5/0x160\n [\u003cffffffff803e91b4\u003e] ip_fragment+0x8d4/0x900\n [\u003cffffffff803e7030\u003e] ? ip_finish_output2+0x0/0x290\n [\u003cffffffff803e91e0\u003e] ? ip_finish_output+0x0/0x60\n [\u003cffffffff803e6650\u003e] ? dst_output+0x0/0x10\n [\u003cffffffff803e922c\u003e] ip_finish_output+0x4c/0x60\n [\u003cffffffff803e92e3\u003e] ip_output+0xa3/0xf0\n [\u003cffffffff803e68d0\u003e] ip_local_out+0x20/0x30\n [\u003cffffffff803e753f\u003e] ip_push_pending_frames+0x27f/0x400\n [\u003cffffffff80406313\u003e] udp_push_pending_frames+0x233/0x3d0\n [\u003cffffffff804067d1\u003e] udp_sendmsg+0x321/0x6f0\n [\u003cffffffff8040d155\u003e] inet_sendmsg+0x45/0x80\n [\u003cffffffff803b967f\u003e] sock_sendmsg+0xdf/0x110\n [\u003cffffffff8024a100\u003e] ? autoremove_wake_function+0x0/0x40\n [\u003cffffffff80257ce5\u003e] ? validate_chain+0x415/0x1010\n [\u003cffffffff8027dc10\u003e] ? __do_fault+0x140/0x450\n [\u003cffffffff802597d0\u003e] ? __lock_acquire+0x260/0x590\n [\u003cffffffff803b9e55\u003e] ? sockfd_lookup_light+0x45/0x80\n [\u003cffffffff803ba50a\u003e] sys_sendto+0xea/0x120\n [\u003cffffffff80428e42\u003e] ? _spin_unlock_irqrestore+0x42/0x80\n [\u003cffffffff803134bc\u003e] ? __up_read+0x4c/0xb0\n [\u003cffffffff8024e0c6\u003e] ? up_read+0x26/0x30\n [\u003cffffffff8020b8bb\u003e] system_call_fastpath+0x16/0x1b\n\nicmp6_sk() is similar.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6dbf4bcac98bbc76ef425b3a2b4169f31199f6c7",
      "tree": "3ec9383233cdbebcd26a0ab1e7f666ff8cc03b5f",
      "parents": [
        "28f49d8fec19833672a6a813bfde0068fee50bc9"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 01 19:29:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 01 19:29:07 2008 -0700"
      },
      "message": "icmp: fix units for ratelimit\n\nConvert the sysctl values for icmp ratelimit to use milliseconds instead\nof jiffies which is based on kernel configured HZ.\nInternal kernel jiffies are not a proper unit for any userspace API.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\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": "df39e8ba56a788733d369068c7319e04b1da3cd5",
      "tree": "1e9be853bdb455e341cdbf957656f342cfa2eb9e",
      "parents": [
        "f5572855ec492334d8c3ec0e0e86c31865d5cf07",
        "159d83363b629c91d020734207c1bc788b96af5a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ehea/ehea_main.c\n\tdrivers/net/wireless/iwlwifi/Kconfig\n\tdrivers/net/wireless/rt2x00/rt61pci.c\n\tnet/ipv4/inet_timewait_sock.c\n\tnet/ipv6/raw.c\n\tnet/mac80211/ieee80211_sta.c\n"
    },
    {
      "commit": "1ed8516f09e510e4595bc900ad9266c15aacfdd2",
      "tree": "e41fa4151f3b13031291dae5b3ef5a83b3de23d8",
      "parents": [
        "5616bdd6dfeb4e36be499dbac245e4d3be90a138"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:31:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:31:03 2008 -0700"
      },
      "message": "[IPV6]: Simplify IPv6 control sockets creation.\n\nDo this by replacing sock_create_kern with inet_ctl_sock_create.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af2681828af5f2b42e12e8b16ba0cf113cf486c8",
      "tree": "ed25908930ea98782ec7a13fd985c9825317a8b2",
      "parents": [
        "9597362d354f8655ece324b01d0c640a0e99c077"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Apr 03 12:52:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 12:52:19 2008 -0700"
      },
      "message": "[ICMP]: Ensure that ICMP relookup maintains status quo\n\nThe ICMP relookup path is only meant to modify behaviour when\nappropriate IPsec policies are in place and marked as requiring\nrelookups.  It is certainly not meant to modify behaviour when\nIPsec policies don\u0027t exist at all.\n\nHowever, due to an oversight on the error paths existing behaviour\nmay in fact change should one of the relookup steps fail.\n\nThis patch corrects this by redirecting all errors on relookup\nfailures to the previous code path.  That is, if the initial\nxfrm_lookup let the packet pass, we will stand by that decision\nshould the relookup fail due to an error.\n\nThis should be safe from a security point-of-view because compliant\nsystems must install a default deny policy so the packet would\u0027nt\nhave passed in that case.\n\nMany thanks to Julian Anastasov for pointing out this error.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a",
      "tree": "4e1ca325dde22f1ac21c9da0be509e87e922e604",
      "parents": [
        "c0f39322c335412339dec16ebfd2a05ceba5ebcf",
        "802fb176d8c635ae42da31b80841c26e8c7338a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/s2io.c\n"
    },
    {
      "commit": "f32c5f2c3866bf4d932d2bc42216dafb90a50ab7",
      "tree": "fd2d7da5651b76027977dc35af353a45ca348a45",
      "parents": [
        "a22eb6faae4ec64d59cc206671eb0bfe46c5ffd2"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Apr 02 00:06:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 00:06:09 2008 -0700"
      },
      "message": "[IPV6]: Fix ICMP relookup error path dst leak\n\nWhen we encounter an error while looking up the dst the second\ntime we need to drop the first dst.  This patch is pretty much\nthe same as the one for IPv4.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_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": "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": "6b75d0908185bf853b188afa6f269426f6554c5b",
      "tree": "85f28296077f3d873bbda249dc0eafcc911164fd",
      "parents": [
        "4725474584d6aa2f07b3d47442dfbc4f6544f65e"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 10 06:00:30 2008 -0400"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 10:24:00 2008 +0900"
      },
      "message": "[IPV6]: Optimize hop-limit determination.\n\nLast part of hop-limit determination is always:\n    hoplimit \u003d dst_metric(dst, RTAX_HOPLIMIT);\n    if (hoplimit \u003c 0)\n        hoplimit \u003d ipv6_get_hoplimit(dst-\u003edev).\n\nLet\u0027s consolidate it as ip6_dst_hoplimit(dst).\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "9a43b709a230705ca40a6f854a334a02334a3c1c",
      "tree": "2dba0cbab9a90760cedae1802c0c6c5d6f87fe2b",
      "parents": [
        "da6bb5c0c5c22e8289aa555afadfb69487fafbc3"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Mar 05 10:49:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 10:49:18 2008 -0800"
      },
      "message": "[NETNS][IPV6] icmp6 - make icmpv6_socket per namespace\n\nThis patch make the changes necessary to support network namespaces in\nICMPv6.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4591db4f37618f37a9f1f25d291c3c7a43a15a21",
      "tree": "10694d610a78d8cc607fcb2998e4dc97856138f6",
      "parents": [
        "6fda73500581be531fd9bc232173332ec64f6435"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Mar 05 10:48:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 10:48:10 2008 -0800"
      },
      "message": "[NETNS][IPV6] route6 - add netns parameter to ip6_route_output\n\nAdd an netns parameter to ip6_route_output. That will allow to access\nto the right routing table for outgoing traffic.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95e41e93e18d8e1e272ce23d96bae4f17ce11d42",
      "tree": "c3b138bc03f3cb04396b3326b4fed13689b0366d",
      "parents": [
        "5e5f3f0f801321078c897a5de0b4b4304f234da0"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Dec 06 15:43:30 2007 -0800"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 15:18:24 2008 +0900"
      },
      "message": "[IPV6]: Make ndisc_flow_init() common for later use.\n\nFor later use, this patch is renaming ndisc_flow_init() to\nicmpv6_flow_init() and putting it in common place.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "5ee091050986796856cc6207d86b38b4ef6bd8f4",
      "tree": "f624046cf7e77451cd0faa89a4001509796a3353",
      "parents": [
        "662397fd7aaa10afdbdc55a0bfdb7e9701454c27"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Feb 28 00:24:28 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 15:18:23 2008 +0900"
      },
      "message": "[IPV6] SYSCTL: complete initialization for sysctl table in subsystem code.\n\nMove initialization bits for subsystem sysctl tables to\nappropriate functions.\n - route\n - icmp\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "8ed7edce82ca0d8d3adba8c08cd42337af6c758c",
      "tree": "35eaab7deb4a2060751d73972f8455c2212e62b6",
      "parents": [
        "7cd04fa7e35100877592f6be4efdccac0fed62b2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Mon Mar 03 12:02:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 03 12:02:54 2008 -0800"
      },
      "message": "ipv6: fix inet6_init/icmpv6_cleanup sections mismatch\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98c6d1b261e74750e6c56ede26dc295201c4a8b2",
      "tree": "e37818f4023b542a3c702d3fca11fc73f994737a",
      "parents": [
        "4a6ad7a141cbee2cf074e6cf8dc527b231b69ece"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:21:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:21:22 2008 -0800"
      },
      "message": "[NETNS]: Make icmpv6_sk per namespace.\n\nAll preparations are done. Now just add a hook to perform an\ninitialization on namespace startup and replace icmpv6_sk macro with\nproper inline call.  Actual namespace the packet belongs too will be\npassed later along with the one for the routing.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c8cafd65e1448b1d55cad3fb1e42ad42607e5be",
      "tree": "42b7de16c3724a4f9e6d401313ef2c60da05aa71",
      "parents": [
        "edf0208702007ec1f6a36756fdd005f771a4cf17"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:19:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:19:22 2008 -0800"
      },
      "message": "[NETNS]: icmp(v6)_sk should not pin a namespace.\n\nSo, change icmp(v6)_sk creation/disposal to the scheme used in the\nnetlink for rtnl, i.e. create a socket in the context of the init_net\nand assign the namespace without getting a referrence later.\n\nAlso use sk_release_kernel instead of sock_release to properly destroy\nsuch sockets.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79c911595390c8fdc8d8a487ac1951d854b1cd09",
      "tree": "9688e154b321f6c976b2d43abbfd4bb929b18e1a",
      "parents": [
        "405666db84b984b68fc75794069f424c02e5796c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:17:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:17:11 2008 -0800"
      },
      "message": "[ICMP]: Allocate data for __icmp(v6)_sk dynamically.\n\nOwn __icmp(v6)_sk should be present in each namespace. So, it should be\nallocated dynamically. Though, alloc_percpu does not fit the case as it\nimplies additional dereferrence for no bonus.\n\nAllocate data for pointers just like __percpu_alloc_mask does and place\npointers to struct sock into this array.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "405666db84b984b68fc75794069f424c02e5796c",
      "tree": "d764573e97686f02c2a47fc7da96aefe97cbc458",
      "parents": [
        "b7e729c4b4778aac4dbbec9dc070acde93071f4d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:16:46 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:16:46 2008 -0800"
      },
      "message": "[ICMP]: Pass proper ICMP socket into icmp(v6)_xmit_(un)lock.\n\nWe have to get socket lock inside icmp(v6)_xmit_lock/unlock. The socket\nis get from global variable now. When this code became namespaces, one\nshould pass a namespace and get socket from it.\n\nThough, above is useless. Socket is available in the caller, just pass\nit inside. This saves a bit of code now and saves more later.\n\nadd/remove: 0/0 grow/shrink: 1/3 up/down: 1/-169 (-168)\nfunction                                     old     new   delta\nicmp_rcv                                     718     719      +1\nicmpv6_rcv                                  2343    2303     -40\nicmp_send                                   1566    1518     -48\nicmp_reply                                   549     468     -81\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7e729c4b4778aac4dbbec9dc070acde93071f4d",
      "tree": "31c84099f0821e0929407ba2a2e704fd933e1ec1",
      "parents": [
        "1e3cf6834e7db1eac94314338c9e30c2103ac409"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:16:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:16:08 2008 -0800"
      },
      "message": "[ICMP]: Store sock rather than socket for ICMP flow control.\n\nBasically, there is no difference, what to store: socket or sock. Though,\nsock looks better as there will be 1 less dereferrence on the fast path.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b0f976f27f00a81cf47643d90854659626795b4",
      "tree": "3226ff8a03faf6c8137eeb1313248dfd2a395f21",
      "parents": [
        "4c563f7669c10a12354b72b518c2287ffc6ebfb3"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:13:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:13:15 2008 -0800"
      },
      "message": "[INET]: Remove struct net_proto_family* from _init calls.\n\nstruct net_proto_family* is not used in icmp[v6]_init, ndisc_init,\nigmp_init and tcp_v4_init. Remove it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8cf229437fd826c32a44546899412b1eb3e1db6f",
      "tree": "3afef8d1a3839b1ede06c738a0847f06bb3da3dd",
      "parents": [
        "5d8c0aa9433b09387d9021358baef7939f9b32c4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Feb 05 03:15:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:15:50 2008 -0800"
      },
      "message": "[ICMP]: Restore pskb_pull calls in receive function\n\nSomewhere along the development of my ICMP relookup patch the header\nlength check went AWOL on the non-IPsec path.  This patch restores the\ncheck.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfeade087005278fc8cafe230b7658a4f40c5acb",
      "tree": "d9bbacab07552cc6c33f9f022a34af2391d9ecc1",
      "parents": [
        "3c40090a0f5b69deecc5ca615f994957f949333d"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Thu Jan 10 22:43:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:44 2008 -0800"
      },
      "message": "[NETNS][IPV6]: inet6_addr - check ipv6 address per namespace\n\nWhen a new address is added, we must check if the new address does not\nalready exists.  This patch makes this check to be aware of a network\nnamespace, so the check will look if the address already exists for\nthe specified network namespace. While the addresses are browsed, the\naddresses which do not belong to the namespace are discarded.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41a76906b3225997036efd88cbaae69d60b1e947",
      "tree": "c8970051ba81d3ecc50b616ceb289d7d532a97bc",
      "parents": [
        "4990509f19e8f1e000a83a88fc46328f73b8a88a"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Thu Jan 10 03:02:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:20 2008 -0800"
      },
      "message": "[NETNS][IPV6]: Make icmpv6_time sysctl per namespace.\n\nThis patch moves the icmpv6_time sysctl to the network namespace\nstructure.\n\nBecause the ipv6 protocol is not yet per namespace, the variable is\naccessed relatively to 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": "760f2d0186225f06d46e07232d65219c5055cad3",
      "tree": "56096a88e003753434c135d22ffab8f4f9904bc6",
      "parents": [
        "89918fc270bb77cb1a0703f0ea566a692b32e324"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Thu Jan 10 02:53:43 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:17 2008 -0800"
      },
      "message": "[NETNS][IPV6]: Make multiple instance of sysctl tables.\n\nEach network namespace wants its own set of sysctl value, eg. we\nshould not be able from a namespace to set a sysctl value for another\nnamespace , especially for the initial network namespace.\n\nThis patch duplicates the sysctl table when we register a new network\nnamespace for ipv6. The duplicated table are postfixed with the\n\"template\" word to notify the developper the table is cloned.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aebcf82c1fe9231be5cb4f9c1362d5db39e7d7b2",
      "tree": "f164bead26b172ee82d6eaa81a0148d980985bce",
      "parents": [
        "bb72845e699d3c84e5f861b51db686107a51dea5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 18:54:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:43 2008 -0800"
      },
      "message": "[IPSEC]: Do not let packets pass when ICMP flag is off\n\nThis fixes a logical error in ICMP policy checks which lets\npackets through if the state ICMP flag is off.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7233b9f33e72ca477034ff5cf901c89efba3a5bc",
      "tree": "91f3ca124a86cd0be9ac068a98e895923e4c03f8",
      "parents": [
        "2ba582b782071c038b312ea330d3090a39f3c66a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 18:47:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:41 2008 -0800"
      },
      "message": "[IPSEC]: Fix reversed ICMP6 policy check\n\nThe policy check I added for ICMP on IPv6 is reversed.  This\npatch fixes that.\n\nIt also adds an skb-\u003esp check so that unprotected packets that\nfail the policy check do not crash the machine.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b7817f3a959ed99d7443afc12f78a7e1fcc2063",
      "tree": "7e315dfbf5c77e67f6e7ad56f14eaddca621212b",
      "parents": [
        "d5422efe680fc55010c6ddca2370ca9548a96355"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 10:44:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:23 2008 -0800"
      },
      "message": "[IPSEC]: Add ICMP host relookup support\n\nRFC 4301 requires us to relookup ICMP traffic that does not match any\npolicies using the reverse of its payload.  This patch implements this\nfor ICMP traffic that originates from or terminates on localhost.\n\nThis is activated on outbound with the new policy flag XFRM_POLICY_ICMP,\nand on inbound by the new state flag XFRM_STATE_ICMP.\n\nOn inbound the policy check is now performed by the ICMP protocol so\nthat it can repeat the policy check where necessary.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69d6da0b0faa70249a243a14e6066c013e9294e5",
      "tree": "f3678fc834f0b7ba1fc46ef2a4a240e7a937d747",
      "parents": [
        "7bc54c90307b4bc3d7fb2ffd6ad8fbda0671a45e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 19 22:35:57 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:29 2008 -0800"
      },
      "message": "[IPv6] RAW: Compact the API for the kernel\n\nSame as in the previous patch for ipv4, compact the\nAPI and hide hash table and rwlock inside the raw.c\nfile.\n\nPlus fix some \"bad\" places from checkpatch.pl point\nof view (assignments inside if()).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c964ff4ffbef4586ec63dbeb008563078114e6dc",
      "tree": "b935d8c699f998e642a4e9e20b2e816cc3cd43bb",
      "parents": [
        "68365458a4252fa993b91a00f7a0b18fed399f0d"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jan 21 03:04:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 21 03:05:20 2008 -0800"
      },
      "message": "[IPV6]: ICMP6_MIB_OUTMSGS increment duplicated\n\nicmpv6_send() calls ip6_push_pending_frames() indirectly.\nBoth ip6_push_pending_frames() and icmpv6_send() increment\ncounter ICMP6_MIB_OUTMSGS.\n\nThis patch remove the increment from icmpv6_send.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.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": "14878f75abd5bf1d38becb405801cd491ee215dc",
      "tree": "872d70add65e1e58ccbbcc4534c7e826bd3fa9ed",
      "parents": [
        "8b14a536701b50559a0d69d5d593323f550db4e9"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Sun Sep 16 16:52:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:27 2007 -0700"
      },
      "message": "[IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2]\n\nBackground: RFC 4293 deprecates existing individual, named ICMP\ntype counters to be replaced with the ICMPMsgStatsTable. This table\nincludes entries for both IPv4 and IPv6, and requires counting of all\nICMP types, whether or not the machine implements the type.\n\nThese patches \"remove\" (but not really) the existing counters, and\nreplace them with the ICMPMsgStats tables for v4 and v6.\nIt includes the named counters in the /proc places they were, but gets the\nvalues for them from the new tables. It also counts packets generated\nfrom raw socket output (e.g., OutEchoes, MLD queries, RA\u0027s from\nradvd, etc).\n\nChanges:\n1) create icmpmsg_statistics mib\n2) create icmpv6msg_statistics mib\n3) modify existing counters to use these\n4) modify /proc/net/snmp to add \"IcmpMsg\" with all ICMP types\n        listed by number for easy SNMP parsing\n5) modify /proc/net/snmp printing for \"Icmp\" to get the named data\n        from new counters.\n[new to 2nd revision]\n6) support per-interface ICMP stats\n7) use common macro for per-device stat macros\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f13ec93fba60d339dc1663eb47b2fb801225d2d2",
      "tree": "1f6f12311f307d46b33a2a2afae43853f28fb5ad",
      "parents": [
        "d09f51b6997f3f443c5741bc696651e479576715"
      ],
      "author": {
        "name": "Dmitry Butskoy",
        "email": "dmitry@butskoy.name",
        "time": "Sat Jul 14 23:53:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 23:53:08 2007 -0700"
      },
      "message": "[IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets\n\nFrom: Dmitry Butskoy \u003cdmitry@butskoy.name\u003e\n\nTaken from http://bugzilla.kernel.org/show_bug.cgi?id\u003d8747\n\nProblem Description:\n\nIt is related to the possibility to obtain MSG_ERRQUEUE messages from the udp\nand raw sockets, both connected and unconnected.\n\nThere is a little typo in net/ipv6/icmp.c code, which prevents such messages\nto be delivered to the errqueue of the correspond raw socket, when the socket\nis CONNECTED.  The typo is due to swap of local/remote addresses.\n\nConsider __raw_v6_lookup() function from net/ipv6/raw.c. When a raw socket is\nlooked up usual way, it is something like:\n\nsk \u003d __raw_v6_lookup(sk, nexthdr, daddr, saddr, IP6CB(skb)-\u003eiif);\n\nwhere \"daddr\" is a destination address of the incoming packet (IOW our local\naddress), \"saddr\" is a source address of the incoming packet (the remote end).\n\nBut when the raw socket is looked up for some icmp error report, in\nnet/ipv6/icmp.c:icmpv6_notify() , daddr/saddr are obtained from the echoed\nfragment of the \"bad\" packet, i.e.  \"daddr\" is the original destination\naddress of that packet, \"saddr\" is our local address.  Hence, for\nicmpv6_notify() must use \"saddr, daddr\" in its arguments, not \"daddr, saddr\"\n...\n\nSteps to reproduce:\n\nCreate some raw socket, connect it to an address, and cause some error\nsituation: f.e. set ttl\u003d1 where the remote address is more than 1 hop to reach.\nSet IPV6_RECVERR .\nThen send something and wait for the error (f.e. poll() with POLLERR|POLLIN).\nYou should receive \"time exceeded\" icmp message (because of \"ttl\u003d1\"), but the\nsocket do not receive it.\n\nIf you do not connect your raw socket, you will receive MSG_ERRQUEUE\nsuccessfully.  (The reason is that for unconnected socket there are no actual\nchecks for local/remote addresses).\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59fbb3a61e02deaeaa4fb50792217921f3002d64",
      "tree": "7455815c2566ba9b898cd6ea2c710159bbeb624f",
      "parents": [
        "136ebf08b46f839e2dc9db34322b654e5d9b9936"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Tue Jun 26 23:56:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:42 2007 -0700"
      },
      "message": "[IPV6] MIP6: Loadable module support for MIPv6.\n\nThis patch makes MIPv6 loadable module named \"mip6\".\n\nHere is a modprobe.conf(5) example to load it automatically\nwhen user application uses XFRM state for MIPv6:\n\nalias xfrm-type-10-43 mip6\nalias xfrm-type-10-60 mip6\n\nSome MIPv6 feature is not included by this modular, however,\nit should not be affected to other features like either IPsec\nor IPv6 with and without the patch.\nWe may discuss XFRM, MH (RAW socket) and ancillary data/sockopt\nseparately for future work.\n\nLoadable features:\n* MH receiving check (to send ICMP error back)\n* RO header parsing and building (i.e. RH2 and HAO in DSTOPTS)\n* XFRM policy/state database handling for RO\n\nThese are NOT covered as loadable:\n* Home Address flags and its rule on source address selection\n* XFRM sub policy (depends on its own kernel option)\n* XFRM functions to receive RO as IPv6 extension header\n* MH sending/receiving through raw socket if user application\n  opens it (since raw socket allows to do so)\n* RH2 sending as ancillary data\n* RH2 operation with setsockopt(2)\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ff50b7997fe06cd5d276b229967bb52d6b3b6c1",
      "tree": "4f0f57123a945c3e6c39759456b6187bb78c4b1f",
      "parents": [
        "c462238d6a6d8ee855bda10f9fff442971540ed2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Apr 20 17:09:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:24 2007 -0700"
      },
      "message": "[NET]: cleanup extra semicolons\n\nSpring cleaning time...\n\nThere seems to be a lot of places in the network code that have\nextra bogus semicolons after conditionals.  Most commonly is a\nbogus semicolon after: switch() { }\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc70ab261c9f997589546100ddec5da6bfd89c4e",
      "tree": "0be6a4f0dc81131747f3d3726dba77d922c6bee9",
      "parents": [
        "2c0fd387b00a6758550b5ca1aae4408374483fe7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:03:22 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:20 2007 -0700"
      },
      "message": "[ICMP6]: Introduce icmp6_hdr()\n\nFor consistency with all the other skb-\u003eh.raw accessors.\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": "bbe735e4247dba32568a305553b010081c8dea99",
      "tree": "95d96619c85785a47ccee48965b68d99cf946854",
      "parents": [
        "e7dd65dafda5737a983c04d652a69ab8da78ee3f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 22:16:10 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:58 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_offset()\n\nFor the quite common \u0027skb-\u003enh.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": "7159039a128fa0a73ca7b532f6e1d30d9885277f",
      "tree": "0d02459f9716d7fe5268c1bcbd9b1b9e531b882b",
      "parents": [
        "b558ff799977a4eda8b3823d1cf6c1c33becb671"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Feb 22 22:05:40 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:36 2007 -0700"
      },
      "message": "[IPV6]: Decentralize EXPORT_SYMBOLs.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "5f92a7388a29594d6c365b23a48d4bb8299a3ea7",
      "tree": "569e888e3b87dd77fa3eafa36dac96f2e1da00c5",
      "parents": [
        "5084205faf45384fff25c4cf77dd5c96279283ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:36:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:34 2006 -0800"
      },
      "message": "[NET]: Annotate callers of the reset of checksum.h stuff.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "868c86bcb5bdea7ed8d45979b17bb919af9254db",
      "tree": "ebc232092d6a8a75261a9e3f698206cc09740fdf",
      "parents": [
        "2bda2853150e20ca2a44627d00b5f85af0b24a42"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:35:48 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:31 2006 -0800"
      },
      "message": "[NET]: annotate csum_ipv6_magic() callers in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3a1be9cba86c4385a5fe46673bbb4730551f454",
      "tree": "24bcb9244dcb894c333c33c0f1dd88e1ddcc2267",
      "parents": [
        "f465e489c457821751f6253abaaf28c10f9d8895"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Nov 10 14:54:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:13 2006 -0800"
      },
      "message": "[IPv6]: Only modify checksum for UDP\n\nOnly change upper-layer checksum from 0 to 0xFFFF for UDP (as RFC 768\nstates), not for others as RFC 4443 doesn\u0027t require it.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\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": "04ce69093f91547d3a7c4fc815d2868195591340",
      "tree": "69bea18b5d1b8c2999f13f8e0372491c9f9238e6",
      "parents": [
        "8c689a6eae2d83970e4f34753d513e96fb97a025"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 08 00:21:01 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:12 2006 -0800"
      },
      "message": "[IPV6]: \u0027info\u0027 argument of ipv6 -\u003eerr_handler() is net-endian\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "793832361fe7e9c3fcae2edd1d293c583a0a095c",
      "tree": "43ee73c5f5cd329089c3fbcf71594036974d6be3",
      "parents": [
        "8dd7368dd97def967bbb3aec67b882e8dfd1a528"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Wed Aug 23 19:27:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:06:55 2006 -0700"
      },
      "message": "[IPV6] MIP6: Revert address to send ICMPv6 error.\n\nIPv6 source address is replaced in receiving packet\nwith home address option carried by destination options header.\nTo send ICMPv6 error back, original address which is received one on wire\nshould be used. This function checks such header is included\nand reverts them.\nBased on MIPL2 kernel patch.\n\nThis patch was also written by: Ville Nuorvala \u003cvnuorval@tcs.hut.fi\u003e\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "beb8d13bed80f8388f1a9a107d07ddd342e627e8",
      "tree": "19d5763b9b3b8ff3969997565e5ec0edd6e4bd33",
      "parents": [
        "4e2ba18eae7f370c7c3ed96eaca747cc9b39f917"
      ],
      "author": {
        "name": "Venkat Yekkirala",
        "email": "vyekkirala@TrustedCS.com",
        "time": "Fri Aug 04 23:12:42 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:27 2006 -0700"
      },
      "message": "[MLSXFRM]: Add flow labeling\n\nThis labels the flows that could utilize IPSec xfrms at the points the\nflows are defined so that IPSec policy and SAs at the right label can\nbe used.\n\nThe following protos are currently not handled, but they should\ncontinue to be able to use single-labeled IPSec like they currently\ndo.\n\nipmr\nip_gre\nipip\nigmp\nsit\nsctp\nip6_tunnel (IPv6 over IPv6 tunnel device)\ndecnet\n\nSigned-off-by: Venkat Yekkirala \u003cvyekkirala@TrustedCS.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e012d51cbc41c5e603d7850c82acb0dad9e450dd",
      "tree": "90dbb35873b853725a4de13cfe16990430a5d6aa",
      "parents": [
        "b552216ff1340a056aa0e12da68203902ae81d2c"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Sep 13 20:01:28 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Sep 17 23:21:07 2006 -0700"
      },
      "message": "[IPV6]: Fix tclass setting for raw sockets.\n\nnp-\u003ecork.tclass is used only in cork\u0027ed context.\nOtherwise, np-\u003etclass should be used.\n\nBug#7096 reported by Remi Denis-Courmont \u003crdenis@simphalempin.com\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "640c41c77a96dbbfb74d40ae86ab75b759afb911",
      "tree": "58c7ae0097b2d5a2b724ffb36edcd3a3ab18ba05",
      "parents": [
        "deb47c66e12a645f7eec9b1c153c05ed47989439"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 15 00:06:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 17 16:29:48 2006 -0700"
      },
      "message": "[IPV6] lockdep: annotate __icmpv6_socket\n\nSplit off __icmpv6_socket\u0027s sk-\u003esk_dst_lock class, because it gets\nused from softirqs, which is safe for __icmpv6_sockets (because they\nnever get directly used via userspace syscalls), but unsafe for normal\nsockets.\n\nHas no effect on non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f912042256c12b0927438122594f5379b364f5d",
      "tree": "c11949814057b356d5896e7f025ec15132dbff78",
      "parents": [
        "dd7ba3b8b15f9c65366986d723ae83254d8d78b7"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Apr 10 22:52:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:31 2006 -0700"
      },
      "message": "[PATCH] for_each_possible_cpu: network codes\n\nfor_each_cpu() actually iterates across all possible CPUs.  We\u0027ve had mistakes\nin the past where people were using for_each_cpu() where they should have been\niterating across only online or present CPUs.  This is inefficient and\npossibly buggy.\n\nWe\u0027re renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the\nfuture.\n\nThis patch replaces for_each_cpu with for_each_possible_cpu under /net\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "763ecff1879b3877f57f20fc9e79599aef59359f",
      "tree": "ac347004ebbc1778ffb3dae786d13ada023ecb98",
      "parents": [
        "08857fa745ab6ce46601960d2774490e1cef2cff"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Feb 15 15:24:15 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 15:24:15 2006 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: attach conntrack to locally generated ICMPv6 error\n\nLocally generated ICMPv6 errors should be associated with the conntrack\nof the original packet. Since the conntrack entry may not be in the hash\ntables (for the first packet), it must be manually attached.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46b86a2da0fd14bd49765330df63a62279833acb",
      "tree": "069b4741a970db9b03772a870b4d63398b1f56e0",
      "parents": [
        "23b0ca5bf52cef0ab0f0fe247cb91cbef836e7eb"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Jan 13 14:29:07 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 13 14:29:07 2006 -0800"
      },
      "message": "[NET]: Use NIP6_FMT in kernel.h\n\nThere are errors and inconsistency in the display of NIP6 strings.\n\tie: net/ipv6/ip6_flowlabel.c\n\nThere are errors and inconsistency in the display of NIPQUAD strings too.\n\tie: net/netfilter/nf_conntrack_ftp.c\n\nThis patch:\n\tadds NIP6_FMT to kernel.h\n\tchanges all code to use NIP6_FMT\n\tfixes net/ipv6/ip6_flowlabel.c\n\tadds NIPQUAD_FMT to kernel.h\n\tfixes net/netfilter/nf_conntrack_ftp.c\n\tchanges a few uses of \"%u.%u.%u.%u\" to NIPQUAD_FMT for symmetry to NIP6_FMT\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "951dbc8ac714b04c36296b8b5c36c8e036ce433f",
      "tree": "7f3599987f6b6db765f66c65d5c1cefe1457ea6a",
      "parents": [
        "16a6677fdf1d1194f688f8291b06fbaff248c353"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:02:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:29 2006 -0800"
      },
      "message": "[IPV6]: Move nextheader offset to the IP6CB\n\nMove nextheader offset to the IP6CB to make it possible to pass a\npacket to ip6_input_finish multiple times and have it skip already\nparsed headers. As a nice side effect this gets rid of the manual\nhopopts skipping in ip6_input_finish.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8de3351e6e0a1081fbf6864ae37839e327699a08",
      "tree": "83f2a001101dee12de37542f554c255cd5dbf18e",
      "parents": [
        "58c4fb86eabcbc385d954843a635b7f4327be6b0"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Dec 21 22:57:06 2005 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Dec 21 22:57:06 2005 +0900"
      },
      "message": "[IPV6]: Try not to send icmp to anycast address.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    }
  ],
  "next": "9b5b5cff9a6655dbb6d2e2be365bb95eec3950eb"
}
