)]}'
{
  "log": [
    {
      "commit": "a3a858ff18a72a8d388e31ab0d98f7e944841a62",
      "tree": "e51a59ce280f0aa818ac5e1d989bc8a137b7cd47",
      "parents": [
        "2499849ee8f513e795b9f2c19a42d6356e4943a4"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Thu Mar 04 18:01:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 05 13:34:03 2010 -0800"
      },
      "message": "net: backlog functions rename\n\nsk_add_backlog -\u003e __sk_add_backlog\nsk_add_backlog_limited -\u003e sk_add_backlog\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55349790d7cbf0d381873a7ece1dcafcffd4aaa9",
      "tree": "2f5cc194b8d7b2fd559c24fe2dfd946535923daa",
      "parents": [
        "6b03a53a5ab7ccf2d5d69f96cf1c739c4d2a8fb9"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Thu Mar 04 18:01:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 05 13:34:00 2010 -0800"
      },
      "message": "udp: use limited socket backlog\n\nMake udp adapt to the limited socket backlog change.\n\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: \"Pekka Savola (ipv6)\" \u003cpekkas@netcore.fi\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ffe533c87281b68d469b279ff3a5056f9c75862",
      "tree": "456d4c8c877e937fd4919e4c30c75a7bb9f6651f",
      "parents": [
        "bbef49daca35d4fd21bf606a10b6980f17d9df5d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Feb 18 08:25:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 18 14:30:17 2010 -0800"
      },
      "message": "ipv6: drop unused \"dev\" arg of icmpv6_send()\n\nDunno, what was the idea, it wasn\u0027t used for a long time.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81d54ec8479a2c695760da81f05b5a9fb2dbe40a",
      "tree": "4a7da65da1b418e1e18291ddae807fad83dca1f0",
      "parents": [
        "55d955902a7f78e3e7c9ddbc71a4a050d9d44810"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Feb 10 20:26:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 12 16:51:10 2010 -0800"
      },
      "message": "udp: remove redundant variable\n\nThe variable \u0027copied\u0027 is used in udp_recvmsg() to emphasize that the passed\n\u0027len\u0027 is adjusted to fit the actual datagram length. But the same can be\ndone by adjusting \u0027len\u0027 directly. This patch thus removes the indirection.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c8c1e7297e19bdef3c178c3ea41d898a7716e3e",
      "tree": "4d336562e8d5379732a0646e17b0bb1750111ef6",
      "parents": [
        "72659ecce68588b74f6c46862c2b4cec137d7a5a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jan 17 03:35:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:16:02 2010 -0800"
      },
      "message": "net: spread __net_init, __net_exit\n\n__net_init/__net_exit are apparently not going away, so use them\nto full extent.\n\nIn some cases __net_init was removed, because it was called from\n__net_exit code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "856540ee3116ac04a49bc06c2f30f54dd3faf7db",
      "tree": "842262f8d70efbc0ca73988370494a08bd52acad",
      "parents": [
        "246c65add098a5ec14310ea17f39fdd57ff8407d"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Mon Nov 09 12:05:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 20:54:44 2009 -0800"
      },
      "message": "IPv6: use ipv6_addr_v4mapped()\n\nChange udp6_portaddr_hash() to use ipv6_addr_v4mapped()\ninline instead of ipv6_addr_type().\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30fff9231fad757c061285e347b33c5149c2c2e4",
      "tree": "79d07aba4b8de4367090442292e412d1ccf961ef",
      "parents": [
        "0ab365f463b9c5c8b76476a1808dfde1c38f6f19"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 09 05:26:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 20:54:38 2009 -0800"
      },
      "message": "udp: bind() optimisation\n\nUDP bind() can be O(N^2) in some pathological cases.\n\nThanks to secondary hash tables, we can make it O(N)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6b8f32ca71406de718391369490f6b1e81fe0bb",
      "tree": "6a9d65cc246c74a78d7274d1911baf38ffc8eaf0",
      "parents": [
        "a1ab77f97ed03f5dae66ae4c64375beffab83772"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:20:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:10 2009 -0800"
      },
      "message": "udp: multicast RX should increment SNMP/sk_drops counter in allocation failures\n\nWhen skb_clone() fails, we should increment sk_drops and SNMP counters.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1ab77f97ed03f5dae66ae4c64375beffab83772",
      "tree": "04ad6bf5def42fc415b85f3e0fe1638e64b26eea",
      "parents": [
        "1240d1373cd7f874dd0f3057c3e9643e71ef75c6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:18:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:09 2009 -0800"
      },
      "message": "ipv6: udp: Optimise multicast reception\n\nIPV6 UDP multicast rx path is a bit complex and can hold a spinlock\nfor a long time.\n\nUsing a small (32 or 64 entries) stack of socket pointers can help\nto perform expensive operations (skb_clone(), udp_queue_rcv_skb())\noutside of the lock, in most cases.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fddc17defa22d8caba1cdfb2e22b50bb4b9f35c0",
      "tree": "565a1232275c2abbed3d55950a73f647a66e1289",
      "parents": [
        "5051ebd275de672b807c28d93002c2fb0514a3c9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:18:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:07 2009 -0800"
      },
      "message": "ipv6: udp: optimize unicast RX path\n\nWe first locate the (local port) hash chain head\nIf few sockets are in this chain, we proceed with previous lookup algo.\n\nIf too many sockets are listed, we take a look at the secondary\n(port, address) hash chain.\n\nWe choose the shortest chain and proceed with a RCU lookup on the elected chain.\n\nBut, if we chose (port, address) chain, and fail to find a socket on given address,\n we must try another lookup on (port, in6addr_any) chain to find sockets not bound\nto a particular IP.\n\n-\u003e No extra cost for typical setups, where the first lookup will probabbly\nbe performed.\n\nRCU lookups everywhere, we dont acquire spinlock.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4cada4ae1c012815f95fa507eb86a0ae9d607d7",
      "tree": "23cdfb3763c9140ae095bf8095c3e6b16f7b48f3",
      "parents": [
        "fdcc8aa953a1123a289791dd192090651036d593"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:17:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:05 2009 -0800"
      },
      "message": "udp: split sk_hash into two u16 hashes\n\nUnion sk_hash with two u16 hashes for udp (no extra memory taken)\n\nOne 16 bits hash on (local port) value (the previous udp \u0027hash\u0027)\n\nOne 16 bits hash on (local address, local port) values, initialized\nbut not yet used. This second hash is using jenkin hash for better\ndistribution.\n\nBecause the \u0027port\u0027 is xored later, a partial hash is performed\non local address + net_hash_mix(net)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "230f9bb701d37ae9b48e96456689452978f5c439",
      "tree": "9d2690917533bbb4498c8c9df838de2d38360912",
      "parents": [
        "000ba2e43f33901859fd794bb33c885909d53b3b",
        "887e671f324d9898aaedb29a6ece6c853c394067"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:55:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:55:55 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/usb/cdc_ether.c\n\nAll CDC ethernet devices of type USB_CLASS_COMM need to use\n\u0027\u0026mbm_info\u0027.\n\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": "9d410c796067686b1e032d54ce475b7055537138",
      "tree": "4442bdbe4a4be1cce024f2e83a12b7404ef935fa",
      "parents": [
        "63ca2d74ea4f9c7a7ac082c915609a7b224908e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 30 05:03:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:25:12 2009 -0700"
      },
      "message": "net: fix sk_forward_alloc corruption\n\nOn UDP sockets, we must call skb_free_datagram() with socket locked,\nor risk sk_forward_alloc corruption. This requirement is not respected\nin SUNRPC.\n\nAdd a convenient helper, skb_free_datagram_locked() and use it in SUNRPC\n\nReported-by: Francis Moreau \u003cfrancis.moro@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": "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": "f86dcc5aa8c7908f2c287e7a211228df599e3e71",
      "tree": "1721c94d0254b337b0668b2e331771dfef4b142d",
      "parents": [
        "8a6dfd43d1891882f8ca05d73aa7735fb0edae3b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 07 00:37:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 22:00:22 2009 -0700"
      },
      "message": "udp: dynamically size hash tables at boot time\n\nUDP_HTABLE_SIZE was initialy defined to 128, which is a bit small for\nseveral setups.\n\n4000 active UDP sockets -\u003e 32 sockets per chain in average. An\nincoming frame has to lookup all sockets to find best match, so long\nchains hurt latency.\n\nInstead of a fixed size hash table that cant be perfect for every\nneeds, let UDP stack choose its table size at boot time like tcp/ip\nroute, using alloc_large_system_hash() helper\n\nAdd an optional boot parameter, uhash_entries\u003dx so that an admin can\nforce a size between 256 and 65536 if needed, like thash_entries and\nrhash_entries.\n\ndmesg logs two new lines :\n[    0.647039] UDP hash table entries: 512 (order: 0, 4096 bytes)\n[    0.647099] UDP Lite hash table entries: 512 (order: 0, 4096 bytes)\n\nMaximal size on 64bit arches would be 65536 slots, ie 1 MBytes for non\ndebugging spinlocks.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b301e82cf8104cfddbe5452ebe625bab49597c64",
      "tree": "49d7f8c91833e0658bf4074c0022bbf34790ce47",
      "parents": [
        "86c36ce45dc2e2f022562c6481cd778f4cc381a9"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Wed Oct 07 13:58:25 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 13:58:25 2009 -0700"
      },
      "message": "IPv6: use ipv6_addr_set_v4mapped()\n\nMight as well use the ipv6_addr_set_v4mapped() inline we created last\nyear.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51953d5bc43e468f24cc573a45cde1d32af129b8",
      "tree": "e275eb5019dc07bdea3ac61b6198c5c410c49e41",
      "parents": [
        "d73d3a8cb4723e161589864741d8528d70b350eb"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Mon Oct 05 08:24:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:45 2009 -0700"
      },
      "message": "Use sk_mark for IPv6 routing lookups\n\nAtis Elsts wrote:\n\u003e Not sure if there is need to fill the mark from skb in tunnel xmit functions. In any case, it\u0027s not done for GRE or IPIP tunnels at the moment.\n\nOk, I\u0027ll just drop that part, I\u0027m not sure what should be done in this case.\n\n\u003e Also, in this patch you are doing that for SIT (v6-in-v4) tunnels only, and not doing it for v4-in-v6 or v6-in-v6 tunnels. Any reason for that?\n\nI just sent that patch out too quickly, here\u0027s a better one with the updates.\n\nAdd support for IPv6 route lookups using sk_mark.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.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": "41135cc836a1abeb12ca1416bdb29e87ad021153",
      "tree": "01c402f2fb9ac494dc3655a17e92072b170b7c1f",
      "parents": [
        "32613090a96dba2ca2cc524c8d4749d3126fdde5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:22:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:05 2009 -0700"
      },
      "message": "net: constify struct inet6_protocol\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "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": "ba73542585a4a3c8a708f502e62e6e63dd74b66c",
      "tree": "5dbb997e5f2f0eeb1cbc03000f8121b322b254cd",
      "parents": [
        "7ea2f2c5a66e4e9a8d96296ac47ad895c467ee1d"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Thu Jul 09 08:10:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 12 14:29:29 2009 -0700"
      },
      "message": "udpv6: Handle large incoming UDP/IPv6 packets and support software UFO\n\n- validate and forward GSO UDP/IPv6 packets from untrusted sources.\n- do software UFO if the outgoing device doesn\u0027t support UFO.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "493c6be3fedfe24aa676949b237b9b104d911abf",
      "tree": "9600f2491c61e1cac07b6da334c55536de7946c9",
      "parents": [
        "d7ca4cc01fd154f2da30ae6dae160fa5800af758"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Thu Jul 09 08:09:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 12 14:29:24 2009 -0700"
      },
      "message": "udpv6: Fix HW checksum support for outgoing UFO packets\n\n- add HW checksum support for outgoing large UDP/IPv6 packets destined for\n  a UFO enabled device.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\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": "499923c7a3254971873e55a1690d07d3700eea47",
      "tree": "42c5c7281d9edd02e8130ee72306a5f5d8a2f367",
      "parents": [
        "48f6e8990858fc9a0ca7d3c9347e6774eb941dba"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Apr 09 17:37:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 11 01:53:06 2009 -0700"
      },
      "message": "ipv6: Fix NULL pointer dereference with time-wait sockets\n\nCommit b2f5e7cd3dee2ed721bf0675e1a1ddebb849aee6\n(ipv6: Fix conflict resolutions during ipv6 binding)\nintroduced a regression where time-wait sockets were\nnot treated correctly.  This resulted in the following:\n\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000062\nIP: [\u003cffffffff805d7d61\u003e] ipv4_rcv_saddr_equal+0x61/0x70\n...\nCall Trace:\n[\u003cffffffffa033847b\u003e] ipv6_rcv_saddr_equal+0x1bb/0x250 [ipv6]\n[\u003cffffffffa03505a8\u003e] inet6_csk_bind_conflict+0x88/0xd0 [ipv6]\n[\u003cffffffff805bb18e\u003e] inet_csk_get_port+0x1ee/0x400\n[\u003cffffffffa0319b7f\u003e] inet6_bind+0x1cf/0x3a0 [ipv6]\n[\u003cffffffff8056d17c\u003e] ? sockfd_lookup_light+0x3c/0xd0\n[\u003cffffffff8056ed49\u003e] sys_bind+0x89/0x100\n[\u003cffffffff80613ea2\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3c\n[\u003cffffffff8020bf9b\u003e] system_call_fastpath+0x16/0x1b\n\nTested-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nTested-by: Ed Tomlinson \u003cedt@aei.ca\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2f5e7cd3dee2ed721bf0675e1a1ddebb849aee6",
      "tree": "a7b48c260a3cb0050ad6198c6a50b52b318dfcb8",
      "parents": [
        "63d9950b08184e6531adceb65f64b429909cc101"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Mar 24 16:24:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 24 19:49:11 2009 -0700"
      },
      "message": "ipv6: Fix conflict resolutions during ipv6 binding\n\nThe ipv6 version of bind_conflict code calls ipv6_rcv_saddr_equal()\nwhich at times wrongly identified intersections between addresses.\nIt particularly broke down under a few instances and caused erroneous\nbind conflicts.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f690db7ff4cb32493c0b0b13334cc4f5fd49a6b",
      "tree": "c4f3dfb17ba368dffc5da8a8ffe575e0f99065e7",
      "parents": [
        "f250dcdac111a8369220b8e192eae6c56dc1098a"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Tue Dec 16 02:08:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 16 02:08:29 2008 -0800"
      },
      "message": "ipv6: fix the outgoing interface selection order in udpv6_sendmsg()\n\n1.When no interface is specified in an IPV6_PKTINFO ancillary data\n  item, the interface specified in an IPV6_PKTINFO sticky optionis \n  is used.\n\nRFC3542:\n6.7.  Summary of Outgoing Interface Selection\n\n   This document and [RFC-3493] specify various methods that affect the\n   selection of the packet\u0027s outgoing interface.  This subsection\n   summarizes the ordering among those in order to ensure deterministic\n   behavior.\n\n   For a given outgoing packet on a given socket, the outgoing interface\n   is determined in the following order:\n\n   1. if an interface is specified in an IPV6_PKTINFO ancillary data\n      item, the interface is used.\n\n   2. otherwise, if an interface is specified in an IPV6_PKTINFO sticky\n      option, the interface is used.\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.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": "88ab1932eac721c6e7336708558fa5ed02c85c80",
      "tree": "c8788a1e3de08100bca341fa4180adfe5d02880f",
      "parents": [
        "bbaffaca4810de1a25e32ecaf836eeaacc7a3d11"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:39:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:39:21 2008 -0800"
      },
      "message": "udp: Use hlist_nulls in UDP RCU code\n\nThis is a straightforward patch, using hlist_nulls infrastructure.\n\nRCUification already done on UDP two weeks ago.\n\nUsing hlist_nulls permits us to avoid some memory barriers, both\nat lookup time and delete time.\n\nPatch is large because it adds new macros to include/net/sock.h.\nThese macros will be used by TCP \u0026 DCCP in next patch.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9eeda9abd1faf489f3df9a1f557975f4c8650363",
      "tree": "3e0a58e25b776cfbee193195460324dccb1886c7",
      "parents": [
        "61c9eaf90081cbe6dc4f389e0056bff76eca19ec",
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath5k/base.c\n\tnet/8021q/vlan_core.c\n"
    },
    {
      "commit": "0856f93958c488f0cc656be53c26dfd20663bdb3",
      "tree": "bba86ff48a9eef920fafde53127f7a3f5fc67bd1",
      "parents": [
        "f26ba1751145edbf52b2c89a40e389f2fbdfc1af"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Nov 02 16:14:27 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 02 23:52:46 2008 -0800"
      },
      "message": "udp: Fix the SNMP counter of UDP_MIB_INERRORS\n\nUDP packets received in udpv6_recvmsg() are not only IPv6 UDP packets, but\nalso have IPv4 UDP packets, so when do the counter of UDP_MIB_INERRORS in\nudpv6_recvmsg(), we should check whether the packet is a IPv6 UDP packet\nor a IPv4 UDP packet.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f26ba1751145edbf52b2c89a40e389f2fbdfc1af",
      "tree": "abb81ca460a07a99852f9c579d4c3324faacc801",
      "parents": [
        "70d9d15833864e7120c3ffcfdbd6fa61f5f9726a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Nov 02 16:11:01 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 02 23:52:45 2008 -0800"
      },
      "message": "udp: Fix the SNMP counter of UDP_MIB_INDATAGRAMS\n\nIf UDP echo is sent to xinetd/echo-dgram, the UDP reply will be received\nat the sender. But the SNMP counter of UDP_MIB_INDATAGRAMS will be not\nincreased, UDP6_MIB_INDATAGRAMS will be increased instead.\n\n  Endpoint A                      Endpoint B\n  UDP Echo request -----------\u003e\n  (IPv4, Dst port\u003d7)\n                   \u003c----------    UDP Echo Reply\n                                  (IPv4, Src port\u003d7)\n\nThis bug is come from this patch cb75994ec311b2cd50e5205efdcc0696abd6675d.\n\nIt do counter UDP[6]_MIB_INDATAGRAMS until udp[v6]_recvmsg. Because\nxinetd used IPv6 socket to receive UDP messages, thus, when received\nUDP packet, the UDP6_MIB_INDATAGRAMS will be increased in function\nudpv6_recvmsg() even if the packet is a IPv4 UDP packet.\n\nThis patch fixed the problem.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920a46115ca3fa88990276d98520abab85495b2d",
      "tree": "a0960e925f2426da9766acfed2dbee144f30299c",
      "parents": [
        "d1a203eac0ec13cd1c0ba610fe7a55c9bc40473b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Nov 01 21:22:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 01 21:22:23 2008 -0700"
      },
      "message": "udp: multicast packets need to check namespace\n\nCurrent UDP multicast delivery is not namespace aware.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96631ed16c514cf8b28fab991a076985ce378c26",
      "tree": "60023b60c6eaf2acdc8fcad258585e4425ebaf91",
      "parents": [
        "f52b5054ec108aaa9e903850d6b62af8ae3fe6ae"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Oct 29 11:19:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 11:19:58 2008 -0700"
      },
      "message": "udp: introduce sk_for_each_rcu_safenext()\n\nCorey Minyard found a race added in commit 271b72c7fa82c2c7a795bc16896149933110672d\n(udp: RCU handling for Unicast packets.)\n\n \"If the socket is moved from one list to another list in-between the\n time the hash is calculated and the next field is accessed, and the\n socket has moved to the end of the new list, the traversal will not\n complete properly on the list it should have, since the socket will\n be on the end of the new list and there\u0027s not a way to tell it\u0027s on a\n new list and restart the list traversal.  I think that this can be\n solved by pre-fetching the \"next\" field (with proper barriers) before\n checking the hash.\"\n\nThis patch corrects this problem, introducing a new\nsk_for_each_rcu_safenext() macro.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "271b72c7fa82c2c7a795bc16896149933110672d",
      "tree": "5634b95c04b4a7ac9babf2d8ac34cfb6c38a8f83",
      "parents": [
        "645ca708f936b2fbeb79e52d7823e3eb2c0905f8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Oct 29 02:11:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 02:11:14 2008 -0700"
      },
      "message": "udp: RCU handling for Unicast packets.\n\nGoals are :\n\n1) Optimizing handling of incoming Unicast UDP frames, so that no memory\n writes should happen in the fast path.\n\n Note: Multicasts and broadcasts still will need to take a lock,\n because doing a full lockless lookup in this case is difficult.\n\n2) No expensive operations in the socket bind/unhash phases :\n  - No expensive synchronize_rcu() calls.\n\n  - No added rcu_head in socket structure, increasing memory needs,\n  but more important, forcing us to use call_rcu() calls,\n  that have the bad property of making sockets structure cold.\n  (rcu grace period between socket freeing and its potential reuse\n   make this socket being cold in CPU cache).\n  David did a previous patch using call_rcu() and noticed a 20%\n  impact on TCP connection rates.\n  Quoting Cristopher Lameter :\n   \"Right. That results in cacheline cooldown. You\u0027d want to recycle\n    the object as they are cache hot on a per cpu basis. That is screwed\n    up by the delayed regular rcu processing. We have seen multiple\n    regressions due to cacheline cooldown.\n    The only choice in cacheline hot sensitive areas is to deal with the\n    complexity that comes with SLAB_DESTROY_BY_RCU or give up on RCU.\"\n\n  - Because udp sockets are allocated from dedicated kmem_cache,\n  use of SLAB_DESTROY_BY_RCU can help here.\n\nTheory of operation :\n---------------------\n\nAs the lookup is lockfree (using rcu_read_lock()/rcu_read_unlock()),\nspecial attention must be taken by readers and writers.\n\nUse of SLAB_DESTROY_BY_RCU is tricky too, because a socket can be freed,\nreused, inserted in a different chain or in worst case in the same chain\nwhile readers could do lookups in the same time.\n\nIn order to avoid loops, a reader must check each socket found in a chain\nreally belongs to the chain the reader was traversing. If it finds a\nmismatch, lookup must start again at the begining. This *restart* loop\nis the reason we had to use rdlock for the multicast case, because\nwe dont want to send same message several times to the same socket.\n\nWe use RCU only for fast path.\nThus, /proc/net/udp still takes spinlocks.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "645ca708f936b2fbeb79e52d7823e3eb2c0905f8",
      "tree": "b384696994ee3cb04759a7bfffc29a48e4bf40f6",
      "parents": [
        "b189db5d299c6824780af5590564ff608adb3dea"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Oct 29 01:41:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 01:41:45 2008 -0700"
      },
      "message": "udp: introduce struct udp_table and multiple spinlocks\n\nUDP sockets are hashed in a 128 slots hash table.\n\nThis hash table is protected by *one* rwlock.\n\nThis rwlock is readlocked each time an incoming UDP message is handled.\n\nThis rwlock is writelocked each time a socket must be inserted in\nhash table (bind time), or deleted from this table (close time)\n\nThis is not scalable on SMP machines :\n\n1) Even in read mode, lock() and unlock() are atomic operations and\n must dirty a contended cache line, shared by all cpus.\n\n2) A writer might be starved if many readers are \u0027in flight\u0027. This can\n happen on a machine with some NIC receiving many UDP messages. User\n process can be delayed a long time at socket creation/dismantle time.\n\nThis patch prepares RCU migration, by introducing \u0027struct udp_table\nand struct udp_hslot\u0027, and using one spinlock per chain, to reduce\ncontention on central rwlock.\n\nIntroducing one spinlock per chain reduces latencies, for port\nrandomization on heavily loaded UDP servers. This also speedup\nbindings to specific ports.\n\nudp_lib_unhash() was uninlined, becoming to big.\n\nSome cleanups were done to ease review of following patch\n(RCUification of UDP Unicast lookups)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23542618deb77cfed312842fe8c41ed19fb16470",
      "tree": "9658279a6e3593846a9127c7a8bffb7ce0077d62",
      "parents": [
        "607c4aaf03041c8bd81555a0218050c0f895088e"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Tue Oct 07 12:41:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 12:41:01 2008 -0700"
      },
      "message": "inet: Don\u0027t lookup the socket if there\u0027s a socket attached to the skb\n\nUse the socket cached in the skb if it\u0027s present.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "607c4aaf03041c8bd81555a0218050c0f895088e",
      "tree": "130cfcfca74eccb135592a883000a319e94cd7e2",
      "parents": [
        "9a1f27c48065ce713eb47f2fd475b717e63ef239"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Tue Oct 07 12:38:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 12:38:32 2008 -0700"
      },
      "message": "inet: Add udplib_lookup_skb() helpers\n\nTo be able to use the cached socket reference in the skb during input\nprocessing we add a new set of lookup functions that receive the skb on\ntheir argument list.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d97106ea52aa57e63ff40d04479016836bbb5a4e",
      "tree": "5969603d7af02a5672f61c84c2017a6e064472f5",
      "parents": [
        "8123b421e8ed944671d7241323ed3198cccb4041"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Aug 09 00:35:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 09 00:35:05 2008 -0700"
      },
      "message": "udp: Drop socket lock for encapsulated packets\n\nThe socket lock is there to protect the normal UDP receive path.\nEncapsulation UDP sockets don\u0027t need that protection.  In fact\nthe locking is deadly for them as they may contain another UDP\npacket within, possibly with the same addresses.\n\nAlso the nested bit was copied from TCP.  TCP needs it because\nof accept(2) spawning sockets.  This simply doesn\u0027t apply to UDP\nso I\u0027ve removed it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef28d1a20f9f18ebf1be15ef6f097a76f9a63499",
      "tree": "7d2f927dfcb09306912d81c50b8dc5eb0c02e21b",
      "parents": [
        "235b9f7ac53489011d32efeb89e12e308fdd2c64"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Jul 05 21:19:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 21:19:40 2008 -0700"
      },
      "message": "MIB: add struct net to UDP6_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "235b9f7ac53489011d32efeb89e12e308fdd2c64",
      "tree": "8e808aa14ba4950a8a4e11f2e9386a0be867023d",
      "parents": [
        "0283328e2360bbf3081e97f1b720dd4c4dbae111"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Jul 05 21:19:20 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 21:19:20 2008 -0700"
      },
      "message": "MIB: add struct net to UDP6_INC_STATS_USER\n\nAs simple as the patch #1 in this set.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-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": "19c7578fb22b0aef103222cae9b522f03ae489d6",
      "tree": "645365b1bfb70bf758633934660608be180f07f0",
      "parents": [
        "e31634931d00081c75e3fb3f3ec51a50dbf108bb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jun 16 17:12:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 16 17:12:29 2008 -0700"
      },
      "message": "udp: add struct net argument to udp_hashfn\n\nEvery caller already has this one. The new argument is currently \nunused, but this will be fixed shortly.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e31634931d00081c75e3fb3f3ec51a50dbf108bb",
      "tree": "ce1ef0eacc371bab82a604a9d42ae0b854a33031",
      "parents": [
        "d6266281f8175e3ad68c28b20a609b278b47ade5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jun 16 17:12:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 16 17:12:11 2008 -0700"
      },
      "message": "udp: provide a struct net pointer for __udp[46]_lib_mcast_deliver\n\nThey both calculate the hash chain, but currently do not have\na struct net pointer, so pass one there via additional argument,\nall the more so their callers already have such.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6266281f8175e3ad68c28b20a609b278b47ade5",
      "tree": "16e8643eb5560d70daf1097c3a09df21b6d186c1",
      "parents": [
        "942e7b102a4827fdb69a39c7f07c544542589ef9"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jun 16 17:11:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 16 17:11:50 2008 -0700"
      },
      "message": "udp: introduce a udp_hashfn function\n\nCurrently the chain to store a UDP socket is calculated with\nsimple (x \u0026 (UDP_HTABLE_SIZE - 1)). But taking net into account\nwould make this calculation a bit more complex, so moving it into\na function would help.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "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": "36d926b94a9908937593e5669162305a071b9cc3",
      "tree": "c298f82a8d8b87ab4ebf7b514b394763889108b0",
      "parents": [
        "49d074f4009a7b5ce9c17b040f978abcb4d7f6f6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Jun 04 15:49:07 2008 +0400"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 05 04:02:38 2008 +0900"
      },
      "message": "[IPV6]: inet_sk(sk)-\u003ecork.opt leak\n\nIPv6 UDP sockets wth IPv4 mapped address use udp_sendmsg to send the data\nactually. In this case ip_flush_pending_frames should be called instead\nof ip6_flush_pending_frames.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\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": "a3c960899e042bc1c2b730a2115fa32da7802039",
      "tree": "d12d8270414bc113b0ae5b7ffc0d23096b30e193",
      "parents": [
        "e51171019bb0e1f9fb57c25bd2e38ce652eaea27"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Jun 04 01:30:25 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 05 04:02:31 2008 +0900"
      },
      "message": "[IPV6] UDP: Possible dst leak in udpv6_sendmsg.\n\nip6_sk_dst_lookup returns held dst entry. It should be released\non all paths beyond this point. Add missed release when up-\u003epending\nis set.\n\nBug report and initial patch by Denis V. Lunev \u003cden@openvz.org\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.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": "4ad96d39a2d74c1b2e400b602da2594f5098fc26",
      "tree": "570666522e544892feba440728a59f336e13c3dd",
      "parents": [
        "3ba9441bdf07370670a684e6d95dfc523476677f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Mar 28 18:25:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 18:25:53 2008 -0700"
      },
      "message": "[UDP]: Remove owner from udp_seq_afinfo.\n\nMove it to udp_seq_afinfo-\u003eseq_fops as should be.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ba9441bdf07370670a684e6d95dfc523476677f",
      "tree": "ec31a5f5c5e1fc0d807575c733a04d2adbf44c09",
      "parents": [
        "a2be75c182cd16bc104919e33451ffda8b6f65b4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Mar 28 18:25:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 18:25:32 2008 -0700"
      },
      "message": "[UDP]: Place file operations directly into udp_seq_afinfo.\n\nNo need to have separate never-used variable.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dda61925f84d89e2f2a4597d6298a05a2bc05c20",
      "tree": "8d66baedac68ed6a1c026f0142ab405f5c733597",
      "parents": [
        "997feb5e7a24ce155c1d3bea9d0b5c6530bb6197"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Mar 28 18:24:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 18:24:26 2008 -0700"
      },
      "message": "[UDP]: Move seq_ops from udp_iter_state to udp_seq_afinfo.\n\nNo need to create seq_operations for each instance of \u0027netstat\u0027.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.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": "6ba5a3c52da00015e739469e3b00cd6d0d4c5c67",
      "tree": "0cbccb2dac9307cec25176eb94ff4f406a2061f7",
      "parents": [
        "39d8cda76cfb1178455f9d196b39e773878e6c05"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Mar 22 16:51:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 22 16:51:21 2008 -0700"
      },
      "message": "[UDP]: Make full use of proto.h.udp_hash innovation.\n\nAfter this we have only udp_lib_get_port to get the port and two \nstubs for ipv4 and ipv6. No difference in udp and udplite except\nfor initialized h.udp_hash member.\n\nI tried to find a graceful way to drop the only difference between\nudp_v4_get_port and udp_v6_get_port (i.e. the rcv_saddr comparison \nroutine), but adding one more callback on the struct proto didn\u0027t \nappear such :( Maybe later.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c96d8c50bffb7f02690dd8a8cf1adb8e07e100f",
      "tree": "9add3d8686b41aa3022b49d9cc57710865245e26",
      "parents": [
        "f40c8174d3c21bf178283f3ef3aa8c7bf238fdec"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Mar 21 04:14:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 21 04:14:17 2008 -0700"
      },
      "message": "[NETNS][IPV6] udp6 - make proc per namespace\n\nThe proc init/exit functions take a new network namespace parameter in\norder to register/unregister /proc/net/udp6 for a namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8ad0cbc58f703972e9e37c4e2a8081dd7e6a551",
      "tree": "f4f576d4be94ea792bf075260586ab25c6507716",
      "parents": [
        "e504799276e53045a9b597f24c1b456552482f63"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Mar 07 11:16:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 07 11:16:55 2008 -0800"
      },
      "message": "[NETNS][IPV6] mcast - handle several network namespace\n\nThis patch make use of the network namespace information at the right\nplaces to handle the multicast for several network namespaces.  It\nmakes the socket control to be per namespace too.\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": "db8dac20d5199307dcfcf4e01dac4bda5edf9e89",
      "tree": "3694d1aee5c0014fb45eec045a67ca150ca1231f",
      "parents": [
        "ba0fa4599484b98dbb21d279fbfdb40e9c07d30d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 06 16:22:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 06 16:22:02 2008 -0800"
      },
      "message": "[UDP]: Revert udplite and code split.\n\nThis reverts commit db1ed684f6c430c4cdad67d058688b8a1b5e607c (\"[IPV6]\nUDP: Rename IPv6 UDP files.\"), commit\n8be8af8fa4405652e6c0797db5465a4be8afb998 (\"[IPV4] UDP: Move\nIPv4-specific bits to other file.\") and commit\ne898d4db2749c6052072e9bc4448e396cbdeb06a (\"[UDP]: Allow users to\nconfigure UDP-Lite.\").\n\nFirst, udplite is of such small cost, and it is a core protocol just\nlike TCP and normal UDP are.\n\nWe spent enormous amounts of effort to make udplite share as much code\nwith core UDP as possible.  All of that work is less valuable if we\u0027re\njust going to slap a config option on udplite support.\n\nIt is also causing build failures, as reported on linux-next, showing\nthat the changeset was not tested very well.  In fact, this is the\nsecond build failure resulting from the udplite change.\n\nFinally, the config options provided was a bool, instead of a modular\noption.  Meaning the udplite code does not even get build tested\nby allmodconfig builds, and furthermore the user is not presented\nwith a reasonable modular build option which is particularly needed\nby distribution vendors.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db1ed684f6c430c4cdad67d058688b8a1b5e607c",
      "tree": "078752bf8e7eb5cff7dea67c4d71e87547e933ae",
      "parents": [
        "8be8af8fa4405652e6c0797db5465a4be8afb998"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Feb 21 16:13:26 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 15:18:22 2008 +0900"
      },
      "message": "[IPV6] UDP: Rename IPv6 UDP files.\n\nRename net/ipv6/udp.c to net/ipv6/udp_ipv6.c\nRename net/ipv6/udplite.c to net/ipv6/udplite_ipv6.c.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "e898d4db2749c6052072e9bc4448e396cbdeb06a",
      "tree": "2b8673d85210a23e67d0817b18f401411e8936f3",
      "parents": [
        "c6aefafb7ec620911d46174eed514f9df639e5a4"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Mar 01 01:06:47 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 15:18:22 2008 +0900"
      },
      "message": "[UDP]: Allow users to configure UDP-Lite.\n\nLet\u0027s give users an option for disabling UDP-Lite (~4K).\n\nold:\n|    text\t   data\t    bss\t    dec\t    hex\tfilename\n|  286498\t  12432\t   6072\t 305002\t  4a76a\tnet/ipv4/built-in.o\n|  193830\t   8192\t   3204\t 205226\t  321aa\tnet/ipv6/ipv6.o\n\nnew (without UDP-Lite):\n|    text\t   data\t    bss\t    dec\t    hex\tfilename\n|  284086\t  12136\t   5432\t 301654\t  49a56\tnet/ipv4/built-in.o\n|  191835\t   7832\t   3076\t 202743\t  317f7\tnet/ipv6/ipv6.o\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "fa4d3c6210380c55cf7f295d28fd981fbcbb828c",
      "tree": "0161c8574349adb4eb93b2996dacf70b472696ac",
      "parents": [
        "d86e0dac2ce412715181f792aa0749fe3effff11"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:07:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:21 2008 -0800"
      },
      "message": "[NETNS]: Udp sockets per-net lookup.\n\nAdd the net parameter to udp_get_port family of calls and\nudp_lookup one and use it to filter sockets.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77d0d350e96c9453be255d8eff8dc97555710b17",
      "tree": "af9c7bce950469d4b946cfc3663fe60cf3227442",
      "parents": [
        "fc80be87dca8968fa087aae81544ba3f86afdd50"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Jan 22 17:09:55 2008 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:25 2008 -0800"
      },
      "message": "[IPV6] UDP,UDPLITE: Sparse: {__udp6_lib,udp,udplite}_err() are of void.\n\nFix following sparse warnings:\n| net/ipv6/udp.c:262:2: warning: returning void-valued expression\n| net/ipv6/udplite.c:29:2: warning: returning void-valued expression\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "95766fff6b9a78d11fc2d3812dd035381690b55d",
      "tree": "c1ec9386a3d9a76a9f74bd230d3e7d4ee8059c51",
      "parents": [
        "3ab224be6d69de912ee21302745ea45a99274dbc"
      ],
      "author": {
        "name": "Hideo Aoki",
        "email": "haoki@redhat.com",
        "time": "Mon Dec 31 00:29:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:19 2008 -0800"
      },
      "message": "[UDP]: Add memory accounting.\n\nSigned-off-by: Takahiro Yasui \u003ctyasui@redhat.com\u003e\nSigned-off-by: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9055e051b8d4b266054fe511a65a9888d30fa64f",
      "tree": "d42c5bf77ec53aff70d8be3df875789db2112774",
      "parents": [
        "8d614434ab77b440b69e66a9bd44e46e7194c34a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Dec 14 11:25:26 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:06 2008 -0800"
      },
      "message": "[UDP]: Move udp_stats_in6 into net/ipv4/udp.c\n\nNow that external users may increment the counters directly, we need\nto ensure that udp_stats_in6 is always available.  Otherwise we\u0027d\neither have to requrie the external users to be built as modules or\nipv6 to be built-in.\n\nThis isn\u0027t too bad because udp_stats_in6 is just a pair of pointers\nplus an EXPORT, e.g., just 40 (16 + 24) bytes on x86-64.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\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": "a59322be07c964e916d15be3df473fb7ba20c41e",
      "tree": "16d4caa41c1fd6c3fb907ce792202b157e6c9a1e",
      "parents": [
        "1781f7f5804e52ee2d35328b129602146a8d8254"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 05 01:53:40 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:34 2008 -0800"
      },
      "message": "[UDP]: Only increment counter on first peek/recv\n\nThe previous move of the the UDP inDatagrams counter caused each\npeek of the same packet to be counted separately.  This may be\nundesirable.\n\nThis patch fixes this by adding a bit to sk_buff to record whether\nthis packet has already been seen through skb_recv_datagram.  We\nthen only increment the counter when the packet is seen for the\nfirst time.\n\nThe only dodgy part is the fact that skb_recv_datagram doesn\u0027t have\na good way of returning this new bit of information.  So I\u0027ve added\na new function __skb_recv_datagram that does return this and made\nskb_recv_datagram a wrapper around it.\n\nThe plan is to eventually replace all uses of skb_recv_datagram with\nthis new function at which time it can be renamed its proper name.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1781f7f5804e52ee2d35328b129602146a8d8254",
      "tree": "dc67102f480e59d87859c50392452be4f41487bd",
      "parents": [
        "27ab2568649d5ba6c5a20212079b7c4f6da4ca0d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Dec 11 11:30:32 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:33 2008 -0800"
      },
      "message": "[UDP]: Restore missing inDatagrams increments\n\nThe previous move of the the UDP inDatagrams counter caused the\ncounting of encapsulated packets, SUNRPC data (as opposed to call)\npackets and RXRPC packets to go missing.\n\nThis patch restores all of these.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27ab2568649d5ba6c5a20212079b7c4f6da4ca0d",
      "tree": "19bb85e73d7deb0adf40386af3117c2f397b653d",
      "parents": [
        "c8fecf2242a0ab7230210665986b8ef915e1ae9e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 05 01:51:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:32 2008 -0800"
      },
      "message": "[UDP]: Avoid repeated counting of checksum errors due to peeking\n\nCurrently it is possible for two processes to peek on the same socket\nand end up incrementing the error counter twice for the same packet.\n\nThis patch fixes it by making skb_kill_datagram return whether it\nsucceeded in unlinking the packet and only incrementing the counter\nif it did.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2bf1e2659b1cba5e65f81781cfd530be447f80b",
      "tree": "d7c3d2c10fe747a4d4ad7a54732e1d8e737c7556",
      "parents": [
        "cb75994ec311b2cd50e5205efdcc0696abd6675d"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Dec 03 22:34:16 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:48 2008 -0800"
      },
      "message": "[UDP]: Clean up for IS_UDPLITE macro\n\nSince we have macro IS_UDPLITE, we can use it.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb75994ec311b2cd50e5205efdcc0696abd6675d",
      "tree": "eb0fbb65bfe1b896a55ce8b987d6f4f3f4357e98",
      "parents": [
        "6859d49475d4f32abe640372117e4b687906e6b6"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Dec 03 22:33:28 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:47 2008 -0800"
      },
      "message": "[UDP]: Defer InDataGrams increment until recvmsg() does checksum\n\nThanks dave, herbert, gerrit, andi and other people for your\ndiscussion about this problem.\n\nUdpInDatagrams can be confusing because it counts packets that\nmight be dropped later.\nMove UdpInDatagrams into recvmsg() as allowed by the RFC.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "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": "7a0ff716c2282f4b8d89c65850a4f17399628154",
      "tree": "5959ca3f25d92115d577db63dc06920bf2ee6284",
      "parents": [
        "3f192b5c584b8ecddc6069717aaf36d8fa244713"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Mon Nov 05 21:29:17 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:54 2007 -0800"
      },
      "message": "[IPv6] SNMP: Restore Udp6InErrors incrementation\n\nAs the checksum verification is postponed till user calls recv or poll,\nthe inrementation of Udp6InErrors counter should be also postponed.\nCurrently, it is postponed in non-blocking operation case. However it\nshould be postponed in all case like the IPv4 code.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5bbef20e017efcb10700398cc048c49b98628e0",
      "tree": "5139dfbfb416eaeb43cc75645e486fe6a103e39b",
      "parents": [
        "a224be766bf593f7bcd534ca0c48dbd3eaf7bfce"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 12:50:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 15 12:50:28 2007 -0700"
      },
      "message": "[IPV6]: Replace sk_buff ** with sk_buff * in input handlers\n\nWith all the users of the double pointers removed from the IPv6 input path,\nthis patch converts all occurances of sk_buff ** to sk_buff * in IPv6 input\nhandlers.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e773e4faa19c54c2f32ddd16add2919588488bd9",
      "tree": "316395a9c687155362913ec1c588c0217233f67e",
      "parents": [
        "6f4fc423b96c8fdf6f5c8b8ad79b75b7fb5a5c59"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Aug 24 23:16:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:32 2007 -0700"
      },
      "message": "[IPV6]: Add v4mapped address inline\n\nAdd v4mapped address inline to avoid calls to ipv6_addr_type().\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd562c9859f648d78224e9fc0dafa5a3d5000fdb",
      "tree": "845cd92b8d59598495427b1aeb32c6d7e2410911",
      "parents": [
        "3ef9d943d26dea764f4fecf3767001c90b778b0c"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Sep 14 17:15:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 14 17:15:01 2007 -0700"
      },
      "message": "[IPV6]: Just increment OutDatagrams once per a datagram.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df2bc459a3ad71f8b44c358bf7169acf9caf4acd",
      "tree": "143206b16d59c723be3c2cf2375a33b2a9306280",
      "parents": [
        "3c0d2f3780fc94746c4842e965bd2570e2119bb6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jun 05 15:18:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:40:50 2007 -0700"
      },
      "message": "[UDP]: Revert 2-pass hashing changes.\n\nThis reverts changesets:\n\n6aaf47fa48d3c44280810b1b470261d340e4ed87\nb7b5f487ab39bc10ed0694af35651a03d9cb97ff\nde34ed91c4ffa4727964a832c46e624dd1495cf5\nfc038410b4b1643766f8033f4940bcdb1dace633\n\nThere are still some correctness issues recently\ndiscovered which do not have a known fix that doesn\u0027t\ninvolve doing a full hash table scan on port bind.\n\nSo revert for now.\n\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": "fc038410b4b1643766f8033f4940bcdb1dace633",
      "tree": "3ee59190ecaa77061a9b64cdc09fcce6b6efc389",
      "parents": [
        "a2af421f1819946556c6f467b1efdd0dc84af4d5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed May 09 16:42:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 10 23:47:22 2007 -0700"
      },
      "message": "[UDP]: Fix AF-specific references in AF-agnostic code.\n\n__udp_lib_port_inuse() cannot make direct references to\ninet_sk(sk)-\u003ercv_saddr as that is ipv4 specific state and\nthis code is used by ipv6 too.\n\nUse an operations vector to solve this, and this also paves\nthe way for ipv6 support for non-wild saddr hashing in UDP.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "604763722c655c7e3f31ecf6f7b4dafcd26a7a15",
      "tree": "a5c07f0e22ac86e7ca7a8c80bd3f111116610edd",
      "parents": [
        "628592ccdbbb5bb751217cf02e2e7abb500d7ffe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 09 11:59:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:43 2007 -0700"
      },
      "message": "[NET]: Treat CHECKSUM_PARTIAL as CHECKSUM_UNNECESSARY\n\nWhen a transmitted packet is looped back directly, CHECKSUM_PARTIAL\nmaps to the semantics of CHECKSUM_UNNECESSARY.  Therefore we should\ntreat it as such in the stack.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bedb45203eab92a87b4c863fe2d0cded633427f",
      "tree": "d46e43d0a08253cf85ee2db64df6aee5e4ff5a07",
      "parents": [
        "d9edf9e2be0f7661558984c32bd53867a7037fd3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:28:48 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:22 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce udp_hdr(), remove skb-\u003eh.uh\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0660e03f6b18f19b6bbafe7583265a51b90daf36",
      "tree": "82cc819ead5ab7858ba211ee8719a3e6d2bb984f",
      "parents": [
        "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:54:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:14 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipv6_hdr(), remove skb-\u003enh.ipv6h\n\nNow the skb-\u003enh union has just one member, .raw, i.e. it is just like the\nskb-\u003emac union, strange, no? I\u0027m just leaving it like that till the transport\nlayer is done with, when we\u0027ll rename skb-\u003emac.raw to skb-\u003emac_header (or\n-\u003emac_header_offset?), ditto for -\u003e{h,nh}.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "add459aa1afe05472abc96f6a29aefd0c84e73d6",
      "tree": "ad788cd549dc8fd2fad6a5f5f3eee13cbe4a0d63",
      "parents": [
        "6516c65573fde5e421c6c92c4b180bbe2245b23b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 08 20:42:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:08 2007 -0700"
      },
      "message": "[UDP]: ipv6 style cleanup\n\nFix whitespace around keywords. Eliminate unnecessary ()\u0027s on return\nstatements.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "759e5d006462d53fb708daa8284b4ad909415da1",
      "tree": "edcc4e9d975199b3fe5e2aadc3d1e06824755e75",
      "parents": [
        "1ab6eb62b02e0949a392fb19bf31ba59ae1022b1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Mar 25 20:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:51 2007 -0700"
      },
      "message": "[UDP]: Clean up UDP-Lite receive checksum\n\nThis patch eliminates some duplicate code for the verification of\nreceive checksums between UDP-Lite and UDP.  It does this by\nintroducing __skb_checksum_complete_head which is identical to\n__skb_checksum_complete_head apart from the fact that it takes\na length parameter rather than computing the first skb-\u003elen bytes.\n\nAs a result UDP-Lite will be able to use hardware checksum offload\nfor packets which do not use partial coverage checksums.  It also\nmeans that UDP-Lite loopback no longer does unnecessary checksum\nverification.\n\nIf any NICs start support UDP-Lite this would also start working\nautomatically.\n\nThis patch removes the assumption that msg_flags has MSG_TRUNC clear\nupon entry in recvmsg.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ab6eb62b02e0949a392fb19bf31ba59ae1022b1",
      "tree": "1f4449baccd0de7fa900c39d04c78deebb79242b",
      "parents": [
        "243bbcaa09e8482aa28065cbc2eb99f0ca2fc8d6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 06 20:29:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:50 2007 -0700"
      },
      "message": "[UDP6]: Restore sk_filter optimisation\n\nThis reverts the changeset\n\n    [IPV6]: UDPv6 checksum.\n\n    We always need to check UDPv6 checksum because it is mandatory.\n\nThe sk_filter optimisation has nothing to do whether we verify the\nchecksum.  It simply postpones it to the point when the user calls\nrecv or poll.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b59e139bbd5c789700aa9cefe7eb6590bc516b86",
      "tree": "32dfe5facbbf2e4ca83f4254986e05900a7693da",
      "parents": [
        "31ba548f9683c5c5809567549b404404b6017088"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Mar 30 14:45:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 02 13:30:54 2007 -0700"
      },
      "message": "[IPv6]: Fix incorrect length check in rawv6_sendmsg()\n\nIn article \u003c20070329.142644.70222545.davem@davemloft.net\u003e (at Thu, 29 Mar 2007 14:26:44 -0700 (PDT)), David Miller \u003cdavem@davemloft.net\u003e says:\n\n\u003e From: Sridhar Samudrala \u003csri@us.ibm.com\u003e\n\u003e Date: Thu, 29 Mar 2007 14:17:28 -0700\n\u003e\n\u003e \u003e The check for length in rawv6_sendmsg() is incorrect.\n\u003e \u003e As len is an unsigned int, (len \u003c 0) will never be TRUE.\n\u003e \u003e I think checking for IPV6_MAXPLEN(65535) is better.\n\u003e \u003e\n\u003e \u003e Is it possible to send ipv6 jumbo packets using raw\n\u003e \u003e sockets? If so, we can remove this check.\n\u003e\n\u003e I don\u0027t see why such a limitation against jumbo would exist,\n\u003e does anyone else?\n\u003e\n\u003e Thanks for catching this Sridhar.  A good compiler should simply\n\u003e fail to compile \"if (x \u003c 0)\" when \u0027x\u0027 is an unsigned type, don\u0027t\n\u003e you think :-)\n\nDave, we use \"int\" for returning value,\nso we should fix this anyway, IMHO;\nwe should not allow len \u003e INT_MAX.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "95f30b336b944e3e418f825044b4793d9e9aac09"
}
