)]}'
{
  "log": [
    {
      "commit": "cf778b00e96df6d64f8e21b8395d1f8a859ecdc7",
      "tree": "4cc157d564bd65d687bdf722af3202e9e277ea98",
      "parents": [
        "9ee6045f09a7875ebe55b9942b232a19076b157b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 12 04:41:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 12:26:56 2012 -0800"
      },
      "message": "net: reintroduce missing rcu_assign_pointer() calls\n\ncommit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to\nRCU_INIT_POINTER) did a lot of incorrect changes, since it did a\ncomplete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x,\ny).\n\nWe miss needed barriers, even on x86, when y is not NULL.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCC: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e3fd7a06dc20b2d8ec6892233ad2012968fe7b6",
      "tree": "da3fbec7672ac6b967dfa31cec6c88f468a57fa2",
      "parents": [
        "40ba84993d66469d336099c5af74c3da5b73e28d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 21 03:39:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 16:43:32 2011 -0500"
      },
      "message": "net: remove ipv6_addr_copy()\n\nC assignment can handle struct in6_addr copying.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7ae1992248e5cf9dc5bd35695ab846d27efe15f",
      "tree": "ed3f450a41ca5975aecae2850105ca22f98ca318",
      "parents": [
        "660882432909dbe611f1792eda158188065cb9f1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 18 02:20:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 18 14:37:09 2011 -0500"
      },
      "message": "ipv6: Remove all uses of LL_ALLOCATED_SPACE\n\nipv6: Remove all uses of LL_ALLOCATED_SPACE\n\nThe macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the\nalignment to the sum of needed_headroom and needed_tailroom.  As\nthe amount that is then reserved for head room is needed_headroom\nwith alignment, this means that the tail room left may be too small.\n\nThis patch replaces all uses of LL_ALLOCATED_SPACE in net/ipv6\nwith the macro LL_RESERVED_SPACE and direct reference to\nneeded_tailroom.\n\nThis also fixes the problem with needed_headroom changing between\nallocating the skb and reserving the head room.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d826eb14ecef3574b6b3be55e5f4329f4a76fbf3",
      "tree": "e072ee768f065be430543709d48f08a36f4eed2d",
      "parents": [
        "acb32ba3dee66d58704caeeb8c6ff95f60efdc66"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 09 07:24:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 09 16:36:27 2011 -0500"
      },
      "message": "ipv4: PKTINFO doesnt need dst reference\n\nLe lundi 07 novembre 2011 à 15:33 +0100, Eric Dumazet a écrit :\n\n\u003e At least, in recent kernels we dont change dst-\u003erefcnt in forwarding\n\u003e patch (usinf NOREF skb-\u003edst)\n\u003e\n\u003e One particular point is the atomic_inc(dst-\u003erefcnt) we have to perform\n\u003e when queuing an UDP packet if socket asked PKTINFO stuff (for example a\n\u003e typical DNS server has to setup this option)\n\u003e\n\u003e I have one patch somewhere that stores the information in skb-\u003ecb[] and\n\u003e avoid the atomic_{inc|dec}(dst-\u003erefcnt).\n\u003e\n\nOK I found it, I did some extra tests and believe its ready.\n\n[PATCH net-next] ipv4: IP_PKTINFO doesnt need dst reference\n\nWhen a socket uses IP_PKTINFO notifications, we currently force a dst\nreference for each received skb. Reader has to access dst to get needed\ninformation (rt_iif \u0026 rt_spec_dst) and must release dst reference.\n\nWe also forced a dst reference if skb was put in socket backlog, even\nwithout IP_PKTINFO handling. This happens under stress/load.\n\nWe can instead store the needed information in skb-\u003ecb[], so that only\nsoftirq handler really access dst, improving cache hit ratios.\n\nThis removes two atomic operations per packet, and false sharing as\nwell.\n\nOn a benchmark using a mono threaded receiver (doing only recvmsg()\ncalls), I can reach 720.000 pps instead of 570.000 pps.\n\nIP_PKTINFO is typically used by DNS servers, and any multihomed aware\nUDP application.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "299b0767642a65f0c5446ab6d35e6df0daf43d33",
      "tree": "30e41c97fe4cef60540964495c15d0be121e3b3e",
      "parents": [
        "c113464d4351591de8791c0cadfc165836e5a725"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Oct 11 01:43:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:53:10 2011 -0400"
      },
      "message": "ipv6: Fix IPsec slowpath fragmentation problem\n\nip6_append_data() builds packets based on the mtu from dst_mtu(rt-\u003edst.path).\nOn IPsec the effective mtu is lower because we need to add the protocol\nheaders and trailers later when we do the IPsec transformations. So after\nthe IPsec transformations the packet might be too big, which leads to a\nslowpath fragmentation then. This patch fixes this by building the packets\nbased on the lower IPsec mtu from dst_mtu(\u0026rt-\u003edst) and adapts the exthdr\nhandling to this.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8decf868790b48a727d7e7ca164f2bcd3c1389c0",
      "tree": "b759a5f861f842af7ea76f9011b579d06e9d5508",
      "parents": [
        "3fc72370186be2f9d4d6ef06d99e1caa5d92c564",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/Kconfig\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c\n\tdrivers/net/ethernet/broadcom/tg3.c\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c\n\tdrivers/net/wireless/rt2x00/rt2800usb.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "ec0506dbe4e240ecd4c32bf74c84a88ce1ddb414",
      "tree": "d8eb6a77c2f611d99a8c8b6576389c071bf5890a",
      "parents": [
        "0f43dd546d991ca260d8a72d07f617907c508de8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 28 12:35:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 30 17:39:01 2011 -0400"
      },
      "message": "net: relax PKTINFO non local ipv6 udp xmit check\n\nAllow transparent sockets to be less restrictive about\nthe source ip of ipv6 udp packets being sent.\n\nGoogle-Bug-Id: 5018138\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCC: \"Erik Kline\" \u003cek@google.com\u003e\nCC: \"Lorenzo Colitti\" \u003clorenzo@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33d480ce6d43326e2541fd79b3548858a174ec3c",
      "tree": "c938ee8c07a2e0f33178069b55439a54188f38fa",
      "parents": [
        "cd28ca0a3dd17c68d24b839602a0e6268ad28b5d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 11 19:30:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 12 02:55:28 2011 -0700"
      },
      "message": "net: cleanup some rcu_dereference_raw\n\nRCU api had been completed and rcu_access_pointer() or\nrcu_dereference_protected() are better than generic\nrcu_dereference_raw()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9b3cd7f323b2e57593e7215362a7b02fc933e3a",
      "tree": "eba1741956aef3015d5b1a07253bf93c4c1bc7df",
      "parents": [
        "76f793e3a47139d340185cbc1a314740c09b13d3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 01 16:19:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 02 04:29:23 2011 -0700"
      },
      "message": "rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER\n\nWhen assigning a NULL value to an RCU protected pointer, no barrier\nis needed. The rcu_assign_pointer, used to handle that but will soon\nchange to not handle the special case.\n\nConvert all rcu_assign_pointer of NULL value.\n\n//smpl\n@@ expression P; @@\n\n- rcu_assign_pointer(P, NULL)\n+ RCU_INIT_POINTER(P, NULL)\n\n// \u003c/smpl\u003e\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "207ec0abbed50b43a44cb7c69a07aeee08da5e45",
      "tree": "2b5d12c61e6e7d860a21c94a327a33ff1f39adc9",
      "parents": [
        "4500ebf8d1cc749e1b438136745127e437c54002"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Jul 01 09:43:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 01 16:11:16 2011 -0700"
      },
      "message": "ipv6: Reduce switch/case indent\n\nMake the case labels the same indent as the switch.\n\ngit diff -w shows 80 column reflowing,\nremoval of a useless break after return, and moving\nopen brace after case instead of separate line.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71338aa7d050c86d8765cd36e46be514fb0ebbce",
      "tree": "96bacb805b939c490145b31b4e2fb9e5cea79c5d",
      "parents": [
        "229de618ba6ff36e382b908b7637fe56c25ae9f1"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Mon May 23 12:17:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 24 01:13:12 2011 -0400"
      },
      "message": "net: convert %p usage to %pK\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\nThe supporting code for kptr_restrict and %pK are currently in the -mm\ntree.  This patch converts users of %p in net/ to %pK.  Cases of printing\npointers to the syslog are not covered, since this would eliminate useful\ninformation for postmortem debugging and the reading of the syslog is\nalready optionally protected by the dmesg_restrict sysctl.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdc712b4c2baf9515887de3a52e7ecd89fafc0c7",
      "tree": "3ce09227fb75593256403eaa459d178a2668db25",
      "parents": [
        "ad638bd16d91012a512979327b5c17c867d260c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 15:02:07 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 15:37:57 2011 -0700"
      },
      "message": "inet: Decrease overhead of on-stack inet_cork.\n\nWhen we fast path datagram sends to avoid locking by putting\nthe inet_cork on the stack we use up lots of space that isn\u0027t\nnecessary.\n\nThis is because inet_cork contains a \"struct flowi\" which isn\u0027t\nused in these code paths.\n\nSplit inet_cork to two parts, \"inet_cork\" and \"inet_cork_full\".\nOnly the latter of which has the \"struct flowi\" and is what is\nstored in inet_sock.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\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": "68d0c6d34d586a893292d4fb633a3bf8c547b222",
      "tree": "b6d812307621873cf16000171563c1f68b5bc255",
      "parents": [
        "903ab86d195cca295379699299c5fc10beba31c7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 13:19:07 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 13:19:07 2011 -0800"
      },
      "message": "ipv6: Consolidate route lookup sequences.\n\nRoute lookups follow a general pattern in the ipv6 code wherein\nwe first find the non-IPSEC route, potentially override the\nflow destination address due to ipv6 options settings, and then\nfinally make an IPSEC search using either xfrm_lookup() or\n__xfrm_lookup().\n\n__xfrm_lookup() is used when we want to generate a blackhole route\nif the key manager needs to resolve the IPSEC rules (in this case\n-EREMOTE is returned and the original \u0027dst\u0027 is left unchanged).\n\nOtherwise plain xfrm_lookup() is used and when asynchronous IPSEC\nresolution is necessary, we simply fail the lookup completely.\n\nAll of these cases are encapsulated into two routines,\nip6_dst_lookup_flow and ip6_sk_dst_lookup_flow.  The latter of which\nhandles unconnected UDP datagram sockets.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd4a6974cc9090ef3851e5b0a2071e5383565c7c",
      "tree": "e96ef46426d293b730a305b5185ba5412c9172d4",
      "parents": [
        "2b7bcebf958c74124220ee8103024def8597b36c",
        "1e6d93e45b231b3ae87c01902ede2315aacfe976"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:28:58 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:28:58 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "e2d57766e6744f2956975dd2086d82957187b0f6",
      "tree": "6d7f09ad6eaaac8ad99528cc83894faa6b230b1a",
      "parents": [
        "ca6b8bb097c8e0ab6bce4fa04584074dee17c0d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:59:32 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 18:05:29 2011 -0800"
      },
      "message": "net: Provide compat support for SIOCGETMIFCNT_IN6 and SIOCGETSGCNT_IN6.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2eda47df46f9953fc8a4fec820f34d539a8efbb",
      "tree": "3f4a745c93f44a0375d85c96b284bff5d3b4e640",
      "parents": [
        "6193d2be290990b789021e06fa770ecb45319f2d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 20 07:37:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 16:59:34 2011 -0800"
      },
      "message": "ipv6: raw: rcu annotations\n\nRemove sparse warnings, using a function typedef to be able to use __rcu\nannotation on mh_filter pointer.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d7da9ddd9a4eb7808698d04b98bf9d62d02649b",
      "tree": "b170122c08d47be35a056782be54573ba19fe0b0",
      "parents": [
        "1c87733d0682547050ccccb400cdac425fa43b39"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:47:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:28 2010 -0700"
      },
      "message": "net: add __rcu annotation to sk_filter\n\nAdd __rcu annotation to :\n        (struct sock)-\u003esk_filter\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8d1f30b95a635dbd610dcc5eb641aca8f4768cf",
      "tree": "71424d82a96facd5fcf05cc769ef2ba52b584aeb",
      "parents": [
        "592fcb9dfafaa02dd0edc207bf5d3a0ee7a1f8df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "message": "net-next: remove useless union keyword\n\nremove useless union keyword in rtable, rt6_info and dn_route.\n\nSince there is only one member in a union, the union keyword isn\u0027t useful.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1789a640f55658d9a54c1868cc3405e4d85dbd8e",
      "tree": "4ff0efbe06c9f8ab2ff715bfcda91dc31d7c7f65",
      "parents": [
        "fe33147a58e7d1d3086bf823aabfd491d843be82"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jun 03 22:23:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 07 01:08:10 2010 -0700"
      },
      "message": "raw: avoid two atomics in xmit\n\nAvoid two atomic ops per raw_send_hdrinc() call\n\nAvoid two atomic ops per raw6_send_hdrinc() call\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20c59de2e6b6bc74bbf714dcd4e720afe8d516cf",
      "tree": "45e5c62e286368f8259b844cb7cf796d19066fb0",
      "parents": [
        "d92222e27fdc98d73df25f3d49fb1ff3a3369bec"
      ],
      "author": {
        "name": "Arnaud Ebalard",
        "email": "arno@natisbad.org",
        "time": "Tue Jun 01 21:35:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 07:08:31 2010 -0700"
      },
      "message": "ipv6: Refactor update of IPv6 flowi destination address for srcrt (RH) option\n\nThere are more than a dozen occurrences of following code in the\nIPv6 stack:\n\n    if (opt \u0026\u0026 opt-\u003esrcrt) {\n            struct rt0_hdr *rt0 \u003d (struct rt0_hdr *) opt-\u003esrcrt;\n            ipv6_addr_copy(\u0026final, \u0026fl.fl6_dst);\n            ipv6_addr_copy(\u0026fl.fl6_dst, rt0-\u003eaddr);\n            final_p \u003d \u0026final;\n    }\n\nReplace those with a helper. Note that the helper overrides final_p\nin all cases. This is ok as final_p was previously initialized to\nNULL when declared.\n\nSigned-off-by: Arnaud Ebalard \u003carno@natisbad.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e4b1057121bc756b91758a434b504d2010f6088",
      "tree": "b016cf2c728289c7e36d9e4e488f30ab0bd0ae6e",
      "parents": [
        "3b254c54ec46eb022cb26ee6ab37fae23f5f7d6a",
        "3ee943728fff536edaf8f59faa58aaa1aa7366e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tnet/bridge/br_device.c\n\tnet/bridge/br_forward.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f84af32cbca70a3c6d30463dc08c7984af11c277",
      "tree": "06ede4b3ed91be899f8f29b4c7eb1fb76f1ade97",
      "parents": [
        "4b0b72f7dd617b13abd1b04c947e15873e011a24"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 15:31:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 15:31:51 2010 -0700"
      },
      "message": "net: ip_queue_rcv_skb() helper\n\nWhen queueing a skb to socket, we can immediately release its dst if\ntarget socket do not use IP_CMSG_PKTINFO.\n\ntcp_data_queue() can drop dst too.\n\nThis to benefit from a hot cache line and avoid the receiver, possibly\non another cpu, to dirty this cache line himself.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b340ae20d0e2366792abe70f46629e576adaf5e",
      "tree": "b0c413a0348e722fbc23d45508224076b6e60f92",
      "parents": [
        "13b52cd44670e3359055e9918d0e766d89836425"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:29 2010 -0700"
      },
      "message": "IPv6: Complete IPV6_DONTFRAG support\n\nFinally add support to detect a local IPV6_DONTFRAG event\nand return the relevant data to the user if they\u0027ve enabled\nIPV6_RECVPATHMTU on the socket.  The next recvmsg() will\nreturn no data, but have an IPV6_PATHMTU as ancillary data.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.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": "62910554656cdcd6b6f84a5154c4155aae4ca231",
      "tree": "dcf14004f6fd2ef7154362ff948bfeba0f3ea92d",
      "parents": [
        "22265a5c3c103cf8c50be62e6c90d045eb649e6d",
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tnet/ipv6/netfilter/ip6t_REJECT.c\n\tnet/netfilter/xt_limit.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.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": "b2e0b385d77069031edb957839aaaa8441b47287",
      "tree": "7b0cd8ed74fd0f8ab6a198cd1be735c6a972517e",
      "parents": [
        "9bbc768aa911a3ef336272eaa6d220abfba8ce50"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 04:09:07 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:00:49 2010 +0100"
      },
      "message": "netfilter: ipv6: use NFPROTO values for NF_HOOK invocation\n\nThe semantic patch that was used:\n// \u003csmpl\u003e\n@@\n@@\n(NF_HOOK\n|NF_HOOK_THRESH\n|nf_hook\n)(\n-PF_INET6,\n+NFPROTO_IPV6,\n ...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\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": "fd5c00276127661f12e0315e3bbec41a1c0be376",
      "tree": "c144a45e26dadf3654336604a131c2c53e5235c4",
      "parents": [
        "18294ad1ecccffe6a91f6914dc1f4acd8995736a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 06 07:01:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 00:43:18 2009 -0800"
      },
      "message": "ipv6: avoid dev_hold()/dev_put() in rawv6_bind()\n\nUsing RCU helps not touching device refcount in rawv6_bind()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13f18aa05f5abe135f47b6417537ae2b2fedc18c",
      "tree": "3bcf8c52bd9d957fd09a87224c9d44566071f981",
      "parents": [
        "89794a6f3bf6db552b1ff4d2ad42fdd8739ac2a2"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 20:44:37 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 21:40:17 2009 -0800"
      },
      "message": "net: drop capability from protocol definitions\n\nstruct can_proto had a capability field which wasn\u0027t ever used.  It is\ndropped entirely.\n\nstruct inet_protosw had a capability field which can be more clearly\nexpressed in the code by just checking if sock-\u003etype \u003d SOCK_RAW.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8edf19c2fe028563fc6ea9cb1995b8ee4172d4b6",
      "tree": "55c423bc7e13e99e816d95886f7d340dc1163ffa",
      "parents": [
        "c720c7e8383aff1cb219bddf474ed89d850336e3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 15 00:12:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 18 18:52:54 2009 -0700"
      },
      "message": "net: sk_drops consolidation part 2\n\n- skb_kill_datagram() can increment sk-\u003esk_drops itself, not callers.\n\n- UDP on IPV4 \u0026 IPV6 dropped frames (because of bad checksum or policy checks) increment sk_drops\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c720c7e8383aff1cb219bddf474ed89d850336e3",
      "tree": "4f12337e6690fccced376db9f501eaf98614a65e",
      "parents": [
        "988ade6b8e27e79311812f83a87b5cea11fabcd7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 15 06:30:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 18 18:52:53 2009 -0700"
      },
      "message": "inet: rename some inet_sock fields\n\nIn order to have better cache layouts of struct sock (separate zones\nfor rx/tx paths), we need this preliminary patch.\n\nGoal is to transfert fields used at lookup time in the first\nread-mostly cache line (inside struct sock_common) and move sk_refcnt\nto a separate cache line (only written by rx path)\n\nThis patch adds inet_ prefix to daddr, rcv_saddr, dport, num, saddr,\nsport and id fields. This allows a future patch to define these\nfields as macros, like sk_refcnt, without name clashes.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "766e9037cc139ee25ed93ee5ad11e1450c4b99f6",
      "tree": "062702b8edf203a6e91d1e6853ab24989617d758",
      "parents": [
        "48bccd25df71f4f8177cb800f4b288222eb57761"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 14 20:40:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 14 20:40:11 2009 -0700"
      },
      "message": "net: sk_drops consolidation\n\nsock_queue_rcv_skb() can update sk_drops itself, removing need for\ncallers to take care of it. This is more consistent since\nsock_queue_rcv_skb() also reads sk_drops when queueing a skb.\n\nThis adds sk_drops managment to many protocols that not cared yet.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b885787ea4112eaa80945999ea0901bf742707f",
      "tree": "06fc15f8e8083d5652ccb4d06653d9812dce9c0b",
      "parents": [
        "d5e63bded6e819ca77ee1a1d97c783a31f6caf30"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "message": "net: Generalize socket rx gap / receive queue overflow cmsg\n\nCreate a new socket level option to report number of queue overflows\n\nRecently I augmented the AF_PACKET protocol to report the number of frames lost\non the socket receive queue between any two enqueued frames.  This value was\nexported via a SOL_PACKET level cmsg.  AFter I completed that work it was\nrequested that this feature be generalized so that any datagram oriented socket\ncould make use of this option.  As such I\u0027ve created this patch, It creates a\nnew SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a\nSOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue\noverflowed between any two given frames.  It also augments the AF_PACKET\nprotocol to take advantage of this new feature (as it previously did not touch\nsk-\u003esk_drops, which this patch uses to record the overflow count).  Tested\nsuccessfully by me.\n\nNotes:\n\n1) Unlike my previous patch, this patch simply records the sk_drops value, which\nis not a number of drops between packets, but rather a total number of drops.\nDeltas must be computed in user space.\n\n2) While this patch currently works with datagram oriented protocols, it will\nalso be accepted by non-datagram oriented protocols. I\u0027m not sure if thats\nagreeable to everyone, but my argument in favor of doing so is that, for those\nprotocols which aren\u0027t applicable to this option, sk_drops will always be zero,\nand reporting no drops on a receive queue that isn\u0027t used for those\nnon-participating protocols seems reasonable to me.  This also saves us having\nto code in a per-protocol opt in mechanism.\n\n3) This applies cleanly to net-next assuming that commit\n977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e",
      "tree": "d7228b3ea7000bc29b959556d8cb264b12365586",
      "parents": [
        "2e59af3dcbdf11635c03f22bfc9706744465d589"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 02 18:05:33 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 18:05:33 2009 -0700"
      },
      "message": "ip: Report qdisc packet drops\n\nChristoph Lameter pointed out that packet drops at qdisc level where not\naccounted in SNMP counters. Only if application sets IP_RECVERR, drops\nare reported to user (-ENOBUFS errors) and SNMP counters updated.\n\nIP_RECVERR is used to enable extended reliable error message passing,\nbut these are not needed to update system wide SNMP stats.\n\nThis patch changes things a bit to allow SNMP counters to be updated,\nregardless of IP_RECVERR being set or not on the socket.\n\nExample after an UDP tx flood\n# netstat -s \n...\nIP:\n    1487048 outgoing packets dropped\n...\nUdp:\n...\n    SndbufErrors: 1487048\n\n\nsend() syscalls, do however still return an OK status, to not\nbreak applications.\n\nNote : send() manual page explicitly says for -ENOBUFS error :\n\n \"The output queue for a network interface was full.\n  This generally indicates that the interface has stopped sending,\n  but may be caused by transient congestion.\n  (Normally, this does not occur in Linux. Packets are just silently\n  dropped when a device queue overflows.) \"\n\nThis is not true for IP_RECVERR enabled sockets : a send() syscall\nthat hit a qdisc drop returns an ENOBUFS error.\n\nMany thanks to Christoph, David, and last but not least, Alexey !\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@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": "31e6d363abcd0d05766c82f1a9c905a4c974a199",
      "tree": "f2b5c46354d95f91e743ae748b8add0de8bffd17",
      "parents": [
        "d3b238a03efd6d644ff93c8b10a1d38a596f2e34"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 17 19:05:41 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:12 2009 -0700"
      },
      "message": "net: correct off-by-one write allocations reports\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nWe need to take into account this offset when reporting\nsk_wmem_alloc to user, in PROC_FS files or various\nioctls (SIOCOUTQ/TIOCOUTQ)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edf391ff17232f097d72441c9ad467bcb3b5db18",
      "tree": "3d1566e92aff168be842f6033695d234b6597180",
      "parents": [
        "06bd12c3b861f8ca9e1215428b19dc0026c6268f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Apr 27 02:45:02 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 27 02:45:02 2009 -0700"
      },
      "message": "snmp: add missing counters for RFC 4293\n\nThe IP MIB (RFC 4293) defines stats for InOctets, OutOctets, InMcastOctets and\nOutMcastOctets:\nhttp://tools.ietf.org/html/rfc4293\nBut it seems we don\u0027t track those in any way that easy to separate from other\nprotocols.  This patch adds those missing counters to the stats file. Tested\nsuccessfully by me\n\nWith help from Eric Dumazet.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\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": "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": "3cc76caa98b092a8fb3e7b4303c70f847db0651f",
      "tree": "ef2380db53d72de84c498c86a4db78b2abe942f4",
      "parents": [
        "d97240552cd98c4b07322f30f66fd9c3ba4171de"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Fri Aug 29 14:06:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 14:27:51 2008 -0700"
      },
      "message": "ipv6: When we droped a packet, we should return NET_RX_DROP instead of 0\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "725a8ff04a5dc473cd9d8eb7817ca96fc36c7789",
      "tree": "bd632ddb3f0998217240b1e244307937020aa5bd",
      "parents": [
        "bdccc4ca13a639d759206c5b21ed73f8a813eaba"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 19 00:28:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:28:58 2008 -0700"
      },
      "message": "ipv6: remove unused parameter from ip6_ra_control\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb61cb9b8b5ef6c2697d84e5015e314626eb2fba",
      "tree": "430dd8d5b56d0a9911750ffcbd97563ce68d1b27",
      "parents": [
        "fe2c802ab62aa63d276deafa905875f3455f2621"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jun 17 21:04:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 17 21:04:56 2008 -0700"
      },
      "message": "udp: sk_drops handling\n\nIn commits 33c732c36169d7022ad7d6eb474b0c9be43a2dc1 ([IPV4]: Add raw\ndrops counter) and a92aa318b4b369091fd80433c80e62838db8bc1c ([IPV6]:\nAdd raw drops counter), Wang Chen added raw drops counter for\n/proc/net/raw \u0026 /proc/net/raw6\n\nThis patch adds this capability to UDP sockets too (/proc/net/udp \u0026\n/proc/net/udp6).\n\nThis means that \u0027RcvbufErrors\u0027 errors found in /proc/net/snmp can be also\nbe examined for each udp socket.\n\n# grep Udp: /proc/net/snmp\nUdp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors\nUdp: 23971006 75 899420 16390693 146348 0\n\n# cat /proc/net/udp\n sl  local_address rem_address   st tx_queue rx_queue tr tm-\u003ewhen retrnsmt  ---\nuid  timeout inode ref pointer drops\n 75: 00000000:02CB 00000000:0000 07 00000000:00000000 00:00000000 00000000  ---\n  0        0 2358 2 ffff81082a538c80 0\n111: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000000  ---\n  0        0 2286 2 ffff81042dd35c80 146348\n\nIn this example, only port 111 (0x006F) was flooded by messages that\nuser program could not read fast enough. 146348 messages were lost.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d06b2e053d2d536348e3a0f6bb02982a41bea37",
      "tree": "ec6a5c3f448e84cd431a0397b9e2a87ca25aec17",
      "parents": [
        "4ae127d1b6c71f9240dd4245f240e6dd8fc98014"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Sat Jun 14 17:04:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 14 17:04:49 2008 -0700"
      },
      "message": "net: change proto destroy method to return void\n\nChange struct proto destroy function pointer to return void.  Noticed\nby Al Viro.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ae127d1b6c71f9240dd4245f240e6dd8fc98014",
      "tree": "b7aa27b3e0c655f4613fe2146cb57d7f69e421f6",
      "parents": [
        "875ec4333b99144e2589e900a0bcd2c25c757b27",
        "7775c9753b94fe429dc4323360d6502c95e0dd6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 13 20:52:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 13 20:52:39 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/smc911x.c\n"
    },
    {
      "commit": "f23d60de719e639690b2dc5c2d0e4243ff614b7a",
      "tree": "39e8083b98c476978ce45f0a4fc4de111554f786",
      "parents": [
        "24e3fcefb9cc61acce59ed54c00c4e4c32537de7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 12 14:47:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 12 16:34:34 2008 -0700"
      },
      "message": "ipv6: Fix duplicate initialization of rawv6_prot.destroy\n\nIn changeset 22dd485022f3d0b162ceb5e67d85de7c3806aa20\n(\"raw: Raw socket leak.\") code was added so that we\nflush pending frames on raw sockets to avoid leaks.\n\nThe ipv4 part was fine, but the ipv6 part was not\ndone correctly.  Unlike the ipv4 side, the ipv6 code\nalready has a .destroy method for rawv6_prot.\n\nSo now there were two assignments to this member, and\nwhat the compiler does is use the last one, effectively\nmaking the ipv6 parts of that changeset a NOP.\n\nFix this by removing the:\n\n\t.destroy\t   \u003d inet6_destroy_sock,\n\nline, and adding an inet6_destroy_sock() call to the\nend of raw6_destroy().\n\nNoticed by Al Viro.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\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": "22dd485022f3d0b162ceb5e67d85de7c3806aa20",
      "tree": "b96ff526ef0e7fe161eecdaa9edf999e3c3a4791",
      "parents": [
        "199f7d24ae59894243687a234a909f44a8724506"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Jun 04 15:16:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 04 15:16:12 2008 -0700"
      },
      "message": "raw: Raw socket leak.\n\nThe program below just leaks the raw kernel socket\n\nint main() {\n        int fd \u003d socket(PF_INET, SOCK_RAW, IPPROTO_UDP);\n        struct sockaddr_in addr;\n\n        memset(\u0026addr, 0, sizeof(addr));\n        inet_aton(\"127.0.0.1\", \u0026addr.sin_addr);\n        addr.sin_family \u003d AF_INET;\n        addr.sin_port \u003d htons(2048);\n        sendto(fd,  \"a\", 1, MSG_MORE, \u0026addr, sizeof(addr));\n        return 0;\n}\n\nCorked packet is allocated via sock_wmalloc which holds the owner socket,\nso one should uncork it and flush all pending data on close. Do this in the\nsame way as in UDP.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91e1908f569dd96a25a3947de8771e6cc93999dd",
      "tree": "552e4ac3dfc4aa0ba3ce8d2a329fb55d4fac72af",
      "parents": [
        "187e38384c4abfbbb1b880fab234d16c2df23a25"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Jun 04 13:02:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 05 04:02:36 2008 +0900"
      },
      "message": "[IPV6] NETNS: Handle ancillary data in appropriate namespace.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5",
      "tree": "5ccce7558f9e1e53e5b189d6e2fe62a667988ac8",
      "parents": [
        "8388e3da34edb141362bb42811ee487dfec15525"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "message": "net: Allow netdevices to specify needed head/tailroom\n\nThis patch adds needed_headroom/needed_tailroom members to struct\nnet_device and updates many places that allocate sbks to use them. Not\nall of them can be converted though, and I\u0027m sure I missed some (I\nmostly grepped for LL_RESERVED_SPACE)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a98d05f59704d60be85b03f727964e15c77224c",
      "tree": "ae125c4ff89a650368dbedcc5337ce2cfa5f1d98",
      "parents": [
        "8d390efd903485923419584275fd0c2aa4c94183"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 24 21:30:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 24 21:30:38 2008 -0700"
      },
      "message": "ipv6 RAW: Disallow IPPROTO_IPV6-level IPV6_CHECKSUM socket option on ICMPv6 sockets.\n\nRFC3542 tells that IPV6_CHECKSUM socket option in the IPPROTO_IPV6\nlevel is not allowed on ICMPv6 sockets.  IPPROTO_RAW level\nIPV6_CHECKSUM socket option (a Linux extension) is still allowed.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05f175cdcf9d3615c1633615d87891ebfb729401",
      "tree": "e1f269fde2bf9033fed165a8899e52f746122a82",
      "parents": [
        "876c7f41961dc5172b03cbf2dca65f05003f28a0"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 11 23:51:26 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Apr 12 13:43:28 2008 +0900"
      },
      "message": "[IPV6]: Fix IPV6_RECVERR for connected raw sockets.\n\nBased on patch from Dmitry Butskoy \u003cbuc@odusz.so-cdu.ru\u003e.\n\nCloses: 10437\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "876c7f41961dc5172b03cbf2dca65f05003f28a0",
      "tree": "3b5644d172edf0b9d2eecfc5f6c96d41b31c9a2a",
      "parents": [
        "6ac7eb0868ccc9a2c597d6fd0b1ea09dcdc396ed"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "Brian.Haley@hp.com",
        "time": "Fri Apr 11 00:38:24 2008 -0400"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Apr 12 13:43:27 2008 +0900"
      },
      "message": "[IPv6]: Change IPv6 unspecified destination address to ::1 for raw and un-connected sockets\n\nThis patch fixes a difference between IPv4 and IPv6 when sending packets\nto the unspecified address (either 0.0.0.0 or ::) when using raw or\nun-connected UDP sockets.  There are two cases where IPv6 either fails\nto send anything, or sends with the destination address set to ::.  For\nexample:\n\n--\u003e ping -c1 0.0.0.0\nPING 0.0.0.0 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_seq\u003d1 ttl\u003d64 time\u003d0.032 ms\n\n--\u003e ping6 -c1 ::\nPING ::(::) 56 data bytes\nping: sendmsg: Invalid argument\n\nDoing a sendto(\"0.0.0.0\") reveals:\n\n10:55:01.495090 IP localhost.32780 \u003e localhost.7639: UDP, length 100\n\nDoing a sendto(\"::\") reveals:\n\n10:56:13.262478 IP6 fe80::217:8ff:fe7d:4718.32779 \u003e ::.7639: UDP, length 100\n\nIf you issue a connect() first in the UDP case, it will be sent to ::1,\nsimilar to what happens with TCP.\n\nThis restores the BSD-ism.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "7bc570c8b4f75ddb3fd5dbeb38127cdc4acbcc9c",
      "tree": "b688b728c3ea08479f75986d1e9f590fca1f8715",
      "parents": [
        "80a9492a33dd7d852465625022d56ff76d62174d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 03 09:22:53 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Apr 05 22:33:38 2008 +0900"
      },
      "message": "[IPV6] MROUTE: Support multicast forwarding.\n\nBased on ancient patch by Mickael Hoerdt\n\u003choerdt@clarinet.u-strasbg.fr\u003e, which is available at\n\u003chttp://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "f0bdb7ba5af5a7028479e9067ee74e9d66eea6df",
      "tree": "2c78ed5e390354c9864b123d4862d7f12a8969e1",
      "parents": [
        "06501d29ada4457349f4f4427bbf0bbb7c59b8f6"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 01 23:57:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 01 23:57:36 2008 -0700"
      },
      "message": "[IPV6] RAW: Remove ancient comment.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdcde3d71a67e97f25e851f3ca97c9bb5ef03e7f",
      "tree": "eab4a66777582718ffe2eff9038324331106ec18",
      "parents": [
        "60e7663d462af3994f292cb3691ea4f7371a9220"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Mar 28 16:39:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:39:33 2008 -0700"
      },
      "message": "[SOCK]: Drop inuse pcounter from struct proto (v2).\n\nAn uppercut - do not use the pcounter on struct proto.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "878628fbf2589eb24357e42027d5f54b1dafd3c8",
      "tree": "30c109d8f337b3910e3b5364877c3c521dd700b5",
      "parents": [
        "57da52c1e62c6c13875e97de6c69d3156f8416da"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 03:57:35 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:40:00 2008 +0900"
      },
      "message": "[NET] NETNS: Omit namespace comparision without CONFIG_NET_NS.\n\nIntroduce an inline net_eq() to compare two namespaces.\nWithout CONFIG_NET_NS, since no namespace other than \u0026init_net\nexists, it is always 1.\n\nWe do not need to convert 1) inline vs inline and\n2) inline vs \u0026init_net comparisons.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\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": "fc8717baa8f52dd8d1b90df9008300ef3ec794ed",
      "tree": "149c5e1c8db5bcf2af47caeb732f900bc722875f",
      "parents": [
        "6ba5a3c52da00015e739469e3b00cd6d0d4c5c67"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Mar 22 16:56:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 22 16:56:51 2008 -0700"
      },
      "message": "[RAW]: Add raw_hashinfo member on struct proto.\n\nSorry for the patch sequence confusion :| but I found that the similar\nthing can be done for raw sockets easily too late.\n\nExpand the proto.h union with the raw_hashinfo member and use it in\nraw_prot and rawv6_prot. This allows to drop the protocol specific\nversions of hash and unhash callbacks.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "938b93adb2642885e688390396472d22a7548748",
      "tree": "6bf3a55c15fe43421e8c5229cd74c9d71f26ea51",
      "parents": [
        "577f99c1d08cf9cbdafd4e858dd13ff04d855090"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Mar 18 00:59:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 18 00:59:23 2008 -0700"
      },
      "message": "[NET]: Add debugging names to __RW_LOCK_UNLOCKED macros.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3046d76746311ac7ff0cdc3ec42db15730528dbf",
      "tree": "575b92705383d8ae67aee0511cdbf46bb4de9ef9",
      "parents": [
        "8cd850efa4948d57a2ed836911cfd1ab299e89c6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 03:48:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:26 2008 -0800"
      },
      "message": "[RAW]: Wrong content of the /proc/net/raw6.\n\nThe address of IPv6 raw sockets was shown in the wrong format, from\nIPv4 ones.  The problem has been introduced by the commit\n42a73808ed4f30b739eb52bcbb33a02fe62ceef5 (\"[RAW]: Consolidate proc\ninterface.\")\n\nThanks to Adrian Bunk who originally noticed the problem.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "377cf82d66ea43f3d3cb82c2563e65b5c12c9bfd",
      "tree": "9bce5ff5153b91104dcf560626a12289d013809e",
      "parents": [
        "b1641064a3f4a58644bc2e8edf40c025c58473b4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 03:46:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:24 2008 -0800"
      },
      "message": "[RAW]: Family check in the /proc/net/raw[6] is extra.\n\nDifferent hashtables are used for IPv6 and IPv4 raw sockets, so no\nneed to check the socket family in the iterator over hashtables. Clean\nthis out.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\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": "a308da1627d711fd0c7542bfe892abc78d65d215",
      "tree": "58dd91e39eea89a8a635f3d264f012fa2fcb624c",
      "parents": [
        "e5ba31f11f6cae785e893d5d10abd612fef0b6bc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jan 14 05:36:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:07 2008 -0800"
      },
      "message": "[NETNS][RAW]: Create the /proc/net/raw(6) in each namespace.\n\nTo do so, just register the proper subsystem and create files in\n-\u003einit callbacks.\n\nNo other special per-namespace handling for raw sockets is required.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5ba31f11f6cae785e893d5d10abd612fef0b6bc",
      "tree": "9c4f4782fc52569218e6e9b1c8ab5c5820cd53eb",
      "parents": [
        "f51d599fbecf4881a36466f0355da6b0b346ea70"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jan 14 05:36:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:06 2008 -0800"
      },
      "message": "[NETNS][RAW]: Eliminate explicit init_net references.\n\nHappily, in all the rest places (-\u003ebind callbacks only), that require the\nstruct net, we have a socket, so get the net from it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f51d599fbecf4881a36466f0355da6b0b346ea70",
      "tree": "46cd843dd44f1b74bb69f1a2b207260e468ae1be",
      "parents": [
        "be185884b31093555dc10aa32efe0b73c835312e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jan 14 05:35:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:06 2008 -0800"
      },
      "message": "[NETNS][RAW]: Make /proc/net/raw(6) show per-namespace socket list.\n\nPull the struct net pointer up to the showing functions\nto filter the sockets depending on their namespaces.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be185884b31093555dc10aa32efe0b73c835312e",
      "tree": "245fe745220352a8757eb8cdff20c9ea59b45314",
      "parents": [
        "8d96544475b236a0f319e492f4828aa8c0801c7f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jan 14 05:35:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:05 2008 -0800"
      },
      "message": "[NETNS][RAW]: Make ipv[46] raw sockets lookup namespaces aware.\n\nThis requires just to pass the appropriate struct net pointer\ninto __raw_v[46]_lookup and skip sockets that do not belong\nto a needed namespace.\n\nThe proper net is get from skb-\u003edev in all the cases.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "09f7709f4929666006931f1d4efc498a6d419bbc",
      "tree": "344e5b2909567eea3a2275d3b22fb8c4413157fb",
      "parents": [
        "69567d0b63b7f4ffeb53fe746c87bd6efe1c284b"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Thu Dec 13 05:34:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:46 2008 -0800"
      },
      "message": "[IPV6]: fix section mismatch warnings\n\nRemoved useless and buggy __exit section in the different\nipv6 subsystems. Otherwise they will be called inside an\ninit section during rollbacking in case of an error in the\nprotocol initialization.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb72845e699d3c84e5f861b51db686107a51dea5",
      "tree": "a4a84343cbcc96e86c83954dc82f2a5ee0ce787d",
      "parents": [
        "7233b9f33e72ca477034ff5cf901c89efba3a5bc"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 18:48:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:42 2008 -0800"
      },
      "message": "[IPSEC]: Make callers of xfrm_lookup to use XFRM_LOOKUP_WAIT\n\nThis patch converts all callers of xfrm_lookup that used an\nexplicit value of 1 to indiciate blocking to use the new flag\nXFRM_LOOKUP_WAIT.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f4e4868f3ce0e946f116c28fa4fe033be5e4ba9",
      "tree": "144add1d4c94a145f7e048a17d91b563f5e6e265",
      "parents": [
        "87c3efbfdd1f98af14a1f60ff19f73d9a8d8da98"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Dec 11 02:25:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:13 2008 -0800"
      },
      "message": "[IPV6]: make the protocol initialization to return an error code\n\nThis patchset makes the different protocols to return an error code, so\nthe af_inet6 module can check the initialization was correct or not.\n\nThe raw6 was taken into account to be consistent with the rest of the\nprotocols, but the registration is at the same place.\nBecause the raw6 has its own init function, the proto and the ops structure\ncan be moved inside the raw6.c file.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42a73808ed4f30b739eb52bcbb33a02fe62ceef5",
      "tree": "3bd75f0afd1277d9340aa416ff79eec0be040392",
      "parents": [
        "ab70768ec78c6784958bab3b58fbe3f4150006df"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 19 22:38:33 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:32 2008 -0800"
      },
      "message": "[RAW]: Consolidate proc interface.\n\nBoth ipv6/raw.c and ipv4/raw.c use the seq files to walk\nthrough the raw sockets hash and show them.\n\nThe \"walking\" code is rather huge, but is identical in both\ncases. The difference is the hash table to walk over and\nthe protocol family to check (this was not in the first\nvirsion of the patch, which was noticed by YOSHIFUJI)\n\nMake the -\u003eopen store the needed hash table and the family\non the allocated raw_iter_state and make the start/next/stop\ncallbacks work with it.\n\nThis removes most of the code.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab70768ec78c6784958bab3b58fbe3f4150006df",
      "tree": "65c09684bb97c028554d6dd7157a6124585f4734",
      "parents": [
        "65b4c50b47c4ac3d2b5a82e5553b8e5613fb9585"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 19 22:37:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:31 2008 -0800"
      },
      "message": "[RAW]: Consolidate proto-\u003eunhash callback\n\nSame as the -\u003ehash one, this is easily consolidated.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65b4c50b47c4ac3d2b5a82e5553b8e5613fb9585",
      "tree": "7278ca549a04aba218a93e489a44be4410ec3239",
      "parents": [
        "b673e4dfc8f29e5bfe4d342029b793e9d504f6dd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 19 22:37:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:31 2008 -0800"
      },
      "message": "[RAW]: Consolidate proto-\u003ehash callback\n\nHaving the raw_hashinfo it\u0027s easy to consolidate the\nraw[46]_hash functions.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b673e4dfc8f29e5bfe4d342029b793e9d504f6dd",
      "tree": "e0282a3819176b9f28eb7e2021c55c70bdbda50e",
      "parents": [
        "69d6da0b0faa70249a243a14e6066c013e9294e5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 19 22:36:45 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:30 2008 -0800"
      },
      "message": "[RAW]: Introduce raw_hashinfo structure\n\nThe ipv4/raw.c and ipv6/raw.c contain many common code (most\nof which is proc interface) which can be consolidated.\n\nMost of the places to consolidate deal with the raw sockets\nhashtable, so introduce a struct raw_hashinfo which describes\nthe raw sockets hash.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "6e23ae2a48750bda407a4a58f52a4865d7308bf5",
      "tree": "633fd60b2a42bf6fdb86564f0c05a6d52d8dc92b",
      "parents": [
        "1bf06cd2e338fd6fc29169d30eaf0df982338285"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Nov 19 18:53:30 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:55 2008 -0800"
      },
      "message": "[NETFILTER]: Introduce NF_INET_ hook values\n\nThe IPv4 and IPv6 hook values are identical, yet some code tries to figure\nout the \"correct\" value by looking at the address family. Introduce NF_INET_*\nvalues for both IPv4 and IPv6. The old values are kept in a #ifndef __KERNEL__\nsection for userspace compatibility.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a92aa318b4b369091fd80433c80e62838db8bc1c",
      "tree": "e1deef70d36b654080a69d94beeeab14631c259e",
      "parents": [
        "33c732c36169d7022ad7d6eb474b0c9be43a2dc1"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Tue Nov 13 20:31:14 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:34 2008 -0800"
      },
      "message": "[IPV6]: Add raw6 drops counter.\n\nAdd raw drops counter for IPv6 in /proc/net/raw6 .\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5a432f1a18b4b2efe691dd6bbb30d86a281f783",
      "tree": "fcbff269067e11c49a0fd99a568edf03036f2d55",
      "parents": [
        "47a31a6ffcca3b55149bccd5b99763e5eea60ac4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 05 23:39:51 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:59 2007 -0800"
      },
      "message": "[IPV6]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure\n\nTrivial patch to make \"tcpv6,udpv6,udplitev6,rawv6\" protocols uses the\nfast \"inuse sockets\" infrastructure\n\nEach protocol use then a static percpu var, instead of a dynamic one.\nThis saves some ram and some cpu cycles\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ef9d943d26dea764f4fecf3767001c90b778b0c",
      "tree": "f1fab72a4de636b6019374380dfb3afc9b3f9888",
      "parents": [
        "e1e992e52faa588667e1378a2573b4b8e3fa6670"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Sep 14 16:45:40 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 14 16:45:40 2007 -0700"
      },
      "message": "[IPV6]: Fix unbalanced socket reference with MSG_CONFIRM.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56b3d975bbce65f655c5612b4822da671f9fd9b2",
      "tree": "7e29d70405d9c8e28ddee3b03a07157477fc780f",
      "parents": [
        "3be550f34b03e5eb762f74d447ebbeba97efbd6d"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "message": "[NET]: Make all initialized struct seq_operations const.\n\nMake all initialized struct seq_operations in net/ const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\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": "136ebf08b46f839e2dc9db34322b654e5d9b9936",
      "tree": "6a38a3c546def150ff73effcf4afd9c55881f49c",
      "parents": [
        "2371baa4bdab3268b32009926f75e7a5d3a41506"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Tue Jun 26 23:51:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:41 2007 -0700"
      },
      "message": "[IPV6] MIP6: Kill unnecessary ifdefs.\n\nKill unnecessary CONFIG_IPV6_MIP6.\n\no It is redundant for RAW socket to keep MH out with the config then\n  it can handle any protocol.\no Clean-up at AH.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14e50e57aedb2a89cf79b77782879769794cab7b",
      "tree": "46cbdab9c8007cea0821294c9d397214b38ea4c8",
      "parents": [
        "04efb8787e4d8a7b21a61aeb723de33154311256"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 18:17:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 18:17:54 2007 -0700"
      },
      "message": "[XFRM]: Allow packet drops during larval state resolution.\n\nThe current IPSEC rule resolution behavior we have does not work for a\nlot of people, even though technically it\u0027s an improvement from the\n-EAGAIN buisness we had before.\n\nRight now we\u0027ll block until the key manager resolves the route.  That\nworks for simple cases, but many folks would rather packets get\nsilently dropped until the key manager resolves the IPSEC rules.\n\nWe can\u0027t tell these folks to \"set the socket non-blocking\" because\nthey don\u0027t have control over the non-block setting of things like the\nsockets used to resolve DNS deep inside of the resolver libraries in\nlibc.\n\nWith that in mind I coded up the patch below with some help from\nHerbert Xu which provides packet-drop behavior during larval state\nresolution, controllable via sysctl and off by default.\n\nThis lays the framework to either:\n\n1) Make this default at some point or...\n\n2) Move this logic into xfrm{4,6}_policy.c and implement the\n   ARP-like resolution queue we\u0027ve all been dreaming of.\n   The idea would be to queue packets to the policy, then\n   once the larval state is resolved by the key manager we\n   re-resolve the route and push the packets out.  The\n   packets would timeout if the rule didn\u0027t get resolved\n   in a certain amount of time.\n\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"
    }
  ],
  "next": "604763722c655c7e3f31ecf6f7b4dafcd26a7a15"
}
