)]}'
{
  "log": [
    {
      "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": "6f0bcf152582e7403155627a38e07bf3ef7f3cf5",
      "tree": "0dafb9ea61fa01bb8850ee2bcce97b98c23a7c8f",
      "parents": [
        "3cc77ec74e1583b50b8405114cdbd6b8ebb8c474"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:33:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:45 2010 -0700"
      },
      "message": "tunnels: add _rcu annotations\n\n(struct ip6_tnl)-\u003enext is rcu protected :\n(struct ip_tunnel)-\u003enext is rcu protected :\n(struct xfrm6_tunnel)-\u003enext is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49d61e2390c92bd226fc395a6165eb5a65ae4de6",
      "tree": "d5c6e07e51999aca2a461c7087b7a01461c66ba8",
      "parents": [
        "f39234d60617d37818b30991e6794643ce220296"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 09 05:33:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 15:02:39 2010 -0700"
      },
      "message": "tunnels: missing rcu_assign_pointer()\n\nxfrm4_tunnel_register() \u0026 xfrm6_tunnel_register() should\nuse rcu_assign_pointer() to make sure previous writes\n(to handler-\u003enext) are committed to memory before chain\ninsertion.\n\nderegister functions dont need a particular barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "875168a9330d3aa6481ce62ce8fa77c7be0c75fb",
      "tree": "137a2d264cf960c8f6cc1a8961704cc1062014e7",
      "parents": [
        "064270132602c6e11482439e0e257f208cae79c0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 30 11:07:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 10:57:53 2010 -0700"
      },
      "message": "net: tunnels should use rcu_dereference\n\ntunnel4_handlers, tunnel64_handlers, tunnel6_handlers and\ntunnel46_handlers are protected by RCU, but we dont use appropriate rcu\nprimitives to scan them. rcu_lock() is already held by caller.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ff2cfa55fb35bb5ea4490fbc82bb3c6771c121b",
      "tree": "4f67088e323cd49b6748e15fba8951eabb80c308",
      "parents": [
        "6dcd814bd08bc7989f7f3eac9bbe8b20aec0182a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 30 10:27:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:50:46 2010 -0700"
      },
      "message": "ipv6: struct xfrm6_tunnel in read_mostly section\n\ntunnel6_handlers chain being scanned for each incoming packet,\nmake sure it doesnt share an often dirtied cache line.\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": "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": "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": "82836372311a5cbf9cc5f4f47f9b56cb9edfe90d",
      "tree": "214a64dbce626d2a95893d1cd75d8ab27b6a8601",
      "parents": [
        "24ef0da7b864435f221f668bc8a324160d063e78"
      ],
      "author": {
        "name": "Colin",
        "email": "colins@sjtu.edu.cn",
        "time": "Tue May 27 00:04:43 2008 +0800"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 05 04:02:32 2008 +0900"
      },
      "message": "[IPV6] TUNNEL6: Fix incoming packet length check for inter-protocol tunnel.\n\nI discover a strange behavior in [ipv4 in ipv6] tunnel. When IPv6 tunnel\npayload is less than 40(0x28), packet can be sent to network, received in\nphysical interface, but not seen in IP tunnel interface. No counter increase\nin tunnel interface.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\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": "73d605d1abbd70ef67b7660cf2ff177259960756",
      "tree": "3b183bc597044785eef7cc8efefb41fbac097bf5",
      "parents": [
        "c73cb5a2d607b5b95a06a54d8291ddb659b348b6"
      ],
      "author": {
        "name": "Kazunori MIYAZAWA",
        "email": "miyazawa@linux-ipv6.org",
        "time": "Tue Feb 13 12:55:55 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 13 12:55:55 2007 -0800"
      },
      "message": "[IPSEC]: changing API of xfrm6_tunnel_register\n\nThis patch changes xfrm6_tunnel register and deregister\ninterface to prepare for solving the conflict of device\ntunnels with inter address family IPsec tunnel.\nThere is no device which conflicts with IPv4 over IPv6\nIPsec tunnel.\n\nSigned-off-by: Kazunori MIYAZAWA \u003cmiyazawa@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "50fba2aa7cefa6b0e1768cb350c9e69042320c03",
      "tree": "d9d229be1cc489759994e3860e3d2c60e6e6239f",
      "parents": [
        "2e2f7aefa8a8ba4adb6ecee8cbb43fbe9ca4cc89"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 04 13:50:45 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:25:25 2006 -0700"
      },
      "message": "[INET]: Move no-tunnel ICMP error to tunnel4/tunnel6\n\nThis patch moves the sending of ICMP messages when there are no IPv4/IPv6\ntunnels present to tunnel4/tunnel6 respectively.  Please note that for now\nif xfrm4_tunnel/xfrm6_tunnel is loaded then no ICMP messages will ever be\nsent.  This is similar to how we handle AH/ESP/IPCOMP.\n\nThis move fixes the bug where we always send an ICMP message when there is\nno ip6_tunnel device present for a given packet even if it is later handled\nby IPsec.  It also causes ICMP messages to be sent when no IPIP tunnel is\npresent.\n\nI\u0027ve decided to use the \"port unreachable\" ICMP message over the current\nvalue of \"address unreachable\" (and \"protocol unreachable\" by GRE) because\nit is not ambiguous unlike the other ones which can be triggered by other\nconditions.  There seems to be no standard specifying what value must be\nused so this change should be OK.  In fact we should change GRE to use\nthis value as well.\n\nIncidentally, this patch also fixes a fairly serious bug in xfrm6_tunnel\nwhere we don\u0027t check whether the embedded IPv6 header is present before\ndereferencing it for the inside source address.\n\nThis patch is inspired by a previous patch by Hugo Santos \u003chsantos@av.it.pt\u003e.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2acc3479cbccd5cfbca6c787be713ef1de12ec6",
      "tree": "aa348e19e15027db9abdd2da175a0c9055047858",
      "parents": [
        "f0088a50e7c49d1ba285c88fe06345f223652fd3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 28 01:12:13 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 28 17:02:46 2006 -0800"
      },
      "message": "[INET]: Introduce tunnel4/tunnel6\n\nBasically this patch moves the generic tunnel protocol stuff out of\nxfrm4_tunnel/xfrm6_tunnel and moves it into the new files of tunnel4.c\nand tunnel6 respectively.\n\nThe reason for this is that the problem that Hugo uncovered is only\nthe tip of the iceberg.  The real problem is that when we removed the\ndependency of ipip on xfrm4_tunnel we didn\u0027t really consider the module\ncase at all.\n\nFor instance, as it is it\u0027s possible to build both ipip and xfrm4_tunnel\nas modules and if the latter is loaded then ipip simply won\u0027t load.\n\nAfter considering the alternatives I\u0027ve decided that the best way out of\nthis is to restore the dependency of ipip on the non-xfrm-specific part\nof xfrm4_tunnel.  This is acceptable IMHO because the intention of the\nremoval was really to be able to use ipip without the xfrm subsystem.\nThis is still preserved by this patch.\n\nSo now both ipip/xfrm4_tunnel depend on the new tunnel4.c which handles\nthe arbitration between the two.  The order of processing is determined\nby a simple integer which ensures that ipip gets processed before\nxfrm4_tunnel.\n\nThe situation for ICMP handling is a little bit more complicated since\nwe may not have enough information to determine who it\u0027s for.  It\u0027s not\na big deal at the moment since the xfrm ICMP handlers are basically\nno-ops.  In future we can deal with this when we look at ICMP caching\nin general.\n\nThe user-visible change to this is the removal of the TUNNEL Kconfig\nprompts.  This makes sense because it can only be used through IPCOMP\nas it stands.\n\nThe addition of the new modules shouldn\u0027t introduce any problems since\nmodule dependency will cause them to be loaded.\n\nOh and I also turned some unnecessary pskb\u0027s in IPv6 related to this\npatch to skb\u0027s.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
