)]}'
{
  "log": [
    {
      "commit": "7d720c3e4f0c4fc152a6bf17e24244a3c85412d2",
      "tree": "36e037187ce79acb211702bea22e99c625787757",
      "parents": [
        "2bb4646fce8d09916b351d1a62f98db7cec6fc41"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 16 15:20:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 23:05:38 2010 -0800"
      },
      "message": "percpu: add __percpu sparse annotations to net\n\nAdd __percpu sparse annotations to net.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nThe macro and type tricks around snmp stats make things a bit\ninteresting.  DEFINE/DECLARE_SNMP_STAT() macros mark the target field\nas __percpu and SNMP_UPD_PO_STATS() macro is updated accordingly.  All\nsnmp_mib_*() users which used to cast the argument to (void **) are\nupdated to cast it to (void __percpu **).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5ee155136b4a8f4ab0e4c9c064b661da475e298",
      "tree": "10c113756ff0dcc860735d96ed141701bffa3476",
      "parents": [
        "5a5b6f6f62ac684a5856121d8cffd3c3253dc890"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:45:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:50 2009 -0800"
      },
      "message": "net: NETDEV_UNREGISTER_PERNET -\u003e NETDEV_UNREGISTER_BATCH\n\nThe motivation for an additional notifier in batched netdevice\nnotification (rt_do_flush) only needs to be called once per batch not\nonce per namespace.\n\nFor further batching improvements I need a guarantee that the\nnetdevices are unregistered in order allowing me to unregister an all\nof the network devices in a network namespace at the same time with\nthe guarantee that the loopback device is really and truly\nunregistered last.\n\nAdditionally it appears that we moved the route cache flush after\nthe final synchronize_net, which seems wrong and there was no\nexplanation.  So I have restored the original location of the final\nsynchronize_net.\n\nCc: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd2c3ef761fbc5e6c27fa7d40b30cda06bfcd7d8",
      "tree": "25922196160e9d5be8aa2a473ce981756926390f",
      "parents": [
        "4b7673a04a16f1d8faf1e367ae28a6ee1671843d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 03 03:26:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 05:06:25 2009 -0800"
      },
      "message": "net: cleanup include/net\n\nThis cleanup patch puts struct/union/enum opening braces,\nin first line to ease grep games.\n\nstruct something\n{\n\nbecomes :\n\nstruct something {\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a",
      "tree": "3e368d9a78f87eb9dd7ff9e57f4aab3f4a96e3b1",
      "parents": [
        "dfbf97f3ac980b69dfbc41c83a208211a38443e8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:14:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:02 2009 -0700"
      },
      "message": "net: skb-\u003ertable accessor\n\nDefine skb_rtable(const struct sk_buff *skb) accessor to get rtable from skb\n\nDelete skb-\u003ertable field\n\nSetting rtable is not allowed, just set dst instead as rtable is an alias.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79876874ce20d37ecdc7f481ebf142466999152f",
      "tree": "39c23290ceff007d587d4e3b238290570fa4510e",
      "parents": [
        "1668e010cbe1a7567c81d4c02d31dde9859e9da1"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:35:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:35:39 2008 -0700"
      },
      "message": "ipv4: Conditionally enable transparent flow flag when connecting\n\nSet FLOWI_FLAG_ANYSRC in flowi-\u003eflags if the socket has the\ntransparent socket option set. This way we selectively enable certain\nconnections with non-local source addresses to be routed.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1668e010cbe1a7567c81d4c02d31dde9859e9da1",
      "tree": "f3505d22a93ed9a4b6140a7f98a9d4cc2c1f66e9",
      "parents": [
        "b9fb15067ce93497bef852c05e406d7a96212a9a"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:33:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:33:10 2008 -0700"
      },
      "message": "ipv4: Make inet_sock.h independent of route.h\n\ninet_iif() in inet_sock.h requires route.h. Since users of inet_iif()\nusually require other route.h functionality anyway this patch moves\ninet_iif() to route.h.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeb61f719c00c626115852bbc91189dc3011a844",
      "tree": "b52cddf222ee55082c0aeee5627049aa0d12afa4",
      "parents": [
        "bfbcf034798b2ca45338cee5049b5694b7ddc865"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jul 27 08:59:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:45:34 2008 -0700"
      },
      "message": "missing bits of net-namespace / sysctl\n\nPiss-poor sysctl registration API strikes again, film at 11...\n\nWhat we really need is _pathname_ required to be present in already\nregistered table, so that kernel could warn about bad order.  That\u0027s the\nnext target for sysctl stuff (and generally saner and more explicit\norder of initialization of ipv[46] internals wouldn\u0027t hurt either).\n\nFor the time being, here are full fixups required by ..._rotable()\nstuff; we make per-net sysctl sets descendents of \"ro\" one and make sure\nthat sufficient skeleton is there before we start registering per-net\nsysctls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76e6ebfb40a2455c18234dcb0f9df37533215461",
      "tree": "f3b435e8b27a297f330fc7d497a0ef44022e7239",
      "parents": [
        "f43798c27684ab925adde7d8acc34c78c6e50df8"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:00:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:00:44 2008 -0700"
      },
      "message": "netns: add namespace parameter to rt_cache_flush\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0010e46577a27c1d915034637f6c2fa57a9a091c",
      "tree": "dc13ec8dbbf980b53c8d1049dbf8944806cca0d2",
      "parents": [
        "980c478ddbb720948967b028ddbb4179a025bc2c"
      ],
      "author": {
        "name": "Timo Teras",
        "email": "timo.teras@iki.fi",
        "time": "Tue Apr 29 03:32:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 03:32:25 2008 -0700"
      },
      "message": "ipv4: Update MTU to all related cache entries in ip_rt_frag_needed()\n\nAdd struct net_device parameter to ip_rt_frag_needed() and update MTU to\ncache entries where ifindex is specified. This is similar to what is\nalready done in ip_rt_redirect().\n\nSigned-off-by: Timo Teras \u003ctimo.teras@iki.fi\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": "7d164be8aa4392fe55474f4608547f2097e07c41",
      "tree": "ffdad523556b764d514afbf83e6ccaeff14a4a4e",
      "parents": [
        "061964fb988ca51087948975da66ff523b3a5852"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Mar 23 22:03:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 23 22:03:56 2008 -0700"
      },
      "message": "[NET]: include/net/route.h - remove duplicate include\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29e75252da20f3ab9e132c68c9aed156b87beae6",
      "tree": "affd152c959eede937b50f6054a303a388a88545",
      "parents": [
        "174ce0483198b9dffd712fdd7d53635954fddffe"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 31 17:05:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:27 2008 -0800"
      },
      "message": "[IPV4] route cache: Introduce rt_genid for smooth cache invalidation\n\nCurrent ip route cache implementation is not suited to large caches.\n\nWe can consume a lot of CPU when cache must be invalidated, since we\ncurrently need to evict all cache entries, and this eviction is\nsometimes asynchronous. min_delay \u0026 max_delay can somewhat control this\nasynchronism behavior, but whole thing is a kludge, regularly triggering\ninfamous soft lockup messages. When entries are still in use, this also\nconsumes a lot of ram, filling dst_garbage.list.\n\nA better scheme is to use a generation identifier on each entry,\nso that cache invalidation can be performed by changing the table\nidentifier, without having to scan all entries.\nNo more delayed flushing, no more stalling when secret_interval expires.\n\nInvalidated entries will then be freed at GC time (controled by\nip_rt_gc_timeout or stress), or when an invalidated entry is found\nin a chain when an insert is done.\nThus we keep a normal equilibrium.\n\nThis patch :\n- renames rt_hash_rnd to rt_genid (and makes it an atomic_t)\n- Adds a new rt_genid field to \u0027struct rtable\u0027 (filling a hole on 64bit)\n- Checks entry-\u003ert_genid at appropriate places :\n"
    },
    {
      "commit": "4a19ec5800fc3bb64e2d87c4d9fdd9e636086fe0",
      "tree": "610bd4e7dbcbdae25ba3806f4256745e98617825",
      "parents": [
        "036c2e27bc3a6498afb35de017d810194032d765"
      ],
      "author": {
        "name": "Laszlo Attila Toth",
        "email": "panther@balabit.hu",
        "time": "Wed Jan 30 19:08:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:19 2008 -0800"
      },
      "message": "[NET]: Introducing socket mark socket option.\n\nA userspace program may wish to set the mark for each packets its send\nwithout using the netfilter MARK target. Changing the mark can be used\nfor mark based routing without netfilter or for packet filtering.\n\nIt requires CAP_NET_ADMIN capability.\n\nSigned-off-by: Laszlo Attila Toth \u003cpanther@balabit.hu\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5921910a1de4ba82add59154976c3dc7352c8c2",
      "tree": "c1de2c3734219548c2883777597247caa5450dc5",
      "parents": [
        "eee80592c3c1f7381c04913d9d3eb6e3c3c87628"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 23:50:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:13 2008 -0800"
      },
      "message": "[NETNS]: Routing cache virtualization.\n\nBasically, this piece looks relatively easy. Namespace is already\navailable on the dst entry via device and the device is safe to\ndereferrence. Compare it with one of a searcher and skip entry if\nappropriate.\n\nThe only exception is ip_rt_frag_needed. So, add namespace parameter to it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eee80592c3c1f7381c04913d9d3eb6e3c3c87628",
      "tree": "e8c7bd98745450abbb290d35ef531c7c9673ba4c",
      "parents": [
        "7ba699c604ab811972eee2e041fd6b07659a2e6e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 23:49:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:12 2008 -0800"
      },
      "message": "[NETNS]: Correct namespace for connect-time routing.\n\nip_route_connect and ip_route_newports are a part of routing API\npresented to the socket layer. The namespace is available inside them\nthrough a socket.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f206351a50ea86250fabea96b9af8d8f8fc02603",
      "tree": "014148d8b45db1995d98374ec3b30e635f243197",
      "parents": [
        "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:07 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_key.\n\nNeeded to propagate it down to the ip_route_output_flow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140",
      "tree": "37e8dce4268cb657a75e5074a38db48264f1e42f",
      "parents": [
        "611c183ebcb5af384df3a4ddb391034a1b6ac255"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:06 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_flow.\n\nNeeded to propagate it down to the __ip_route_output_key.\n\nSigned_off_by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "611c183ebcb5af384df3a4ddb391034a1b6ac255",
      "tree": "368ec261285af31fcf5a4f61651f01017e6d2692",
      "parents": [
        "b40afd0e5c568aba79a4ae2a963cd2af1f09490d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:06:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:05 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to __ip_route_output_key.\n\nThis is only required to propagate it down to the\nip_route_output_slow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1bad118a330d494b23663fce94d4e9d9d5065fa7",
      "tree": "148ffe9ee7d6ab6319164c9889bcc1d76ec78db6",
      "parents": [
        "4b5d47d4d372287b48a5fac8c497cba5e0618a36"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 10 03:29:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:34 2008 -0800"
      },
      "message": "[NETNS]: Pass namespace through ip_rt_ioctl.\n\n... up to rtentry_to_fib_config\n\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b175b26c1048d331508940ad3516ead1998084f",
      "tree": "810b0a18cee4d87c573274fdfd4a59fc624cfed2",
      "parents": [
        "8ad4942cd5bdad4143f7aa1d1bd4f7b2526c19c5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jan 10 03:25:28 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:27 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to inet_(dev_)add_type.\n\nThe patch extends the inet_addr_type and inet_dev_addr_type with the\nnetwork namespace pointer. That allows to access the different tables\nrelatively to the network namespace.\n\nThe modification of the signature function is reported in all the\ncallers of the inet_addr_type using the pointer to the well known\ninit_net.\n\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0553811612a6178365f3b062c30234913b218a96",
      "tree": "81e4fa4f6d0a8beeb7ace09e7e4cb2375c9bfea1",
      "parents": [
        "0265ab44bacc1a1e0e3f5873d8ca2d5a29e33db2"
      ],
      "author": {
        "name": "Laszlo Attila Toth",
        "email": "panther@balabit.hu",
        "time": "Tue Dec 04 23:28:46 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:56 2008 -0800"
      },
      "message": "[IPV4]: Add inet_dev_addr_type()\n\nAddress type search can be limited to an interface by\ninet_dev_addr_type function.\n\nSigned-off-by: Laszlo Attila Toth \u003cpanther@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56c99d0415e8b778c200f115b198c126243ec351",
      "tree": "0e8c15e26681fbcaf5127c8238950c2c5c58a6ac",
      "parents": [
        "7f53878dc2618bf7c01e2135bd271ac01bd85dc9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Dec 06 02:19:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 07 01:07:38 2007 -0800"
      },
      "message": "[IPV4]: Remove prototype of ip_rt_advice\n\nip_rt_advice has been gone, so no need to keep prototype and debug message.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4839c52b01ca91be1c62761e08fb3deb3881e857",
      "tree": "21bc1e568bc76b7556816d995fdf6b3304511eab",
      "parents": [
        "6b25d30bf112370a12d05c3c0fd43732985dab01"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Mon Jul 09 15:32:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:19:04 2007 -0700"
      },
      "message": "[IPV4]: Make ip_tos2prio const.\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e06e7c615877026544ad7f8b309d1a3706410383",
      "tree": "eb087b49279e6db492039a5d684ca9acb13265a3",
      "parents": [
        "4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 10 17:22:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:05:57 2007 -0700"
      },
      "message": "[IPV4]: The scheduled removal of multipath cached routing support.\n\nWith help from Chris Wedgwood.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "093c2ca4167cf66f69020329d14138da0da8599b",
      "tree": "7bae584ac848923867037324197068c869b62a46",
      "parents": [
        "75ce7ceaa1221858c0163e75d19eb8a423a212ff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Feb 09 16:19:26 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:38 2007 -0800"
      },
      "message": "[IPV4]: Convert ipv4 route to use the new dst_entry \u0027next\u0027 pointer\n\nThis patch removes the rt_next pointer from \u0027struct rtable.u\u0027 union,\nand renames u.rt_next to u.dst_rt_next.\n\nIt also moves \u0027struct flowi\u0027 right after \u0027struct dst_entry\u0027 to prepare\nthe gain on lookups.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8eb9086f21c73b38b5ca27558db4c91d62d0e70b",
      "tree": "1fa2694f1e5eac966cc8db2fb8d5f3d684b09803",
      "parents": [
        "ba7808eac17360dda459f82222859b0e3879854b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 02:09:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:45 2007 -0800"
      },
      "message": "[IPV4/IPV6]: Always wait for IPSEC SA resolution in socket contexts.\n\nDo this even for non-blocking sockets.  This avoids the silly -EAGAIN\nthat applications can see now, even for non-blocking sockets in some\ncases (f.e. connect()).\n\nWith help from Venkat Tekkirala.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39dccd9d922b595301e5d43ca7a30823d81393b6",
      "tree": "bc524d2da8fdc14fab5c4ce2e0a4426f2c3f7f25",
      "parents": [
        "35986b329f5476630cef00cc7a164ff336ec1a21"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:34:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:10 2006 -0700"
      },
      "message": "[IPV4]: route.h annotations\n\nip_route_connect(), ip_route_newports() get port numbers 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": "fd6832220974809141b3981e380b78690bba8911",
      "tree": "60fcf8bb0912b3b2eb91836540fdbb83265ef8e4",
      "parents": [
        "e4883014f48f8c17c17a2526cb5cb6e17c5f94e7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 22:17:51 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:07 2006 -0700"
      },
      "message": "[IPV4]: inet_addr_type() annotations\n\nargument and inferred net-endian variables in callers annotated.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bada8adc4e6622764205921e6ba3f717aa03c882",
      "tree": "6052ffa8b3f6fbb8e11566f7a0e3f1f557acccd2",
      "parents": [
        "f2c3fe24119ee4f8faca08699f0488f500014a27"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:27:15 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:06 2006 -0700"
      },
      "message": "[IPV4]: ip_route_connect() ipv4 address arguments annotated\n\nannotated address arguments (port number left alone for now); ditto\nfor inferred net-endian variables in callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2c3fe24119ee4f8faca08699f0488f500014a27",
      "tree": "7f1d1e4a80f3b9f345a5339bc7370ad187132a55",
      "parents": [
        "8c7bc84085135d5cc87e9fc6802d3c7bbbb40ef5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:26:42 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:05 2006 -0700"
      },
      "message": "[IPV4]: annotate ipv4 addresses in struct rtable and struct flowi\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7655229c06d041323b40bd6eb9f95ca0ce95506",
      "tree": "55dd35d7a70a8e2041b79f76f9122d89b1c1d2c4",
      "parents": [
        "9e12bb22e32389b41222c9d9fb55724fed83a038"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:25:43 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:03 2006 -0700"
      },
      "message": "[IPV4]: ip_rt_redirect() annotations\n\nThe first 4 arguments of ip_rt_redirect() are net-endian.  Annotated.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e12bb22e32389b41222c9d9fb55724fed83a038",
      "tree": "8961158286de30363fe3a4c2be25d1d4c89168b2",
      "parents": [
        "046d033148e6936ee2466d38214cf0743a210f39"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:25:20 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:02 2006 -0700"
      },
      "message": "[IPV4]: ip_route_input() annotations\n\nip_route_input() takes net-endian source and destination address.\n* Annotated as such.\n* arguments of its invocations annotated where needed.\n* local helpers getting the same values passed to by it (ip_route_input_mc(),\nip_route_input_slow(), ip_handle_martian_source(), ip_mkroute_input(),\nip_mkroute_input_def(), __mkroute_input()) annotated\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "cef2685e0053945ea0f3c02297386b040f486ea7",
      "tree": "869c11f64c5e2259342c228c80e93cbbbf8e4fc1",
      "parents": [
        "b8059eadf9f4dc24bd72da71daa832a9a9899fb4"
      ],
      "author": {
        "name": "Ilia Sotnikov",
        "email": "hostcc@gmail.com",
        "time": "Sat Mar 25 01:38:55 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 25 01:38:55 2006 -0800"
      },
      "message": "[IPV4]: Aggregate route entries with different TOS values\n\nWhen we get an ICMP need-to-frag message, the original TOS value in the\nICMP payload cannot be used as a key to look up the routes to update.\nThis is because the TOS field may have been modified by routers on the\nway.  Similarly, ip_rt_redirect should also ignore the TOS as the router\nthat gave us the message may have modified the TOS value.\n\nThe patch achieves this objective by aggregating entries with different\nTOS values (but are otherwise identical) into the same bucket.  This\nmakes it easy to update them at the same time when an ICMP message is\nreceived.\n\nIn future we should use a twin-hashing scheme where teh aggregation\noccurs at the entry level.  That is, the TOS goes back into the hash\nfor normal lookups while ICMP lookups will end up with a node that\ngives us a list that contains all other route entries that differ\nonly by TOS.\n\nSigned-off-by: Ilia Sotnikov \u003chostcc@gmail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d39a795bfa217b5f7637028c83ab5cb291f37bf",
      "tree": "025bee4ea9c90b5fac7a7c939664a89120303170",
      "parents": [
        "7fb76aa07facce5cb9c8d26a0de09001a31eed0c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 31 17:35:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 17:35:35 2006 -0800"
      },
      "message": "[IPV4]: Always set fl.proto in ip_route_newports\n\nip_route_newports uses the struct flowi from the struct rtable returned\nby ip_route_connect for the new route lookup and just replaces the port\nnumbers if they have changed. If an IPsec policy exists which doesn\u0027t match\nport 0 the struct flowi won\u0027t have the proto field set and no xfrm lookup\nis done for the changed ports.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ff60a45678e67b2547256a636fd00c1667ce4fa",
      "tree": "664625450d2821c2d22e35e3f9f22192bf41d7d4",
      "parents": [
        "c27bd492fd84c590767a3c0f9f74e637b17af138"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Tue Nov 22 14:47:37 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 14:47:37 2005 -0800"
      },
      "message": "[IPV4]: Fix secondary IP addresses after promotion\n\nThis patch fixes the problem with promoting aliases when:\na) a single primary and \u003e 1 secondary addresses\nb) multiple primary addresses each with at least one secondary address\n\nBased on earlier efforts from Brian Pomerantz \u003cbapper@piratehaven.org\u003e,\nPatrick McHardy \u003ckaber@trash.net\u003e and Thomas Graf \u003ctgraf@suug.ch\u003e\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20380731bc2897f2952ae055420972ded4cd786e",
      "tree": "abd31e5ebfadcf4f9024634eec8b11855029e512",
      "parents": [
        "9deff7f2365958c5c5aa8cb5a0dd651c4dd83f8f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 16 02:18:02 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:32 2005 -0700"
      },
      "message": "[NET]: Fix sparse warnings\n\nOf this type, mostly:\n\nCHECK   net/ipv6/netfilter.c\nnet/ipv6/netfilter.c:96:12: warning: symbol \u0027ipv6_netfilter_init\u0027 was not declared. Should it be static?\nnet/ipv6/netfilter.c:101:6: warning: symbol \u0027ipv6_netfilter_fini\u0027 was not declared. Should it be static?\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0742fd53a3774781255bd1e471e7aa2e4a82d5f7",
      "tree": "020e6d1ccb1d7ce07cdb26b7317fa2ca58e689b3",
      "parents": [
        "f2ccd8fa06c8e302116e71df372f5c1f83432e03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Aug 09 19:35:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:33:20 2005 -0700"
      },
      "message": "[IPV4]: possible cleanups\n\nThis patch contains the following possible cleanups:\n- make needlessly global code static\n- #if 0 the following unused global function:\n  - xfrm4_state.c: xfrm4_state_fini\n- remove the following unneeded EXPORT_SYMBOL\u0027s:\n  - ip_output.c: ip_finish_output\n  - ip_output.c: sysctl_ip_default_ttl\n  - fib_frontend.c: ip_dev_find\n  - inetpeer.c: inet_peer_idlock\n  - ip_options.c: ip_options_compile\n  - ip_options.c: ip_options_undo\n  - net/core/request_sock.c: sysctl_max_syn_backlog\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39c715b71740c4a78ba4769fb54826929bac03cb",
      "tree": "94dd679dfc8e6c2db65971739aa8c8c6206f8174",
      "parents": [
        "84929801e14d968caeb84795bfbb88f04283fbd9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 21 17:14:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] smp_processor_id() cleanup\n\nThis patch implements a number of smp_processor_id() cleanup ideas that\nArjan van de Ven and I came up with.\n\nThe previous __smp_processor_id/_smp_processor_id/smp_processor_id API\nspaghetti was hard to follow both on the implementational and on the\nusage side.\n\nSome of the complexity arose from picking wrong names, some of the\ncomplexity comes from the fact that not all architectures defined\n__smp_processor_id.\n\nIn the new code, there are two externally visible symbols:\n\n - smp_processor_id(): debug variant.\n\n - raw_smp_processor_id(): nondebug variant. Replaces all existing\n   uses of _smp_processor_id() and __smp_processor_id(). Defined\n   by every SMP architecture in include/asm-*/smp.h.\n\nThere is one new internal symbol, dependent on DEBUG_PREEMPT:\n\n - debug_smp_processor_id(): internal debug variant, mapped to\n                             smp_processor_id().\n\nAlso, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new\nlib/smp_processor_id.c file.  All related comments got updated and/or\nclarified.\n\nI have build/boot tested the following 8 .config combinations on x86:\n\n {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}\n\nI have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT.  (Other\narchitectures are untested, but should work just fine.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "37e20a66db02eff9adbeee043af990cca85d0034",
      "tree": "b61efc508ce4130b508b329f4833cc4cf8deb7ee",
      "parents": [
        "79165121bc09c209451487d977df910c4ff6fc94"
      ],
      "author": {
        "name": "Pravin B. Shelar",
        "email": "pravins@calsoftinc.com",
        "time": "Sun May 29 20:26:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 29 20:26:44 2005 -0700"
      },
      "message": "[IPV4]: Kill MULTIPATHHOLDROUTE flag.\n\nIt cannot work properly, so just ignore it in drr\nand rr multipath algorithms just like the random\nmultipath algorithm does.\n\nSuggested by Herbert Xu.\n\nSigned-off by: Pravin B. Shelar \u003cpravins@calsoftinc.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02c30a84e6298b6b20a56f0896ac80b47839e134",
      "tree": "031e9d68ad83c371af7ebeb6840f3ede52698663",
      "parents": [
        "125947f2ab8c45417feaa4a8800e89529ca4612f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu May 05 16:16:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:49 2005 -0700"
      },
      "message": "[PATCH] update Ross Biro bouncing email address\n\nRoss moved.  Remove the bad email address so people will find the correct\none in ./CREDITS.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
