)]}'
{
  "log": [
    {
      "commit": "5781b2356cbecb0b73b06ec8c3897cabdfdd0928",
      "tree": "7da5613b163aa7a942561aabc0284950583ee314",
      "parents": [
        "e1187b3be72be59625e445b186007e6eae27fef1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Dec 13 19:32:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 13 19:32:39 2009 -0800"
      },
      "message": "udp: udp_lib_get_port() fix\n\nNow we can have a large udp hash table, udp_lib_get_port() loop\nshould be converted to a do {} while (cond) form,\nor we dont enter it at all if hash table size is exactly 65536.\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d4fb27db90043cd2640e4bc778f9c755d3c17c1",
      "tree": "53f1b0851fdd02e78a18f1a9db57e7cc22e2b280",
      "parents": [
        "6ebfbc065624790772398f5b327ac33a7ae3880b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 23 10:41:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 23 10:41:23 2009 -0800"
      },
      "message": "net/ipv4: Move \u0026\u0026 and || to end of previous line\n\nOn Sun, 2009-11-22 at 16:31 -0800, David Miller wrote:\n\u003e It should be of the form:\n\u003e \tif (x \u0026\u0026\n\u003e \t    y)\n\u003e \n\u003e or:\n\u003e \tif (x \u0026\u0026 y)\n\u003e \n\u003e Fix patches, rather than complaints, for existing cases where things\n\u003e do not follow this pattern are certainly welcome.\n\nAlso collapsed some multiple tabs to single space.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.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": "1240d1373cd7f874dd0f3057c3e9643e71ef75c6",
      "tree": "5bb5b7f72be25210a899e60f9137a4dad899bf05",
      "parents": [
        "fddc17defa22d8caba1cdfb2e22b50bb4b9f35c0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:18:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:08 2009 -0800"
      },
      "message": "ipv4: udp: Optimise multicast reception\n\nUDP 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\nIt\u0027s also a base for a future RCU conversion of multicast recption.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Lucian Adrian Grijincu \u003clgrijincu@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5051ebd275de672b807c28d93002c2fb0514a3c9",
      "tree": "bfbf0d9f1b231671a8ee20d92a04d26860eb38b1",
      "parents": [
        "512615b6b843ff3ff5ad583f34c39b3f302f5f26"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:18:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:07 2009 -0800"
      },
      "message": "ipv4: 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 we added in previous patch.\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, INADDR_ANY) chain to find socket 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": "512615b6b843ff3ff5ad583f34c39b3f302f5f26",
      "tree": "7420705a314bc691bc478225148935dc67f71904",
      "parents": [
        "d4cada4ae1c012815f95fa507eb86a0ae9d607d7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:17:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:06 2009 -0800"
      },
      "message": "udp: secondary hash on (local port, local address)\n\nExtends udp_table to contain a secondary hash table.\n\nsocket anchor for this second hash is free, because UDP\ndoesnt use skc_bind_node : We define an union to hold\nboth skc_bind_node \u0026 a new hlist_nulls_node udp_portaddr_node\n\nudp_lib_get_port() inserts sockets into second hash chain\n(additional cost of one atomic op)\n\nudp_lib_unhash() deletes socket from second hash chain\n(additional cost of one atomic op)\n\nNote : No spinlock lockdep annotation is needed, because\nlock for the secondary hash chain is always get after\nlock for primary hash chain.\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": "fdcc8aa953a1123a289791dd192090651036d593",
      "tree": "b30e27d1ba4d3330e5eb9b7da43d4dfb3a4e42f8",
      "parents": [
        "415ce61aef5e9b2ed2516a13888c733bea15aedf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 08 10:17:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 20:53:04 2009 -0800"
      },
      "message": "udp: add a counter into udp_hslot\n\nAdds a counter in udp_hslot to keep an accurate count\nof sockets present in chain.\n\nThis will permit to upcoming UDP lookup algo to chose\nthe shortest chain when secondary hash is added.\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": "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": "421355de876b9f3fcc7e4cb6026e416fb12a5068",
      "tree": "fb814456af86c75e1eb9e330994dda461fc5b4f7",
      "parents": [
        "aace495933a981274b6491d71b915165a61defdc",
        "0fe7463a35aadfaf22d1ca58325ab3851b8d757c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 12:55:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 12:55:20 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "85584672012ee0c3b7b8e033a1ecf7c11878e45f",
      "tree": "f35b38f084453e2d7260d4a7a8d13f2a01641664",
      "parents": [
        "9652041da18a1a1d9a0b7ebd9eef16bd712be38a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 09 04:43:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 03:16:54 2009 -0700"
      },
      "message": "udp: Fix udp_poll() and ioctl()\n\nudp_poll() can in some circumstances drop frames with incorrect checksums.\n\nProblem is we now have to lock the socket while dropping frames, or risk\nsk_forward corruption.\n\nThis bug is present since commit 95766fff6b9a78d1\n([UDP]: Add memory accounting.)\n\nWhile we are at it, we can correct ioctl(SIOCINQ) to also drop bad frames.\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": "914a9ab386a288d0f22252fc268ecbc048cdcbd5",
      "tree": "5bc164381e7ff1b55990288b67ae014b5ed668ea",
      "parents": [
        "66466797c7e2406579724e42eb9cfe05d53a882b"
      ],
      "author": {
        "name": "Atis Elsts",
        "email": "atis@mikrotik.com",
        "time": "Thu Oct 01 15:16:49 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 15:16:49 2009 -0700"
      },
      "message": "net: Use sk_mark for routing lookup in more places\n\nThis patch against v2.6.31 adds support for route lookup using sk_mark in some \nmore places. The benefits from this patch are the following.\nFirst, SO_MARK option now has effect on UDP sockets too.\nSecond, ip_queue_xmit() and inet_sk_rebuild_header() could fail to do routing \nlookup correctly if TCP sockets with SO_MARK were used.\n\nSigned-off-by: Atis Elsts \u003catis@mikrotik.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e",
      "tree": "d7228b3ea7000bc29b959556d8cb264b12365586",
      "parents": [
        "2e59af3dcbdf11635c03f22bfc9706744465d589"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 02 18:05:33 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 18:05:33 2009 -0700"
      },
      "message": "ip: Report qdisc packet drops\n\nChristoph Lameter pointed out that packet drops at qdisc level where not\naccounted in SNMP counters. Only if application sets IP_RECVERR, drops\nare reported to user (-ENOBUFS errors) and SNMP counters updated.\n\nIP_RECVERR is used to enable extended reliable error message passing,\nbut these are not needed to update system wide SNMP stats.\n\nThis patch changes things a bit to allow SNMP counters to be updated,\nregardless of IP_RECVERR being set or not on the socket.\n\nExample after an UDP tx flood\n# netstat -s \n...\nIP:\n    1487048 outgoing packets dropped\n...\nUdp:\n...\n    SndbufErrors: 1487048\n\n\nsend() syscalls, do however still return an OK status, to not\nbreak applications.\n\nNote : send() manual page explicitly says for -ENOBUFS error :\n\n \"The output queue for a network interface was full.\n  This generally indicates that the interface has stopped sending,\n  but may be caused by transient congestion.\n  (Normally, this does not occur in Linux. Packets are just silently\n  dropped when a device queue overflows.) \"\n\nThis is not true for IP_RECVERR enabled sockets : a send() syscall\nthat hit a qdisc drop returns an ENOBUFS error.\n\nMany thanks to Christoph, David, and last but not least, Alexey !\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c482c568577a2b31716e1019f2868bda7cf5629c",
      "tree": "b3996b6dce72b8c04af2d03e64d2b9d729eb0531",
      "parents": [
        "652f6787c082a174f0bbfa7f895b65b03d8d46c9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 17 00:26:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 17 09:47:31 2009 -0700"
      },
      "message": "udp: cleanups\n\nPure style cleanups.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7ca4cc01fd154f2da30ae6dae160fa5800af758",
      "tree": "8e772bbb2320f4b109e20e9e588345bd1a51fb12",
      "parents": [
        "30ffee8480c13fbcf8ab6c28e31f79dfff683117"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Thu Jul 09 08:09:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 12 14:29:21 2009 -0700"
      },
      "message": "udpv4: Handle large incoming UDP/IPv4 packets and support software UFO.\n\n- validate and forward GSO UDP/IPv4 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": "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": "f0de70f8bb56952f6e016a65a8a8d006918f5bf6",
      "tree": "1d38f828b212adc0a0f2d100d58544979fab543d",
      "parents": [
        "bb3daa4a5960cd9d39bad88679fcf587b456c05d",
        "cda6d377ec6b2ee2e58d563d0bd7eb313e0165df"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 01:22:01 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 01:22:01 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\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": "30842f2989aacfaba3ccb39829b3417be9313dbe",
      "tree": "e165238f359d3790a2cf21373f856226e80c7977",
      "parents": [
        "e072b639dc13b06b65be487633dad9bb3d2067d5"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Mon Mar 23 15:22:33 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 23 15:22:33 2009 -0700"
      },
      "message": "udp: Wrong locking code in udp seq_file infrastructure\n\nReading zero bytes from /proc/net/udp or other similar files which use\nthe same seq_file udp infrastructure panics kernel in that way:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: bad unlock balance detected! ]\n-------------------------------------\nread/1985 is trying to release lock (\u0026table-\u003ehash[i].lock) at:\n[\u003cffffffff81321d83\u003e] udp_seq_stop+0x27/0x29\nbut there are no more locks to release!\n\nother info that might help us debug this:\n1 lock held by read/1985:\n #0:  (\u0026p-\u003elock){--..}, at: [\u003cffffffff810eefb6\u003e] seq_read+0x38/0x348\n\nstack backtrace:\nPid: 1985, comm: read Not tainted 2.6.29-rc8 #9\nCall Trace:\n [\u003cffffffff81321d83\u003e] ? udp_seq_stop+0x27/0x29\n [\u003cffffffff8106dab9\u003e] print_unlock_inbalance_bug+0xd6/0xe1\n [\u003cffffffff8106db62\u003e] lock_release_non_nested+0x9e/0x1c6\n [\u003cffffffff810ef030\u003e] ? seq_read+0xb2/0x348\n [\u003cffffffff8106bdba\u003e] ? mark_held_locks+0x68/0x86\n [\u003cffffffff81321d83\u003e] ? udp_seq_stop+0x27/0x29\n [\u003cffffffff8106dde7\u003e] lock_release+0x15d/0x189\n [\u003cffffffff8137163c\u003e] _spin_unlock_bh+0x1e/0x34\n [\u003cffffffff81321d83\u003e] udp_seq_stop+0x27/0x29\n [\u003cffffffff810ef239\u003e] seq_read+0x2bb/0x348\n [\u003cffffffff810eef7e\u003e] ? seq_read+0x0/0x348\n [\u003cffffffff8111aedd\u003e] proc_reg_read+0x90/0xaf\n [\u003cffffffff810d878f\u003e] vfs_read+0xa6/0x103\n [\u003cffffffff8106bfac\u003e] ? trace_hardirqs_on_caller+0x12f/0x153\n [\u003cffffffff810d88a2\u003e] sys_read+0x45/0x69\n [\u003cffffffff8101123a\u003e] system_call_fastpath+0x16/0x1b\nBUG: scheduling while atomic: read/1985/0xffffff00\nINFO: lockdep is turned off.\nModules linked in: cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm ppdev snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_seq_dummy snd_seq_oss snd_seq_midi_event arc4 snd_s\neq ecb thinkpad_acpi snd_seq_device iwl3945 hwmon sdhci_pci snd_pcm_oss sdhci rfkill mmc_core snd_mixer_oss i2c_i801 mac80211 yenta_socket ricoh_mmc i2c_core iTCO_wdt snd_pcm iTCO_vendor_support rs\nrc_nonstatic snd_timer snd lib80211 cfg80211 soundcore snd_page_alloc video parport_pc output parport e1000e [last unloaded: scsi_wait_scan]\nPid: 1985, comm: read Not tainted 2.6.29-rc8 #9\nCall Trace:\n [\u003cffffffff8106b456\u003e] ? __debug_show_held_locks+0x1b/0x24\n [\u003cffffffff81043660\u003e] __schedule_bug+0x7e/0x83\n [\u003cffffffff8136ede9\u003e] schedule+0xce/0x838\n [\u003cffffffff810d7972\u003e] ? fsnotify_access+0x5f/0x67\n [\u003cffffffff810112d0\u003e] ? sysret_careful+0xb/0x37\n [\u003cffffffff8106be9c\u003e] ? trace_hardirqs_on_caller+0x1f/0x153\n [\u003cffffffff8137127b\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n [\u003cffffffff810112f6\u003e] sysret_careful+0x31/0x37\nread[1985]: segfault at 7fffc479bfe8 ip 0000003e7420a180 sp 00007fffc479bfa0 error 6\nKernel panic - not syncing: Aiee, killing interrupt handler!\n\nudp_seq_stop() tries to unlock not yet locked spinlock. The lock was lost\nduring splitting global udp_hash_lock to subsequent spinlocks.\n\nSigned-off by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nAcked-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ead2ceb0ec9f85cff19c43b5cdb2f8a054484431",
      "tree": "258874b824bf241698d943daa9298bb18955e451",
      "parents": [
        "4893d39e865b2897bf9fcd329697d37032d853a1"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Mar 11 09:49:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 12:09:28 2009 -0700"
      },
      "message": "Network Drop Monitor: Adding kfree_skb_clean for non-drops and modifying end-of-line points for skbs\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/linux/skbuff.h |    4 +++-\n net/core/datagram.c    |    2 +-\n net/core/skbuff.c      |   22 ++++++++++++++++++++++\n net/ipv4/arp.c         |    2 +-\n net/ipv4/udp.c         |    2 +-\n net/packet/af_packet.c |    2 +-\n 6 files changed, 29 insertions(+), 5 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51f31cabe3ce5345b51e4a4f82138b38c4d5dc91",
      "tree": "f59504adbbe37e6e28ac78e6a49f045508daa78e",
      "parents": [
        "20d4947353be60e909e6b1a79d241457edd6833f"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:38 2009 -0800"
      },
      "message": "ip: support for TX timestamps on UDP and RAW sockets\n\nInstructions for time stamping outgoing packets are take from the\nsocket layer and later copied into the new skb.\n\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2783ef23128ad0a4b34e4121c1f7ff664785712f",
      "tree": "1e0ada9b370ffc967b138dfb7d7c5464a0d4f438",
      "parents": [
        "efc683fc2a692735029067b4f939af2a3625e31d"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Feb 06 01:59:12 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 06 01:59:12 2009 -0800"
      },
      "message": "udp: Fix potential wrong ip_hdr(skb) pointers\n\nLike the UDP header fix, pskb_may_pull() can potentially\nalter the SKB buffer.  Thus the saddr and daddr, pointers\nmay point to the old skb-\u003edata buffer.\n\nI haven\u0027t seen corruptions, as its only seen if the old\nskb-\u003edata buffer were reallocated by another user and\nwritten into very quickly (or poison\u0027d by SLAB debugging).\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b5e56f9d635643ad54f2f42e69ad16b80a2cff1",
      "tree": "f0e3d35d01047375ea2eef5f8c99d9b96bc919ab",
      "parents": [
        "b98ac702f49042ab0c382b839465b95a2bd0cd65"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Thu Feb 05 15:05:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 15:05:45 2009 -0800"
      },
      "message": "udp: Fix UDP short packet false positive\n\nThe UDP header pointer assignment must happen after calling\npskb_may_pull().  As pskb_may_pull() can potentially alter the SKB\nbuffer.\n\nThis was exposted by running multicast traffic through the NIU driver,\nas it won\u0027t prepull the protocol headers into the linear area on\nreceive.\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e408b8dcb5ce42243a902205005208e590f28454",
      "tree": "eb1f29817e168be7b490d4b1be04170162cb440b",
      "parents": [
        "0afd4a21ba7d75e93fa79cf05d7a21774e149c0f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Feb 02 13:41:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 02 13:41:57 2009 -0800"
      },
      "message": "udp: increments sk_drops in __udp_queue_rcv_skb()\n\nCommit 93821778def10ec1e69aa3ac10adee975dad4ff3 (udp: Fix rcv socket\nlocking) accidentally removed sk_drops increments for UDP IPV4\nsockets.\n\nThis field can be used to detect incorrect sizing of socket receive\nbuffers.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98322f22eca889478045cf896b572250d03dc45f",
      "tree": "22a06e97ece02db900f7d4f496639582b828a4ee",
      "parents": [
        "8527bec548e01a29c6d1928d20d6d3be71861482"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Jan 26 21:35:35 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 26 21:35:35 2009 -0800"
      },
      "message": "udp: optimize bind(0) if many ports are in use\n\ncommit 9088c5609584684149f3fb5b065aa7f18dcb03ff\n(udp: Improve port randomization) introduced a regression for UDP bind() syscall\nto null port (getting a random port) in case lot of ports are already in use.\n\nThis is because we do about 28000 scans of very long chains (220 sockets per chain),\nwith many spin_lock_bh()/spin_unlock_bh() calls.\n\nFix this using a bitmap (64 bytes for current value of UDP_HTABLE_SIZE)\nso that we scan chains at most once.\n\nInstead of 250 ms per bind() call, we get after patch a time of 2.9 ms \n\nBased on a report from Vitaly Mayatskikh\n\nReported-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nTested-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "723b46108f8ee75b61ce703d0c9225e4f537bc46",
      "tree": "f33c3d2b0e4f204a6b3f97ed198e1431a10ca448",
      "parents": [
        "5bc0b3bfa758e4ae49c94e31c1edb9a5f10a8060"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 13:55:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 13:55:15 2008 -0800"
      },
      "message": "net: udp_unhash() can test if sk is hashed\n\nImpact: Optimization\n\nLike done in inet_unhash(), we can avoid taking a chain lock if\nsocket is not hashed in udp_unhash()\n\nTriggered by close(socket(AF_INET, SOCK_DGRAM, 0));\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e77d89b2fa8e3f8325b8ce7893ec3645f41aff5",
      "tree": "ae40aa75449f705bd166630f9bcb5f41373d8248",
      "parents": [
        "4db0acf3c0afbbbb2ae35a65f8896ca6655a47ec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 15:52:46 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 15:52:46 2008 -0800"
      },
      "message": "net: avoid a pair of dst_hold()/dst_release() in ip_append_data()\n\nWe can reduce pressure on dst entry refcount that slowdown UDP transmit\npath on SMP machines. This pressure is visible on RTP servers when\ndelivering content to mediagateways, especially big ones, handling\nthousand of streams. Several cpus send UDP frames to the same\ndestination, hence use the same dst entry.\n\nThis patch makes ip_append_data() eventually steal the refcount its\ncallers had to take on the dst entry.\n\nThis doesnt avoid all refcounting, but still gives speedups on SMP,\non UDP/RAW transmit path\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 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/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "a134f85c131ffd56720e38af2967ec6265480757",
      "tree": "855f671667da2643274af8d580e16843f4baa393",
      "parents": [
        "b88ed5cc884e4c28d787cf0912b8635376f16a87"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Nov 20 01:07:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 01:07:24 2008 -0800"
      },
      "message": "TPROXY: fill struct flowi-\u003eflags in udp_sendmsg()\n\n    udp_sendmsg() didn\u0027t fill struct flowi-\u003eflags, which means that\n    the route lookup would fail for non-local IPs even if the\n    IP_TRANSPARENT sockopt was set.\n\n    This prevents sendto() to work properly for UDP sockets, whereas\n    bind(foreign-ip) + connect() + send() worked fine.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\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": "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": "c37ccc0d4e2a4ee52f1a40cff1be0049f2104bba",
      "tree": "8ed76232d7debc5f63f5b80dac7b8a9ba44eb4ce",
      "parents": [
        "7e3a42a12c4b9d99bfe81cb929cadf0e08a37c49"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Nov 01 21:19:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 01 21:19:18 2008 -0700"
      },
      "message": "udp: add a missing smp_wmb() in udp_lib_get_port()\n\nCorey Minyard spotted a missing memory barrier in udp_lib_get_port()\n\nWe need to make sure a reader cannot read the new \u0027sk-\u003esk_next\u0027 value\nand previous value of \u0027sk-\u003esk_hash\u0027. Or else, an item could be deleted\nfrom a chain, and inserted into another chain. If new chain was empty\nbefore the move, \u0027next\u0027 pointer is NULL, and lockless reader can\nnot detect it missed following items in original chain.\n\nThis patch is temporary, since we expect an upcoming patch\nto introduce another way of handling the problem.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "673d57e72398edfedc93fb50ff58048077c9d587",
      "tree": "4c6a83072ac64ef63ad73574c3e1c0a683524163",
      "parents": [
        "cffee385d7f367e80b288abf4261256477f7760e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:53:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:53:57 2008 -0700"
      },
      "message": "net: replace NIPQUAD() in net/ipv4/ net/ipv6/\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8db3fec5b02f4cefe441903fe1c142ff14e1771",
      "tree": "e27fc427a7d52ceca64b81d2a01a821e303075f5",
      "parents": [
        "8cf14e38372d84ea09ba45fb60b61f6e36c18546"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Oct 30 14:00:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 30 14:00:53 2008 -0700"
      },
      "message": "udp: Should use spin_lock_bh()/spin_unlock_bh() in udp_lib_unhash()\n\nSpotted by Alexander Beregalov\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\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": "f52b5054ec108aaa9e903850d6b62af8ae3fe6ae",
      "tree": "d837cd5d25d0d1346874fda598a54151bd98dbfc",
      "parents": [
        "8203efb3c612743fecb1ed67cf1daf9d9c127462"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Oct 29 11:19:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 11:19:11 2008 -0700"
      },
      "message": "udp: udp_get_next() should use spin_unlock_bh()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8203efb3c612743fecb1ed67cf1daf9d9c127462",
      "tree": "56eabd6da3e36baa2aa4f6a69280e49a381ad5dc",
      "parents": [
        "271b72c7fa82c2c7a795bc16896149933110672d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Oct 29 02:32:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 02:32:32 2008 -0700"
      },
      "message": "udp: calculate udp_mem based on low memory instead of all memory\n\nThis patch mimics commit 57413ebc4e0f1e471a3b4db4aff9a85c083d090e\n(tcp: calculate tcp_mem based on low memory instead of all memory)\n\nThe udp_mem array which contains limits on the total amount of memory\nused by UDP sockets is calculated based on nr_all_pages.  On a 32 bits\nx86 system, we should base this on the number of lowmem pages.\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": "113aa838ec3a235d883f8357d31d90e16c47fc89",
      "tree": "4e25254fb0402aea01074244879f574e213a9f31",
      "parents": [
        "510149e31974fdbb2c00c9bee6c0e2a688e61c85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "message": "net: Rationalise email address: Network Specific Parts\n\nClean up the various different email addresses of mine listed in the code\nto a single current and valid address. As Dave says his network merges\nfor 2.6.28 are now done this seems a good point to send them in where\nthey won\u0027t risk disrupting real changes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f24d43c07e208372aa3d3bff419afbf43ba87698",
      "tree": "7c7c79e4b5e1759288e8d6d7604e72cc591fdd60",
      "parents": [
        "626e264dd1989bdc98a5eaf2e059af4dba07ac4f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Oct 09 14:51:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 09 14:51:27 2008 -0700"
      },
      "message": "udp: complete port availability checking\n\nWhile looking at UDP port randomization, I noticed it\nwas litle bit pessimistic, not looking at type of sockets\n(IPV6/IPV4) and not looking at bound addresses if any.\n\nWe should perform same tests than when binding to a\nspecific port.\n\nThis permits a cleanup of udp_lib_get_port()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9088c5609584684149f3fb5b065aa7f18dcb03ff",
      "tree": "270a8d4d853825b7ff169b4153816372fca00ea1",
      "parents": [
        "53e915034970935596703a6005cde27c2128b5c3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Oct 08 11:44:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 11:44:17 2008 -0700"
      },
      "message": "udp: Improve port randomization\n\nCurrent UDP port allocation is suboptimal.\nWe select the shortest chain to chose a port (out of 512)\nthat will hash in this shortest chain.\n\nFirst, it can lead to give not so ramdom ports and ease\ngive attackers more opportunities to break the system.\n\nSecond, it can consume a lot of CPU to scan all table\nin order to find the shortest chain.\n\nThird, in some pathological cases we can fail to find\na free port even if they are plenty of them.\n\nThis patch zap the search for a short chain and only\nuse one random seed. Problem of getting long chains\nshould be addressed in another way, since we can\nobtain long chains with non random ports.\n\nBased on a report and patch from Vitaly Mayatskikh\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c7ed677fb7013c8028045d409a48ac42151187a",
      "tree": "7449bac3fd2433b541da0d458cf0aecfb90451b8",
      "parents": [
        "e43291cb37406dae405d50332eaa1ba2264c8dce"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Oct 07 14:49:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 14:49:36 2008 -0700"
      },
      "message": "netns: make udpv6 mib per/namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\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": "bcd41303f422015ab662c9276d108414aa75b796",
      "tree": "18fc3d87f764615d7139f23b2792bbf89fc7a63b",
      "parents": [
        "a3116ac5c216fc3c145906a46df9ce542ff7dcf2"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:48:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:48:10 2008 -0700"
      },
      "message": "udp: Export UDP socket lookup function\n\nThe iptables tproxy code has to be able to do UDP socket hash lookups,\nso we have to provide an exported lookup function for this purpose.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93821778def10ec1e69aa3ac10adee975dad4ff3",
      "tree": "5cd95c0592407ac49b4f6bd9aa8ba71d93500aae",
      "parents": [
        "cff502a38394fd33693f6233e03fca363dfa956d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Sep 15 11:48:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 15 11:48:46 2008 -0700"
      },
      "message": "udp: Fix rcv socket locking\n\nThe previous patch in response to the recursive locking on IPsec\nreception is broken as it tries to drop the BH socket lock while in\nuser context.\n\nThis patch fixes it by shrinking the section protected by the\nsocket lock to sock_queue_rcv_skb only.  The only reason we added\nthe lock is for the accounting which happens in that function.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\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": "47112e25da41d9059626033986dc3353e101f815",
      "tree": "72857968c318960ba50a4cc7232041228e8361dc",
      "parents": [
        "6579e57b31d79d31d9b806e41ba48774e73257dc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Jul 21 13:35:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 13:35:08 2008 -0700"
      },
      "message": "udplite: Protection against coverage value wrap-around\n\nThis patch clamps the cscov setsockopt values to a maximum of 0xFFFF.\n\nSetsockopt values greater than 0xffff can cause an unwanted\nwrap-around.  Further, IPv6 jumbograms are not supported (RFC 3838,\n3.5), so that values greater than 0xffff are not even useful.\n\nFurther changes: fixed a typo in the documentation.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f275f91a438abd8eec5321798d66a4ffe6869fa",
      "tree": "a14cc8f7112d2ba0dfe08e43577cab779b858ba6",
      "parents": [
        "61a7e26028b94805fd686a6dc9dbd9941f8f19b0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:27 2008 -0700"
      },
      "message": "mib: put udp statistics on struct net\n\nSimilar to... ouch, I repeat myself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c73a6faffae0bfae70639113aecf06af666e714",
      "tree": "3d7910c4674b673b061f3168b140454b1950c346",
      "parents": [
        "5e38e270444f2629de7a706b5a9ca1b333d14517"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "message": "mib: add net to IP_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84a3aa000eacbaf841d745b07ef3a3280899056b",
      "tree": "013d13bb51e1046f6864ae634edaf0dad30da2e7",
      "parents": [
        "78ed11a56bd8679aa6d51eb36b448342c59a7824"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:19:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:19:08 2008 -0700"
      },
      "message": "ipv4: prepare net initialization for IP accounting\n\nSome places, that deal with IP statistics already have where to\nget a struct net from, but use it directly, without declaring\na separate variable on the stack.\n\nSo, save this net on the stack for future IP_XXX_STATS macros.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcfc23cac103b54dbc00a6f52f47656ad5c75844",
      "tree": "f9a61572791da6c37a50a2d17b73b5f89a6b5fc4",
      "parents": [
        "75c939bb4d6da790f758a2a3dcc7432f6d8778ee"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:03:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:29 2008 -0700"
      },
      "message": "mib: add struct net to ICMP_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd54d716b1f6a3551ec17a4bb34027727b2db09a",
      "tree": "c8afca51e9292740d3d2261e8a3f95e65a1135ee",
      "parents": [
        "0388b0042624714e6f8db8cc7994101a0a02d392"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:01:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:26 2008 -0700"
      },
      "message": "inet: toss struct net initialization around\n\nSome places, that deal with ICMP statistics already have where\nto get a struct net from, but use it directly, without declaring\na separate variable on the stack.\n\nSince I will need this net soon, I declare a struct net on the\nstack and use it in the existing places in a separate patch not\nto spoil the future ones.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0283328e2360bbf3081e97f1b720dd4c4dbae111",
      "tree": "d0734e59c0900b3389ddcf469950715e60f537b4",
      "parents": [
        "629ca23c331ec75ac87b016debbb3c4d2fe62650"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Jul 05 21:18:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 21:18:48 2008 -0700"
      },
      "message": "MIB: add struct net to UDP_INC_STATS_BH\n\nTwo special cases here - one is rxrpc - I put init_net there\nexplicitly, since we haven\u0027t touched this part yet. The second\nplace is in __udp4_lib_rcv - we already have a struct net there,\nbut I have to move its initialization above to make it ready\nat the \"drop\" label.\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": "629ca23c331ec75ac87b016debbb3c4d2fe62650",
      "tree": "491b70f7b51ac43cd706564f741366f9f05ccf13",
      "parents": [
        "4ce2417bfb3c7b1c5ed449782f4d86bafd7f1b69"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Jul 05 21:18:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 21:18:07 2008 -0700"
      },
      "message": "MIB: add struct net to UDP_INC_STATS_USER\n\nNothing special - all the places already have a struct sock\nat hands, so use the sock_net() net.\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": "84841c3c6cf2ed9a8e0dfd842fb35ef6e2bce091",
      "tree": "f91acd3b49fb0319d086861a7c2079b1e428f1bf",
      "parents": [
        "1d3faa390df9f009d7d76134b2aa1f07990945a4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri May 02 04:10:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 04:10:08 2008 -0700"
      },
      "message": "ipv4: assign PDE-\u003edata before gluing PDE into /proc tree\n\nThe check for PDE-\u003edata !\u003d NULL becomes useless after the replacement\nof proc_net_fops_create with proc_create_data.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e659e4cb0eedacdc1f621a61e400a4611ddef8a",
      "tree": "fa3c8743010dd640c48584a6fa8a910d27350c01",
      "parents": [
        "3d36696024499aef19dbf24a781e91a24fbbe4af"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Apr 24 01:02:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 24 01:02:16 2008 -0700"
      },
      "message": "[NET]: Fix heavy stack usage in seq_file output routines.\n\nPlan C: we can follow the Al Viro\u0027s proposal about %n like in this patch.\nThe same applies to udp, fib (the /proc/net/route file), rt_cache and \nsctp debug. This is minus ~150-200 bytes for each.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7d632b6b4ad1c92746ed409e41f9dc571ec04e2",
      "tree": "90e6aa51a9df50aa4a437749e89356ab15a0ff5f",
      "parents": [
        "334f8b2afd9652e20f67ddee4fec483ed860425b"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "message": "[IPV4]: Use NIPQUAD_FMT to format ipv4 addresses.\n\nAnd use %u to format port.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a",
      "tree": "4e1ca325dde22f1ac21c9da0be509e87e922e604",
      "parents": [
        "c0f39322c335412339dec16ebfd2a05ceba5ebcf",
        "802fb176d8c635ae42da31b80841c26e8c7338a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/s2io.c\n"
    },
    {
      "commit": "c29a0bc4dfc4d833eb702b1929cec96a3eeb9f7a",
      "tree": "4917ad0bd8979dcae34f626032b28e62b9e358fd",
      "parents": [
        "8efa6e93cb2666dceafc4844057fdcb9aa324fb7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 31 19:41:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 31 19:41:46 2008 -0700"
      },
      "message": "[SOCK][NETNS]: Add a struct net argument to sock_prot_inuse_add and _get.\n\nThis counter is about to become per-proto-and-per-net, so we\u0027ll need \ntwo arguments to determine which cell in this \"table\" to work with.\n\nAll the places, but proc already pass proper net to it - proc will be\ntuned a bit later.\n\nSome indentation with spaces in proc files is done to keep the file\ncoding style consistent.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b50660f1fe4ebd6129064e4fba0bd882b60c2425",
      "tree": "347215a85892028efa2b8b6d6abb5538f6505282",
      "parents": [
        "5e0751f57ae1aa5cda285f8c565ce202d8d5e5a3"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 31 19:38:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 31 19:38:15 2008 -0700"
      },
      "message": "[IP] UDP: Use SEQ_START_TOKEN.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "a2be75c182cd16bc104919e33451ffda8b6f65b4",
      "tree": "89876bf35f9df6df52cf0365491171ee0fa38937",
      "parents": [
        "dda61925f84d89e2f2a4597d6298a05a2bc05c20"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Mar 28 18:25:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 18:25:06 2008 -0700"
      },
      "message": "[UDP]: Cleanup /proc/udp[6] creation/removal.\n\nReplace seq_open with seq_open_net and remove udp_seq_release\ncompletely.  seq_release_net will do this job just fine.\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": "997feb5e7a24ce155c1d3bea9d0b5c6530bb6197",
      "tree": "15d1ca5504840aeec20639cf08acd3efe9f043a6",
      "parents": [
        "6f191efe48af62dd5f8917dd21d187f896cd6c81"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Mar 28 18:24:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 18:24:01 2008 -0700"
      },
      "message": "[UDP]: No need to check afinfo !\u003d NULL in udp_proc_(un)register.\n\nudp_proc_register/udp_proc_unregister are called with a static pointer only.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f191efe48af62dd5f8917dd21d187f896cd6c81",
      "tree": "5714f28be720f2e52f256ae516e76bc4ba4fc7de",
      "parents": [
        "a0f55e0e833009c6a4eeb2626b807e3c21b128c8"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Mar 28 18:23:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 18:23:33 2008 -0700"
      },
      "message": "[UDP]: Replace struct net on udp_iter_state with seq_net_private.\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": "05cf89d40c85e622dac20e44713168767be5c520",
      "tree": "81e7826794b95fe027ba8ecb10134460d42d1196",
      "parents": [
        "cb84663e4d239f23f0d872bc6463c272e74daad8"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Mar 24 15:31:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 24 15:31:35 2008 -0700"
      },
      "message": "[NETNS]: Process INET socket layer in the correct namespace.\n\nReplace all the reast of the init_net with a proper net on the socket\nlayer.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a6adb92fe301c10ca4dbd0d9f2422f5880595e7",
      "tree": "b2b82f828a6eeaa788ee1d378d45e612e4a6d527",
      "parents": [
        "f2c4802b3fdfb0d9596d932ca2af0ef6f8d60491"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Mar 24 15:30:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 24 15:30:27 2008 -0700"
      },
      "message": "[NETNS]: Add namespace parameter to ip_cmsg_send.\n\nPass the init_net there for now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15439febb0bd530f85e40ad6fa8e9f75106639ef",
      "tree": "2145776f46193a29418c4082d6334fc6cd82fee8",
      "parents": [
        "06802a819a0a2d31c952c0624cea6cd00e4e50da"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 14:53:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 24 14:53:49 2008 -0700"
      },
      "message": "[NETNS][UDP]: Register /proc/net/udp in a namespace.\n\nAfter the commit a91275eff43a527e1a25d6d034cbcd19ee323e64 ([NETNS][IPV6]\nudp - make proc handle the network namespace) it is now possible to make\nthis file present in newly created namespaces.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "28518fc1701a757a3df8aa2d2ac2e5d1efd1c3e5",
      "tree": "fde53a9cca0abc6c9f7a5f67656d65c385c0ec8b",
      "parents": [
        "b1153f29ee07dc1a788964409255a4b4fae50b98"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Mar 21 15:52:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 21 15:52:00 2008 -0700"
      },
      "message": "[NET]: NULL pointer dereference and other nasty things in /proc/net/(tcp|udp)[6]\n\nCommits f40c81 ([NETNS][IPV4] tcp - make proc handle the network\nnamespaces) and a91275 ([NETNS][IPV6] udp - make proc handle the\nnetwork namespace) both introduced bad checks on sockets and tw\nbuckets to belong to proper net namespace.\n\nI.e. when checking for socket to belong to given net and family the\n\n\tdo {\n\t\tsk \u003d sk_next(sk);\n\t} while (sk \u0026\u0026 sk-\u003esk_net !\u003d net \u0026\u0026 sk-\u003esk_family !\u003d family);\n\nconstructions were used. This is wrong, since as soon as the\nsk-\u003esk_net fits the net the socket is immediately returned, even if it\nbelongs to other family.\n\nAs the result four /proc/net/(udp|tcp)[6] entries show wrong info.\nThe udp6 entry even oopses when dereferencing inet6_sk(sk) pointer:\n\nstatic void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket)\n{\n\t...\n        struct ipv6_pinfo *np \u003d inet6_sk(sp);\n\t...\n\n        dest  \u003d \u0026np-\u003edaddr; /* will be NULL for AF_INET sockets */\n\t...\n\tseq_printf(...\n\t           dest-\u003es6_addr32[0], dest-\u003es6_addr32[1],\n                   dest-\u003es6_addr32[2], dest-\u003es6_addr32[3],\n\t...\n\nFix it by converting \u0026\u0026 to ||.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\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": "a91275eff43a527e1a25d6d034cbcd19ee323e64",
      "tree": "b4cb01b2bc5da9d5631be2eabab64671fdf766af",
      "parents": [
        "ea82edf704f6bf3c3a51d0dbee816c5bbc6d3974"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Mar 21 04:11:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 21 04:11:58 2008 -0700"
      },
      "message": "[NETNS][IPV6] udp - make proc handle the network namespace\n\nThis patch makes the common udp proc functions to take care of which\nsocket they should show taking into account the namespace it belongs.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\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": "8be8af8fa4405652e6c0797db5465a4be8afb998",
      "tree": "3e560ec193fe41e244a9f977168e154b223fb986",
      "parents": [
        "cf80efc27d68d4e0717aa0b8647c4e161397ced7"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 14:50:52 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 15:18:22 2008 +0900"
      },
      "message": "[IPV4] UDP: Move IPv4-specific bits to other file.\n\nMove IPv4-specific UDP bits from net/ipv4/udp.c into (new) net/ipv4/udp_ipv4.c.\nRename net/ipv4/udplite.c to net/ipv4/udplite_ipv4.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"
    }
  ],
  "next": "fa4d3c6210380c55cf7f295d28fd981fbcbb828c"
}
