)]}'
{
  "log": [
    {
      "commit": "979ad663125af4be120697263038bb06ddbb83b4",
      "tree": "096b4f7abd60bbaf71bef8b2c182cda3970bb888",
      "parents": [
        "c75d721c761ad0f2d8725c40af9e4f376efefd24"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Fri Oct 14 18:31:15 2005 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Thu Nov 03 01:03:05 2005 -0200"
      },
      "message": "[IPV6]: inet6_ifinfo_notify should use RTM_DELLINK in addrconf_ifdown\n\nSigned-off-by: Yan Zheng \u003cyanzheng@21cn.com\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "8713dbf05754aa777f31bf491cb60a111f7ad828",
      "tree": "543da2e27a18d1deddfcccf503db882d2f6d2566",
      "parents": [
        "ec1890c5df451799dec969a3581ff72e1934b5ee"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Fri Oct 28 08:02:08 2005 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Nov 02 21:03:57 2005 -0200"
      },
      "message": "[MCAST]: ip[6]_mc_add_src should be called when number of sources is zero\n\nAnd filter mode is exclude.\n\nFurther explanation by David Stevens:\n\nMulticast source filters aren\u0027t widely used yet, and that\u0027s really the only\nfeature that\u0027s affected if an application actually exercises this bug, as far\nas I can tell. An ordinary filter-less multicast join should still work, and\nonly forwarded multicast traffic making use of filters and doing empty-source\nfilters with the MSFILTER ioctl would be at risk of not getting multicast\ntraffic forwarded to them because the reports generated would not be based on\nthe correct counts.\n\nSigned-off-by: Yan Zheng \u003cyanzheng@21cn.com\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "97300b5fdfe28c6edae926926f9467a27cf5889c",
      "tree": "5a28ee8ff8fbddb44ed3f8b5e3d37c0439af1608",
      "parents": [
        "edc9e81917157d1e73bf081d4fbcad7c34d32783"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Mon Oct 31 20:09:45 2005 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Oct 31 22:52:03 2005 -0200"
      },
      "message": "[MCAST] IPv6: Check packet size when process Multicast\n\nSigned-off-by: Yan Zheng \u003cyanzheng@21cn.com\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "9d17f218936a0fee43ad9493a841136589c942cd",
      "tree": "055eed0fcf1c2c4566ac665334c626fac6ee2721",
      "parents": [
        "a3d7a9d77533d7516a8cfb8e2b612cd5ead4fa59"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Fri Oct 28 15:12:00 2005 -0700"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Oct 31 16:54:05 2005 -0200"
      },
      "message": "[IPV6]: Fix behavior of ip6_route_input() for link local address\n\nI find that linux will reply echo request destined to an address which\nbelongs to an interface other than the one from which the request received.\nThis behavior doesn\u0027t make sense for link local address.\n\nYOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e said:\n\nPlease note that sender does need to setup neighbor entry by hand to reproduce\nthis bug.  (Link-local address on eth1 is not visible on eth0, from the point\nof view of neighbor discovery in IPv6.)\n\n +--------+               +--------+\n | sender |               | router |\n +---+----+               +-+----+-+\n     |eth0              eth0|    |eth1\n-----+----------------------+-  -+--------------\n\nSigned-off-by: Yan Zheng \u003cyanzheng@21cn.com\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e (forwarded)\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "6b7d31fcdda5938e5d3f1f8b0922cc25aa200dfc",
      "tree": "c44f46d7eab0ea138247018ba1e04da6df8ae9d4",
      "parents": [
        "6ede2463c8d7ea949f8e7ef35243490c415ddc2f"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Wed Oct 26 09:34:24 2005 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Oct 31 16:36:08 2005 -0200"
      },
      "message": "[NETFILTER]: Add \"revision\" support to arp_tables and ip6_tables\n\nLike ip_tables already has it for some time, this adds support for\nhaving multiple revisions for each match/target.  We steal one byte from\nthe name in order to accomodate a 8 bit version number.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "378f058cc49bcda7fa63d3cd86d2f9a0a5188b1c",
      "tree": "ed99548aa459054c7b046f0ac96af2cc50683e6e",
      "parents": [
        "d32311fed70d12f14e585feb4653571b1e2b0e6d"
      ],
      "author": {
        "name": "David Hardeman",
        "email": "david@2gen.com",
        "time": "Sat Sep 17 17:55:31 2005 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 30 11:19:43 2005 +1100"
      },
      "message": "[PATCH] Use sg_set_buf/sg_init_one where applicable\n\nThis patch uses sg_set_buf/sg_init_one in some places where it was\nduplicated.\n\nSigned-off-by: David Hardeman \u003cdavid@2gen.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "f12baeab9d65e2fe1b43b09b666f5efcb81b9369",
      "tree": "88e06b93cad95fef0ebb4a60d2b195884fe79d4f",
      "parents": [
        "e89e9cf539a28df7d0eb1d0a545368e9920b34ac"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Sat Oct 29 00:02:32 2005 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Oct 28 16:35:18 2005 -0200"
      },
      "message": "[MCAST] IPv6: Fix algorithm to compute Querier\u0027s Query Interval\n\n5.1.3.  Maximum Response Code\n\n   The Maximum Response Code field specifies the maximum time allowed\n   before sending a responding Report.  The actual time allowed, called\n   the Maximum Response Delay, is represented in units of milliseconds,\n   and is derived from the Maximum Response Code as follows:\n\n   If Maximum Response Code \u003c 32768,\n      Maximum Response Delay \u003d Maximum Response Code\n\n   If Maximum Response Code \u003e\u003d32768, Maximum Response Code represents a\n   floating-point value as follows:\n\n       0 1 2 3 4 5 6 7 8 9 A B C D E F\n      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n      |1| exp |          mant         |\n      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n\n   Maximum Response Delay \u003d (mant | 0x1000) \u003c\u003c (exp+3)\n\n\n5.1.9.  QQIC (Querier\u0027s Query Interval Code)\n\n   The Querier\u0027s Query Interval Code field specifies the [Query\n   Interval] used by the Querier.  The actual interval, called the\n   Querier\u0027s Query Interval (QQI), is represented in units of seconds,\n   and is derived from the Querier\u0027s Query Interval Code as follows:\n\n   If QQIC \u003c 128, QQI \u003d QQIC\n\n   If QQIC \u003e\u003d 128, QQIC represents a floating-point value as follows:\n\n       0 1 2 3 4 5 6 7\n      +-+-+-+-+-+-+-+-+\n      |1| exp | mant  |\n      +-+-+-+-+-+-+-+-+\n\n   QQI \u003d (mant | 0x10) \u003c\u003c (exp + 3)\n\n                                                -- rfc3810\n\n#define MLDV2_QQIC(value) MLDV2_EXP(0x80, 4, 3, value)\n#define MLDV2_MRC(value) MLDV2_EXP(0x8000, 12, 3, value)\n\nAbove macro are defined in mcast.c. but 1 \u003c\u003c 4 \u003d\u003d 0x10 and 1 \u003c\u003c 12 \u003d\u003d 0x1000.\nSo the result computed by original Macro is larger.\n\nSigned-off-by: Yan Zheng \u003cyanzheng@21cn.com\u003e\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e89e9cf539a28df7d0eb1d0a545368e9920b34ac",
      "tree": "aae6a825f351ce931fcd30f1a865ebe65227c4b8",
      "parents": [
        "de5144164f6242ccfa8c9b64eec570564f5eaf14"
      ],
      "author": {
        "name": "Ananda Raju",
        "email": "ananda.raju@neterion.com",
        "time": "Tue Oct 18 15:46:41 2005 -0700"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Oct 28 16:30:00 2005 -0200"
      },
      "message": "[IPv4/IPv6]: UFO Scatter-gather approach\n\nAttached is kernel patch for UDP Fragmentation Offload (UFO) feature.\n\n1. This patch incorporate the review comments by Jeff Garzik.\n2. Renamed USO as UFO (UDP Fragmentation Offload)\n3. udp sendfile support with UFO\n\nThis patches uses scatter-gather feature of skb to generate large UDP\ndatagram. Below is a \"how-to\" on changes required in network device\ndriver to use the UFO interface.\n\nUDP Fragmentation Offload (UFO) Interface:\n-------------------------------------------\nUFO is a feature wherein the Linux kernel network stack will offload the\nIP fragmentation functionality of large UDP datagram to hardware. This\nwill reduce the overhead of stack in fragmenting the large UDP datagram to\nMTU sized packets\n\n1) Drivers indicate their capability of UFO using\ndev-\u003efeatures |\u003d NETIF_F_UFO | NETIF_F_HW_CSUM | NETIF_F_SG\n\nNETIF_F_HW_CSUM is required for UFO over ipv6.\n\n2) UFO packet will be submitted for transmission using driver xmit routine.\nUFO packet will have a non-zero value for\n\n\"skb_shinfo(skb)-\u003eufo_size\"\n\nskb_shinfo(skb)-\u003eufo_size will indicate the length of data part in each IP\nfragment going out of the adapter after IP fragmentation by hardware.\n\nskb-\u003edata will contain MAC/IP/UDP header and skb_shinfo(skb)-\u003efrags[]\ncontains the data payload. The skb-\u003eip_summed will be set to CHECKSUM_HW\nindicating that hardware has to do checksum calculation. Hardware should\ncompute the UDP checksum of complete datagram and also ip header checksum of\neach fragmented IP packet.\n\nFor IPV6 the UFO provides the fragment identification-id in\nskb_shinfo(skb)-\u003eip6_frag_id. The adapter should use this ID for generating\nIPv6 fragments.\n\nSigned-off-by: Ananda Raju \u003cananda.raju@neterion.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (forwarded)\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "670c02c2bfd2c8a305a90f5285409a7b0a8fd630",
      "tree": "a6e7d773d72e2716bf675dbb2679e8ada21b4e21",
      "parents": [
        "900e0143a575406146ac531fcb91790f166ce52f"
      ],
      "author": {
        "name": "John Hawkes",
        "email": "hawkes@sgi.com",
        "time": "Thu Oct 13 09:30:31 2005 -0700"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Oct 25 23:54:01 2005 -0200"
      },
      "message": "[NET]: Wider use of for_each_*cpu()\n\nIn \u0027net\u0027 change the explicit use of for-loops and NR_CPUS into the\ngeneral for_each_cpu() or for_each_online_cpu() constructs, as\nappropriate.  This widens the scope of potential future optimizations\nof the general constructs, as well as takes advantage of the existing\noptimizations of first_cpu() and next_cpu(), which is advantageous\nwhen the true CPU count is much smaller than NR_CPUS.\n\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "4ea6a8046bb49d43c950898f0cb4e1994ef6c89d",
      "tree": "cf7ab6f3a88ef7c66f28322febe18d7694ab27b9",
      "parents": [
        "444d1d9bb5b724f03344c9317bc01d54a9b39073"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Mon Oct 24 19:55:23 2005 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Oct 25 21:17:52 2005 -0200"
      },
      "message": "[IPV6]: Fix refcnt of struct ip6_flowlabel\n\nSigned-off-by: Yan Zheng \u003cyanzheng@21cn.com\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e6850cce8f0fcb0e16b981f13cb9c69618bbdaf1",
      "tree": "94793ab89f972f16dc3cd38433476e0e55f2fcc2",
      "parents": [
        "7a3ca7d2b5ec31b2cfa594b961d77e68075e33c7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Oct 15 16:15:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 15 16:15:38 2005 -0700"
      },
      "message": "[NETFILTER]: Fix ip6_table.c build with NETFILTER_DEBUG enabled.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8923c6b852d3a97c1faad0566e38fca330375a7",
      "tree": "eb79e97c5468bba641c7a34b83514876f4902cf2",
      "parents": [
        "c931488cc4619eecfe68a2f046b5898fddc2f904"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 14:41:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 14:41:23 2005 -0700"
      },
      "message": "[NETFILTER]: Fix OOPSes on machines with discontiguous cpu numbering.\n\nOriginal patch by Harald Welte, with feedback from Herbert Xu\nand testing by Sébastien Bernard.\n\nEBTABLES, ARP tables, and IP/IP6 tables all assume that cpus\nare numbered linearly.  That is not necessarily true.\n\nThis patch fixes that up by calculating the largest possible\ncpu number, and allocating enough per-cpu structure space given\nthat.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4875b049b2e6401a6e1fae90b7f09e20a636fcf",
      "tree": "a5021c091cbd141675cdd90ac330d33188284c03",
      "parents": [
        "a02a64223eddb410712b015fb3342c9a316ab70b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 10 21:11:34 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 10 21:11:34 2005 -0700"
      },
      "message": "[IPSEC] Fix block size/MTU bugs in ESP\n\nThis patch fixes the following bugs in ESP:\n\n* Fix transport mode MTU overestimate.  This means that the inner MTU\n  is smaller than it needs be.  Worse yet, given an input MTU which\n  is a multiple of 4 it will always produce an estimate which is not\n  a multiple of 4.\n\n  For example, given a standard ESP/3DES/MD5 transform and an MTU of\n  1500, the resulting MTU for transport mode is 1462 when it should\n  be 1464.\n\n  The reason for this is because IP header lengths are always a multiple\n  of 4 for IPv4 and 8 for IPv6.\n\n* Ensure that the block size is at least 4.  This is required by RFC2406\n  and corresponds to what the esp_output function does.  At the moment\n  this only affects crypto_null as its block size is 1.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a02a64223eddb410712b015fb3342c9a316ab70b",
      "tree": "771285d98ae94517f0aa0b16af0208d4cdc55dda",
      "parents": [
        "e1c73b78e3706bd3c336d4730a01dd4081dfb7ee"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 10 21:11:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 10 21:11:08 2005 -0700"
      },
      "message": "[IPSEC]: Use ALIGN macro in ESP\n\nThis patch uses the macro ALIGN in all the applicable spots for ESP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "140e26fcd559f6988e5a9056385eecade19d9b49",
      "tree": "14ec393098c1f8b9082e959c6d3718181e920f82",
      "parents": [
        "42a39450f830c57432fd4e5644fa81f41ce7156d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Oct 05 12:11:41 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 05 12:11:41 2005 -0700"
      },
      "message": "[IPV6]: Fix NS handing for proxy/anycast address\n\nTimer set up by pneigh_enqueue() ended up calling ndisc_rcv()\nvia pndisc_redo(), which clears LOCALLY_ENQUEUED flag in\nNEIGH_CB(skb) and NS was queued again.\nLet\u0027s call ndisc_recv_ns() directly to avoid the loop.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fab10fe37ad8dc4388fc444c89ef5aefe906354f",
      "tree": "cca67691a4a5cf5c08c3baccdceb3197dd2ac9b5",
      "parents": [
        "83fa3400ebcba307a60909824a251be984eb9567"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Wed Oct 05 12:08:13 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 05 12:08:13 2005 -0700"
      },
      "message": "[MCAST] ipv6: Fix address size in grec_size\n\nSigned-Off-By: Yan Zheng \u003cyanzheng@21cn.com\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "87bf9c97b4b3af8dec7b2b79cdfe7bfc0a0a03b2",
      "tree": "4db874d395f55023d579947a63fccd3ccfcaff77",
      "parents": [
        "dd7205ed0f022a2a5e60eb7404e6c9f49d2301c3"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Oct 04 13:00:39 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 04 13:00:39 2005 -0700"
      },
      "message": "[IPV6]: Fix infinite loop in udp_v6_get_port().\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5ed639913eea3e4783a550291775ab78dd84966",
      "tree": "e6e915aa686d2a7125181fc83a847e1955a8ba46",
      "parents": [
        "a5e7c210fefd2454c757a3542e41063407ca7108"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "message": "[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl\n\nThe following patch renames __in_dev_get() to __in_dev_get_rtnl() and\nintroduces __in_dev_get_rcu() to cover the second case.\n\n1) RCU with refcnt should use in_dev_get().\n2) RCU without refcnt should use __in_dev_get_rcu().\n3) All others must hold RTNL and use __in_dev_get_rtnl().\n\nThere is one exception in net/ipv4/route.c which is in fact a pre-existing\nrace condition.  I\u0027ve marked it as such so that we remember to fix it.\n\nThis patch is based on suggestions and prior work by Suzanne Wood and\nPaul McKenney.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5e7c210fefd2454c757a3542e41063407ca7108",
      "tree": "24c5b867419a59b6cab36335468cef642dbcca66",
      "parents": [
        "f36d6ab182a5c68e92ea3e85821dde9d29bfe284"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 03 14:21:58 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 03 14:21:58 2005 -0700"
      },
      "message": "[IPV6]: Fix leak added by udp connect dst caching fix.\n\nBased upon a patch from Mitsuru KANDA \u003cmk@linux-ipv6.org\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f36d6ab182a5c68e92ea3e85821dde9d29bfe284",
      "tree": "500b59dbde0ac1930d8d756f499878de2bc1cfe4",
      "parents": [
        "444fc8fc3a1f926fa224655b8950bd853368c1a3"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Mon Oct 03 14:19:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:19:15 2005 -0700"
      },
      "message": "[IPV6]: Fix ipv6 fragment ID selection at slow path\n\nSigned-Off-By: Yan Zheng \u003cyanzheng@21cn.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81c3d5470ecc70564eb9209946730fe2be93ad06",
      "tree": "1efa553c305a6453769dacfaf580bc6ccf146d82",
      "parents": [
        "399de50bbbb2501a6db43daaa8a2dafbc9bcfe0c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "message": "[INET]: speedup inet (tcp/dccp) lookups\n\nArnaldo and I agreed it could be applied now, because I have other\npending patches depending on this one (Thank you Arnaldo)\n\n(The other important patch moves skc_refcnt in a separate cache line,\nso that the SMP/NUMA performance doesnt suffer from cache line ping pongs)\n\n1) First some performance data :\n--------------------------------\n\ntcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established()\n\nThe most time critical code is :\n\nsk_for_each(sk, node, \u0026head-\u003echain) {\n     if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))\n         goto hit; /* You sunk my battleship! */\n}\n\nThe sk_for_each() does use prefetch() hints but only the begining of\n\"struct sock\" is prefetched.\n\nAs INET_MATCH first comparison uses inet_sk(__sk)-\u003edaddr, wich is far\naway from the begining of \"struct sock\", it has to bring into CPU\ncache cold cache line. Each iteration has to use at least 2 cache\nlines.\n\nThis can be problematic if some chains are very long.\n\n2) The goal\n-----------\n\nThe idea I had is to change things so that INET_MATCH() may return\nFALSE in 99% of cases only using the data already in the CPU cache,\nusing one cache line per iteration.\n\n3) Description of the patch\n---------------------------\n\nAdds a new \u0027unsigned int skc_hash\u0027 field in \u0027struct sock_common\u0027,\nfilling a 32 bits hole on 64 bits platform.\n\nstruct sock_common {\n\tunsigned short\t\tskc_family;\n\tvolatile unsigned char\tskc_state;\n\tunsigned char\t\tskc_reuse;\n\tint\t\t\tskc_bound_dev_if;\n\tstruct hlist_node\tskc_node;\n\tstruct hlist_node\tskc_bind_node;\n\tatomic_t\t\tskc_refcnt;\n+\tunsigned int\t\tskc_hash;\n\tstruct proto\t\t*skc_prot;\n};\n\nStore in this 32 bits field the full hash, not masked by (ehash_size -\n1) Using this full hash as the first comparison done in INET_MATCH\npermits us immediatly skip the element without touching a second cache\nline in case of a miss.\n\nSuppress the sk_hashent/tw_hashent fields since skc_hash (aliased to\nsk_hash and tw_hash) already contains the slot number if we mask with\n(ehash_size - 1)\n\nFile include/net/inet_hashtables.h\n\n64 bits platforms :\n#define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))\n     ((*((__u64 *)\u0026(inet_sk(__sk)-\u003edaddr)))\u003d\u003d (__cookie))   \u0026\u0026  \\\n     ((*((__u32 *)\u0026(inet_sk(__sk)-\u003edport))) \u003d\u003d (__ports))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n32bits platforms:\n#define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))                 \u0026\u0026  \\\n     (inet_sk(__sk)-\u003edaddr          \u003d\u003d (__saddr))   \u0026\u0026  \\\n     (inet_sk(__sk)-\u003ercv_saddr      \u003d\u003d (__daddr))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n\n- Adds a prefetch(head-\u003echain.first) in \n__inet_lookup_established()/__tcp_v4_check_established() and \n__inet6_lookup_established()/__tcp_v6_check_established() and \n__dccp_v4_check_established() to bring into cache the first element of the \nlist, before the {read|write}_lock(\u0026head-\u003elock);\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "325ed8239309cb29f10ea58c5a668058ead11479",
      "tree": "77386825b72ac44f4f42a942ef78bd1ff924b351",
      "parents": [
        "ddea7be0ec8d1374f0b483a81566ed56ec9f3905"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 13:57:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 13:57:23 2005 -0700"
      },
      "message": "[NET]: Fix packet timestamping.\n\nI\u0027ve found the problem in general.  It affects any 64-bit\narchitecture.  The problem occurs when you change the system time.\n\nSuppose that when you boot your system clock is forward by a day.\nThis gets recorded down in skb_tv_base.  You then wind the clock back\nby a day.  From that point onwards the offset will be negative which\nessentially overflows the 32-bit variables they\u0027re stored in.\n\nIn fact, why don\u0027t we just store the real time stamp in those 32-bit\nvariables? After all, we\u0027re not going to overflow for quite a while\nyet.\n\nWhen we do overflow, we\u0027ll need a better solution of course.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c62dba9011b93fd88fde929848582b2a98309878",
      "tree": "66273f4c7f4fa1867d777904a88cb9e3a7bd27e1",
      "parents": [
        "acd042bb2de50d4e6fb969281a00cc8b8b71e46d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Sep 26 15:10:16 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 26 15:10:16 2005 -0700"
      },
      "message": "[IPV6]: Fix [Bug 5306] Oops on IPv6 route lookup\n\n\u003e Steps to reproduce:\n\u003e 1. Boot Linux, do NOT setup any IPv6 routes\n\u003e 2. ip route get 2001::1 (or any unroutable address)\n\nWell caught.  We never set rt6i_idev on ip6_null_entry.\nThis patch should make the problem go away.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d67b24c40f81823abe5c1eb808bba1038969142b",
      "tree": "4aaaed47837f6ae7dc30f0d8a44211de3d057dbf",
      "parents": [
        "ef6bd6eb90ad72ee8ee7ba8b271f27102e9a90c1"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Sat Sep 24 16:52:03 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 24 16:52:03 2005 -0700"
      },
      "message": "[NETFILTER]: Fix ip[6]t_NFQUEUE Kconfig dependency\n\nWe have to introduce a separate Kconfig menu entry for the NFQUEUE targets.\nThey cannot \"just\" depend on nfnetlink_queue, since nfnetlink_queue could\nbe linked into the kernel, whereas iptables can be a module.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "875bd5ab01bc0b760fd4e97838931cd2e7456cbd",
      "tree": "b921bc8feb0e0d6f2537987cd820429b15804a87",
      "parents": [
        "6d1cfe3f1752f17e297df60c8bcc6cd6e0a58449",
        "e14c3caf605dfd29bd1aac3097e39db94afc9f07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 19 18:46:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 19 18:46:11 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "6d1cfe3f1752f17e297df60c8bcc6cd6e0a58449",
      "tree": "458323fe234aef3e5b96abf153feec48fe8a84df",
      "parents": [
        "997a51ae373df6484cdd4a5fc61a9c9bec82cd68"
      ],
      "author": {
        "name": "Mark J Cox",
        "email": "mjc@redhat.com",
        "time": "Mon Sep 19 17:55:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 19 18:45:42 2005 -0700"
      },
      "message": "[PATCH] raw_sendmsg DoS on 2.6\n\nFix unchecked __get_user that could be tricked into generating a\nmemory read on an arbitrary address.  The result of the read is not\nreturned directly but you may be able to divine some information about\nit, or use the read to cause a crash on some architectures by reading\nhardware state.  CAN-2004-2492.\n\nFix from Al Viro, ack from Dave Miller.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e674d0f38de6109b59dbe30fba8b296a03229b8e",
      "tree": "459271f7cef6319dfa7ca9ab050269c98e551994",
      "parents": [
        "926b50f92a30090da2c1a8675de954c2d9b09732"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Mon Sep 19 15:34:40 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 19 15:34:40 2005 -0700"
      },
      "message": "[NETFILTER] ip6tables: remove duplicate code\n\nSome IPv6 matches have very similar loops to find IPv6 extension header\nand we can unify them. This patch introduces ipv6_find_hdr() to do it.\nI just checked that it can find the target headers in the packet which has\ndst,hbh,rt,frag,ah,esp headers.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "987905ded3d19c196dae25cac46c569cac9594b8",
      "tree": "2a4b28b00e11ad15386dd9d5559e7be871e83ee2",
      "parents": [
        "40abc27066c49b2c13c817154d438431b0303b96"
      ],
      "author": {
        "name": "Mitsuru KANDA",
        "email": "mk@linux-ipv6.org",
        "time": "Sun Sep 18 00:30:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 18 00:30:08 2005 -0700"
      },
      "message": "[IPV6]: Check connect(2) status for IPv6 UDP socket (Re: xfrm_lookup)\n\nI think we should cache the per-socket route(dst_entry) only when the\nIPv6 UDP socket is connect(2)\u0027ed.\n(which is same as IPv4 UDP send behavior)\n\nSigned-off-by: Mitsuru KANDA \u003cmk@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40796c5e8f2a93008e9034b3110a7e7b1fa0fba0",
      "tree": "90fa0edda1ca0786fae2c043399aa3e74d2da980",
      "parents": [
        "87375ab47cd0ba04124c6d3fd80db5c368f5dcb6"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Wed Sep 14 21:10:20 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 21:10:20 2005 -0700"
      },
      "message": "[IPV6]: Fix per-socket multicast filtering in sk_reuse case\n\nper-socket multicast filters were not being applied to all sockets\nin the case of an exact-match bound address, due to an over-exuberant\n\"return\" in the look-up code. Fix below. IPv4 does not have this problem.\n\nThanks to Hoerdt Mickael for reporting the bug.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "de9daad90ecb54f3c37c3f8967d581e20d927539",
      "tree": "64cdb939bd5bbdb36cd05ccaed15ca5b6d2c9df7",
      "parents": [
        "20ae975dfd54de581287b2ca8a1ad97099ab0396"
      ],
      "author": {
        "name": "Denis Lukianov",
        "email": "denis@voxelsoft.com",
        "time": "Wed Sep 14 20:53:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 20:53:42 2005 -0700"
      },
      "message": "[MCAST]: Fix MCAST_EXCLUDE line dupes\n\nThis patch fixes line dupes at /ipv4/igmp.c and /ipv6/mcast.c in the  \n2.6 kernel, where MCAST_EXCLUDE is mistakenly used instead of  \nMCAST_INCLUDE.\n\nSigned-off-by: Denis Lukianov \u003cdenis@voxelsoft.com\u003e\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6df439b89dbf9eb977c2dc6f7b0644be3704df4",
      "tree": "81ab85c73026e7050f033dac2a6f60a194beda8e",
      "parents": [
        "3874b98c655b9490bea1cf9c7697d5dc5338376f"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Sat Sep 10 00:15:06 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 10 00:15:06 2005 -0700"
      },
      "message": "[IPV6]: Bring Type 0 routing header in-line with rfc3542.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d06afab73a75f40ae2864e6c296356bab1ab473",
      "tree": "1d9c8c24a1024a12a4e8df841fba5809fa914356",
      "parents": [
        "7c352bdf048811b8128019ffc1e886161e09c11c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 09 13:10:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:48 2005 -0700"
      },
      "message": "[PATCH] timer initialization cleanup: DEFINE_TIMER\n\nClean up timer initialization by introducing DEFINE_TIMER a\u0027la\nDEFINE_SPINLOCK.  Build and boot-tested on x86.  A similar patch has been\nbeen in the -RT tree for some time.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b835996f628eadb55c5fb222ba46fe9395bf73c7",
      "tree": "d63d80585d197e1ffc299af4a0034049790fb197",
      "parents": [
        "ab2af1f5005069321c5d130f09cce577b03f43ef"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Fri Sep 09 13:04:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:55 2005 -0700"
      },
      "message": "[PATCH] files: lock-free fd look-up\n\nWith the use of RCU in files structure, the look-up of files using fds can now\nbe lock-free.  The lookup is protected by rcu_read_lock()/rcu_read_unlock().\nThis patch changes the readers to use lock-free lookup.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran_th@gmail.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e104411b82f5c4d19752c335492036abdbf5880d",
      "tree": "03f26f98685689ab6bfa47d5bdbb6730f64bfadb",
      "parents": [
        "cf0b450cd5176b68ac7d5bbe68aeae6bb6a5a4b8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Sep 08 15:11:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 15:11:55 2005 -0700"
      },
      "message": "[XFRM]: Always release dst_entry on error in xfrm_lookup\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a57ebc90f1350296edded12d33d7c278831bc3bf",
      "tree": "271f478173fb6e1d1869320e81779e6c7165cede",
      "parents": [
        "baed16a7ff5194487764db300c2753ac7409c4c5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Sep 08 14:27:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 14:27:47 2005 -0700"
      },
      "message": "[IPV6]: Don\u0027t redo xfrm_lookup for cached dst entries\n\nThe xfrm lookup is already done when the dst entry is looked up first and\nstored in the cache.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e66fc41169c90d93b7811caf7e7822de6aa2259",
      "tree": "014db698b03f898c560919e56fbdae8ca6ad3dd5",
      "parents": [
        "42ca89c18b75e1c4c3b02aa5589ad3aa916909a8",
        "41a1f8ea4fbfcdc4232f023732584aae2220de31"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 08 12:59:43 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 08 12:59:43 2005 -0700"
      },
      "message": "Merge git://git.skbuff.net/gitroot/yoshfuji/linux-2.6-git-rfc3542 \n"
    },
    {
      "commit": "42ca89c18b75e1c4c3b02aa5589ad3aa916909a8",
      "tree": "a3052c4ffdfa8451a182c49837a92054f5688672",
      "parents": [
        "e50ef933e649a2b43aa10c8a60c491543b8b4c02"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Sep 08 12:57:43 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 12:57:43 2005 -0700"
      },
      "message": "[IPV6]: Need to use pskb_trim_rcsum().\n\nFix pskb_trim usage in ipv6. Only the udp one is really\na bug, other places are just doing equivalent code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41a1f8ea4fbfcdc4232f023732584aae2220de31",
      "tree": "9939686b354ced0b22d81efcbc12f5ed90372b09",
      "parents": [
        "333fad5364d6b457c8d837f7d05802d2aaf8a961"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 08 10:19:03 2005 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 08 10:19:03 2005 +0900"
      },
      "message": "[IPV6]: Support IPV6_{RECV,}TCLASS socket options / ancillary data.\n\nBased on patch from David L Stevens \u003cdlstevens@us.ibm.com\u003e\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "333fad5364d6b457c8d837f7d05802d2aaf8a961",
      "tree": "92149276982a827457e9c556c7ef82ec3b09fb52",
      "parents": [
        "4706df3d3c42af802597d82c8b1542c3d52eab23"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 08 09:59:17 2005 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 08 09:59:17 2005 +0900"
      },
      "message": "[IPV6]: Support several new sockopt / ancillary data in Advanced API (RFC3542).\n\nSupport several new socket options / ancillary data:\n  IPV6_RECVPKTINFO, IPV6_PKTINFO,\n  IPV6_RECVHOPOPTS, IPV6_HOPOPTS,\n  IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RTHDRDSTOPTS,\n  IPV6_RECVRTHDR, IPV6_RTHDR,\n  IPV6_RECVHOPOPTS, IPV6_HOPOPTS\n\nOld semantics are preserved as IPV6_2292xxxx so that\nwe can maintain backward compatibility.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "2dac4b96b9362954a0638317b90e3e7bcb112e83",
      "tree": "8cf0b815263b1809488b4071b4a5a3a1aece2ad1",
      "parents": [
        "573dbd95964b01a942aa0c68e92b06f2c9536964"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 01 17:44:49 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:44:49 2005 -0700"
      },
      "message": "[IPV6]: Repair Incoming Interface Handling for Raw Socket.\n\nDue to changes to enforce checking interface bindings,\nsockets did not see loopback packets bound for our local address\non our interface.\n\ne.g.)\n  When we ping6 fe80::1%eth0, skb-\u003edev points loopback_dev while\n  IP6CB(skb)-\u003eiif indicates eth0.\n\nThis patch fixes the issue by using appropriate incoming interface,\nin the sense of scoping architecture.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "573dbd95964b01a942aa0c68e92b06f2c9536964",
      "tree": "4ada5dff2a15e1ad1edee7294d6f0d3c260987d1",
      "parents": [
        "5170dbebbb2e9159cdf6bbf35e5d79cd7009799a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Sep 01 17:44:29 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:44:29 2005 -0700"
      },
      "message": "[CRYPTO]: crypto_free_tfm() callers no longer need to check for NULL\n\nSince the patch to add a NULL short-circuit to crypto_free_tfm() went in,\nthere\u0027s no longer any need for callers of that function to check for NULL.\nThis patch removes the redundant NULL checks and also a few similar checks\nfor NULL before calls to kfree() that I ran into while doing the\ncrypto_free_tfm bits.\n\nI\u0027ve succesfuly compile tested this patch, and a kernel with the patch \napplied boots and runs just fine.\n\nWhen I posted the patch to LKML (and other lists/people on Cc) it drew the\nfollowing comments :\n\n J. Bruce Fields commented\n  \"I\u0027ve no problem with the auth_gss or nfsv4 bits.--b.\"\n\n Sridhar Samudrala said\n  \"sctp change looks fine.\"\n\n Herbert Xu signed off on the patch.\n\nSo, I guess this is ready to be dropped into -mm and eventually mainline.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ac4f893f20ed524198da5ebf591fc0b9e2ced2f",
      "tree": "63650617f3bff152c3bdbd53e470abef6764b784",
      "parents": [
        "5f2c3b910744f68e1a507f027398f404b3feb5fb"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Sat Aug 27 22:37:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:13:29 2005 -0700"
      },
      "message": "[NETFILTER6]: Add new ip6tables HOPLIMIT target\n\nThis target allows users to modify the hoplimit header field of the\nIPv6 header.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba89966c1984513f4f2cc0a6c182266be44ddd03",
      "tree": "6e5766fc5c287708c03e0a162531dfd4785b0703",
      "parents": [
        "29cb9f9c5502f6218cd3ea574efe46a5e55522d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Aug 26 12:05:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:11:18 2005 -0700"
      },
      "message": "[NET]: use __read_mostly on kmem_cache_t , DEFINE_SNMP_STAT pointers\n\nThis patch puts mostly read only data in the right section\n(read_mostly), to help sharing of these data between CPUS without\nmemory ping pongs.\n\nOn one of my production machine, tcp_statistics was sitting in a\nheavily modified cache line, so *every* SNMP update had to force a\nreload.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05465343bf74e00c8c2c5a310740157de3149f27",
      "tree": "393fc1fb09668faf3968726f6e8e5039109224a9",
      "parents": [
        "764d8a9f240729534a1d8a0ffd39e722cf5cc5af"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 21 23:31:43 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:04:18 2005 -0700"
      },
      "message": "[NETFILTER]: Add goto target\n\nOriginally written by Henrik Nordstrom \u003chno@marasystems.com\u003e, taken\nfrom netfilter patch-o-matic and added ip6_tables support.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "764d8a9f240729534a1d8a0ffd39e722cf5cc5af",
      "tree": "ee5d5e0b203149938a5151126b2e3ae46051dfbf",
      "parents": [
        "7567662ba896ee0c33d6215f32e2011488a6d1bf"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 21 23:31:06 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:04:12 2005 -0700"
      },
      "message": "[NETFILTER]: Add IPv6 REJECT target\n\nOriginally written by Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e,\ntaken from netfilter patch-o-matic and fixed up to work with current\nkernels.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20380731bc2897f2952ae055420972ded4cd786e",
      "tree": "abd31e5ebfadcf4f9024634eec8b11855029e512",
      "parents": [
        "9deff7f2365958c5c5aa8cb5a0dd651c4dd83f8f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 16 02:18:02 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:32 2005 -0700"
      },
      "message": "[NET]: Fix sparse warnings\n\nOf this type, mostly:\n\nCHECK   net/ipv6/netfilter.c\nnet/ipv6/netfilter.c:96:12: warning: symbol \u0027ipv6_netfilter_init\u0027 was not declared. Should it be static?\nnet/ipv6/netfilter.c:101:6: warning: symbol \u0027ipv6_netfilter_fini\u0027 was not declared. Should it be static?\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "066286071d3542243baa68166acb779187c848b3",
      "tree": "ef6604f16ceb13842a30311654e6a64aac716c48",
      "parents": [
        "9a4595bc7e67962f13232ee55a64e063062c3a99"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 15 12:33:26 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:11 2005 -0700"
      },
      "message": "[NETLINK]: Add \"groups\" argument to netlink_kernel_create\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac6d439d2097b72ea0cbc2322ce1263a38bc1fd0",
      "tree": "19e638a226993dddede5a2da577e2572f7555a95",
      "parents": [
        "d629b836d151d43332492651dd841d32e57ebe3b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 19:29:52 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:00:54 2005 -0700"
      },
      "message": "[NETLINK]: Convert netlink users to use group numbers instead of bitmasks\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "34b4a4a624bafe089107966a6c56d2a1aca026d4",
      "tree": "d0546ea54dc1f7169447133df89e1512eb48ae39",
      "parents": [
        "000efe1d86620244b8e017429e57fab4170ab05a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Aug 14 17:33:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:59:07 2005 -0700"
      },
      "message": "[NETFILTER]: Remove tasklist_lock abuse in ipt{,6}owner\n\nRip out cmd/sid/pid matching since its unfixable broken and stands in the\nway of locking changes to tasklist_lock.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61bbcf28a8cb0ba56f8193d512f7222e711a294",
      "tree": "33ae1976ab3b08aac516debb2742d2c6696d5436",
      "parents": [
        "25ed891019b84498c83903ecf53df7ce35e9cff6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 17:24:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:58:24 2005 -0700"
      },
      "message": "[NET]: Store skb-\u003etimestamp as offset to a base timestamp\n\nReduces skb size by 8 bytes on 64-bit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5324a040ccc708998e61ea93e669b81312f0ae11",
      "tree": "08e40652e7c9394277a0b5e08148c43a97d46670",
      "parents": [
        "505cbfc577f3fa778005e2800b869eca25727d5f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Aug 12 09:26:18 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:57:29 2005 -0700"
      },
      "message": "[INET6_HASHTABLES]: Move inet6_lookup functions to net/ipv6/inet6_hashtables.c\n\nDoing this we allow tcp_diag to support IPV6 even if tcp_diag is compiled\nstatically and IPV6 is compiled as a module, removing the previous restriction\nwhile not building any IPV6 code if it is not selected.\n\nNow to work on the tcpdiag_register infrastructure and then to rename the whole\nthing to inetdiag, reflecting its by then completely generic nature.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "505cbfc577f3fa778005e2800b869eca25727d5f",
      "tree": "a823df4b3e919b06b08d49014ad233c48a5903ff",
      "parents": [
        "b766b305d3f2d8be173e5d9853534ea1afdbabba"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Aug 12 09:19:38 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:57:24 2005 -0700"
      },
      "message": "[IPV6]: Generalise the tcp_v6_lookup routines\n\nIn the same way as was done with the v4 counterparts, this will be moved\nto inet6_hashtables.c.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6687e988d9aeaccad6774e6a8304f681f3ec0a03",
      "tree": "ecd3d28f9989847aa1dcde4782de0210aeadc290",
      "parents": [
        "64ce207306debd7157f47282be94770407bec01c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Aug 10 04:03:31 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:18 2005 -0700"
      },
      "message": "[ICSK]: Move TCP congestion avoidance members to icsk\n\nThis changeset basically moves tcp_sk()-\u003e{ca_ops,ca_state,etc} to inet_csk(),\nminimal renaming/moving done in this changeset to ease review.\n\nMost of it is just changes of struct tcp_sock * to struct sock * parameters.\n\nWith this we move to a state closer to two interesting goals:\n\n1. Generalisation of net/ipv4/tcp_diag.c, becoming inet_diag.c, being used\n   for any INET transport protocol that has struct inet_hashinfo and are\n   derived from struct inet_connection_sock. Keeps the userspace API, that will\n   just not display DCCP sockets, while newer versions of tools can support\n   DCCP.\n\n2. INET generic transport pluggable Congestion Avoidance infrastructure, using\n   the current TCP CA infrastructure with DCCP.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64ce207306debd7157f47282be94770407bec01c",
      "tree": "b4004f01b2b0e935b95bcce9a78e60a9e9e17f65",
      "parents": [
        "64cf1e5d8b5f88d56509260e08fa0d8314277350"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 20:50:53 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:08 2005 -0700"
      },
      "message": "[NET]: Make NETDEBUG pure printk wrappers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "295ff7edb8f72b77d524759266f7524deae379b3",
      "tree": "e16e99e324444fb01ae3dfd221b5d47a88acfeb8",
      "parents": [
        "0b4e03bf0bc43ad6250a1e2fa25fc3eb2b028977"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 09 20:44:40 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:55:48 2005 -0700"
      },
      "message": "[TIMEWAIT]: Introduce inet_timewait_death_row\n\nThat groups all of the tables and variables associated to the TCP timewait\nschedulling/recycling/killing code, that now can be isolated from the TCP\nspecific code and used by other transport protocols, such as DCCP.\n\nNext changeset will move this code to net/ipv4/inet_timewait_sock.c\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbd86b9fc469b7e91dc7444e6abb8930811d79cb",
      "tree": "0d1133f5f499cab639784407f53938ba5060807f",
      "parents": [
        "fbcd923c3e0c8ec9e4ed64f5a4e5766807b32729"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 20:23:11 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:51:18 2005 -0700"
      },
      "message": "[NETFILTER]: add /proc/net/netfilter interface to nf_queue\n\nThis patch adds a /proc/net/netfilter/nf_queue file, similar to the\nrecently-added /proc/net/netfilter/nf_log.  It indicates which queue\nhandler is registered to which protocol family.  This is useful since\nthere are now multiple queue handlers in the treee (ip[6]_queue,\nnfnetlink_queue).\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "210a9ebef2d1bd32d9e9d81c84d538e237769cdb",
      "tree": "b4ad1d992f137020333090c0fae6c898ee77fe5b",
      "parents": [
        "f682faefb8c6045468c4cf0fe435128352683c22"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 20:20:54 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:51:08 2005 -0700"
      },
      "message": "[NETFILTER]: ip{6}_queue: prevent unregistration race with nfnetlink_queue\n\nSince nfnetlink_queue can override ip{6}_queue as queue handlers, we\ncan no longer blindly unregister whoever is registered for PF_INET[6],\nbut only unregister ourselves.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a5578cf8e5e045aaa68643c17ce885426697c6b",
      "tree": "1c58ba5c3236499ec5abeedcc43faa7bed816b07",
      "parents": [
        "9f1d2604c71498579609b1532fedc5a89276bb00"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:11:41 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:24 2005 -0700"
      },
      "message": "[ICSK]: Generalise tcp_listen_{start,stop}\n\nThis also moved inet_iif from tcp to inet_hashtables.h, as it is\nneeded by the inet_lookup callers, perhaps this needs a bit of\npolishing, but for now seems fine.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "463c84b97f24010a67cd871746d6a7e4c925a5f9",
      "tree": "48df67ede4ebb5d12b3c0ae55d72531574bd51a6",
      "parents": [
        "87d11ceb9deb7a3f13fdee6e89d9bb6be7d27a71"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:10:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:43:19 2005 -0700"
      },
      "message": "[NET]: Introduce inet_connection_sock\n\nThis creates struct inet_connection_sock, moving members out of struct\ntcp_sock that are shareable with other INET connection oriented\nprotocols, such as DCCP, that in my private tree already uses most of\nthese members.\n\nThe functions that operate on these members were renamed, using a\ninet_csk_ prefix while not being moved yet to a new file, so as to\nease the review of these changes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8feaf0c0a5488b3d898a9c207eb6678f44ba3f26",
      "tree": "ddd004afe2f7c8295f6fdb94d34f78a42b5961cb",
      "parents": [
        "33b62231908c58ae04185e4f1063d1e35a7c8576"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:09:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:42:13 2005 -0700"
      },
      "message": "[INET]: Generalise tcp_tw_bucket, aka TIME_WAIT sockets\n\nThis paves the way to generalise the rest of the sock ID lookup\nroutines and saves some bytes in TCPv4 TIME_WAIT sockets on distro\nkernels (where IPv6 is always built as a module):\n\n[root@qemu ~]# grep tw_sock /proc/slabinfo\ntw_sock_TCPv6  0  0  128  31  1\ntw_sock_TCP    0  0   96  41  1\n[root@qemu ~]#\n\nNow if a protocol wants to use the TIME_WAIT generic infrastructure it\nonly has to set the sk_prot-\u003etwsk_obj_size field with the size of its\ninet_timewait_sock derived sock and proto_register will create\nsk_prot-\u003etwsk_slab, for now its only for INET sockets, but we can\nintroduce timewait_sock later if some non INET transport protocolo\nwants to use this stuff.\n\nNext changesets will take advantage of this new infrastructure to\ngeneralise even more TCP code.\n\n[acme@toy net-2.6.14]$ grep built-in /tmp/before.size /tmp/after.size\n/tmp/before.size: 188646   11764    5068  205478   322a6 net/ipv4/built-in.o\n/tmp/after.size:  188144   11764    5068  204976   320b0 net/ipv4/built-in.o\n[acme@toy net-2.6.14]$\n\nTested with both IPv4 \u0026 IPv6 (::1 (localhost) \u0026 ::ffff:172.20.0.1\n(qemu host)).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c752f0739f09b803aed191c4765a3b6650a08653",
      "tree": "33dcc7acf66ec51952b76276c758e38811f4f708",
      "parents": [
        "f3f05f7046e7c85b04af390d95a82a27160dd5d0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:08:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:41:54 2005 -0700"
      },
      "message": "[TCP]: Move the tcp sock states to net/tcp_states.h\n\nLots of places just needs the states, not even linux/tcp.h, where this\nenum was, needs it.\n\nThis speeds up development of the refactorings as less sources are\nrebuilt when things get moved from net/tcp.h.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3f05f7046e7c85b04af390d95a82a27160dd5d0",
      "tree": "9a4a552c030ea8b2428ceee75311d73a6b339255",
      "parents": [
        "6e04e02165a7209a71db553b7bc48d68421e5ebf"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:08:09 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:41:49 2005 -0700"
      },
      "message": "[INET]: Generalise the tcp_listen_ lock routines\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e04e02165a7209a71db553b7bc48d68421e5ebf",
      "tree": "004157924013e6c099cacac59f39d3dd61f3e0e5",
      "parents": [
        "2d8c4ce51903636ce0f60addc8134aa50ab8fa76"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:07:35 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:41:44 2005 -0700"
      },
      "message": "[INET]: Move tcp_port_rover to inet_hashinfo\n\nAlso expose all of the tcp_hashinfo members, i.e. killing those\ntcp_ehash, etc macros, this will more clearly expose already generic\nfunctions and some that need just a bit of work to become generic, as\nwe\u0027ll see in the upcoming changesets.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d8c4ce51903636ce0f60addc8134aa50ab8fa76",
      "tree": "1ea4d4faf831b832489b30b13d8910777020feed",
      "parents": [
        "ff21d5774b4a186c98be6398eacde75d896db804"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:07:13 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:40:29 2005 -0700"
      },
      "message": "[INET]: Generalise tcp_bind_hash \u0026 tcp_inherit_port\n\nThis required moving tcp_bucket_cachep to inet_hashinfo.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a55ebcc4c4532107ad9eee1c9bb698ab5f12c00f",
      "tree": "964be5918610e6f89cc7f2fee48418979b48773b",
      "parents": [
        "77d8bf9c6208eb535f05718168ffcc476be0ca8c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:01:14 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:38:48 2005 -0700"
      },
      "message": "[INET]: Move bind_hash from tcp_sk to inet_sk\n\nThis should really be in a inet_connection_sock, but I\u0027m leaving it\nfor a later optimization, when some more fields common to INET\ntransport protocols now in tcp_sk or inet_sk will be chunked out into\ninet_connection_sock, for now its better to concentrate on getting the\nchanges in the core merged to leave the DCCP tree with only DCCP\nspecific code.\n\nNext changesets will take advantage of this move to generalise things\nlike tcp_bind_hash, tcp_put_port, tcp_inherit_port, making the later\nreceive a inet_hashinfo parameter, and even __tcp_tw_hashdance, etc in\nthe future, when tcp_tw_bucket gets transformed into the struct\ntimewait_sock hierarchy.\n\ntcp_destroy_sock also is eligible as soon as tcp_orphan_count gets\nmoved to sk_prot.\n\nA cascade of incremental changes will ultimately make the tcp_lookup\nfunctions be fully generic.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f7ff9274e72fd254fbd1ab117bbc1db6e7cdb34",
      "tree": "95736729a2f5302666604c4287a2af97ececd734",
      "parents": [
        "304a16180fb6d2b153b45f6fbbcec1fa814496e5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:59:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:38:32 2005 -0700"
      },
      "message": "[INET]: Just rename the TCP hashtable functions/structs to inet_\n\nThis is to break down the complexity of the series of patches,\nmaking it very clear that this one just does:\n\n1. renames tcp_ prefixed hashtable functions and data structures that\n   were already mostly generic to inet_ to share it with DCCP and\n   other INET transport protocols.\n\n2. Removes not used functions (__tb_head \u0026 tb_head)\n\n3. Removes some leftover prototypes in the headers (tcp_bucket_unlock \u0026\n   tcp_v4_build_header)\n\nNext changesets will move tcp_sk(sk)-\u003ebind_hash to inet_sock so that we can\nmake functions such as tcp_inherit_port, __tcp_inherit_port, tcp_v4_get_port,\n__tcp_put_port,  generic and get others like tcp_destroy_sock closer to generic\n(tcp_orphan_count will go to sk-\u003esk_prot to allow this).\n\nEventually most of these functions will be used passing the transport protocol\ninet_hashinfo structure.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "608c8e4f7b6e61cc783283e9dff8a465a5ad59bb",
      "tree": "55ca8bed99789cd6af07f6cc6ee99b0cf718a611",
      "parents": [
        "838ab6364956d9bdcefe84712de1621cf20a40b3"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:58:27 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:38:07 2005 -0700"
      },
      "message": "[NETFILTER]: Extend netfilter logging API\n\nThis patch is in preparation to nfnetlink_log:\n- loggers now have to register struct nf_logger instead of nf_logfn\n- nf_log_unregister() replaced by nf_log_unregister_pf() and\n  nf_log_unregister_logger()\n- add comment to ip[6]t_LOG.h to assure nobody redefines flags\n- add /proc/net/netfilter/nf_log to tell user which logger is currently\n  registered for which address family\n- if user has configured logging, but no logging backend (logger) is\n  available, always spit a message to syslog, not just the first time.\n- split ip[6]t_LOG.c into two parts:\n  Backend: Always try to register as logger for the respective address family\n  Frontend: Always log via nf_log_packet() API\n- modify all users of nf_log_packet() to accomodate additional argument\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32519f11d38ea8f4f60896763bacec7db1760f9c",
      "tree": "9e3fe09e4f7468f119350d80a6ecb8d871a86dd0",
      "parents": [
        "6cbb0df788b90777a7ed0f9d8261260353f48076"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:50:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:55 2005 -0700"
      },
      "message": "[INET]: Introduce inet_sk_rebuild_header\n\nFrom tcp_v4_rebuild_header, that already was pretty generic, I only\nneeded to use sk-\u003esk_protocol instead of the hardcoded IPPROTO_TCP and\nestablish the requirement that INET transport layer protocols that\nwant to use this function map TCP_SYN_SENT to its equivalent state.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6848976b721eeb5551cd94673faafeef78d9f35",
      "tree": "6c78b0eb52614ff6386b603ca64091b5aefaa418",
      "parents": [
        "d13964f4490157b8a290903362bfbc54f750a6bc"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:45:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:29 2005 -0700"
      },
      "message": "[NET]: Cleanup INET_REFCNT_DEBUG code\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d13964f4490157b8a290903362bfbc54f750a6bc",
      "tree": "377297846b513224a30185fb279afd6640e361f5",
      "parents": [
        "0bd1b59b15e4057101c89d4db15a3683c0d897f7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 19:45:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:22 2005 -0700"
      },
      "message": "[IPV4/6]: Check if packet was actually delivered to a raw socket to decide whether to send an ICMP unreachable\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bd1b59b15e4057101c89d4db15a3683c0d897f7",
      "tree": "1912652fdf55f1bcc703ae9a3dcb93036dcfca67",
      "parents": [
        "7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb"
      ],
      "author": {
        "name": "Andrew McDonald",
        "email": "andrew@mcdonald.org.uk",
        "time": "Tue Aug 09 19:44:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:06 2005 -0700"
      },
      "message": "[IPV6]: Check interface bindings on IPv6 raw socket reception\n\nTake account of whether a socket is bound to a particular device when\nselecting an IPv6 raw socket to receive a packet. Also perform this\ncheck when receiving IPv6 packets with router alert options.\n\nSigned-off-by: Andrew McDonald \u003candrew@mcdonald.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb",
      "tree": "752acd1f26063b23e5629124ee0a33078d2fb9a1",
      "parents": [
        "0ab43f84995f2c2fcc5cc58a9accaa1095e1317f"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:44:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:36:56 2005 -0700"
      },
      "message": "[NETFILTER]: Add \"nfnetlink_queue\" netfilter queue handler over nfnetlink\n\n- Add new nfnetlink_queue module\n- Add new ipt_NFQUEUE and ip6t_NFQUEUE modules to access queue numbers 1-65535\n- Mark ip_queue and ip6_queue Kconfig options as OBSOLETE\n- Update feature-removal-schedule to remove ip[6]_queue in December\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ab43f84995f2c2fcc5cc58a9accaa1095e1317f",
      "tree": "f58711648f91bbd880fcada7718a2462f0249a78",
      "parents": [
        "2cc7d5730957c4a3f3659d17d2ba5e06d5581c1f"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:43:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:36:49 2005 -0700"
      },
      "message": "[NETFILTER]: Core changes required by upcoming nfnetlink_queue code\n\n- split netfiler verdict in 16bit verdict and 16bit queue number\n- add \u0027queuenum\u0027 argument to nf_queue_outfn_t and its users ip[6]_queue\n- move NFNL_SUBSYS_ definitions from enum to #define\n- introduce autoloading for nfnetlink subsystem modules\n- add MODULE_ALIAS_NFNL_SUBSYS macro\n- add nf_unregister_queue_handlers() to register all handlers for a given\n  nf_queue_outfn_t\n- add more verbose DEBUGP macro definition to nfnetlink.c\n- make nfnetlink_subsys_register fail if subsys already exists\n- add some more comments and debug statements to nfnetlink.c\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2cc7d5730957c4a3f3659d17d2ba5e06d5581c1f",
      "tree": "c2c3d03d8120831d487bb8fcc73e5dcbe13aebea",
      "parents": [
        "4fdb3bb723db469717c6d38fda667d8b0fa86ebd"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:42:34 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:36:19 2005 -0700"
      },
      "message": "[NETFILTER]: Move reroute-after-queue code up to the nf_queue layer.\n\nThe rerouting functionality is required by the core, therefore it has\nto be implemented by the core and not in individual queue handlers.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fdb3bb723db469717c6d38fda667d8b0fa86ebd",
      "tree": "43d82e717922e6319cf8a8f9dc5ee902c651b491",
      "parents": [
        "020b4c12dbe3868d792a01d7c1470cd837abe10f"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:40:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:35:08 2005 -0700"
      },
      "message": "[NETLINK]: Add properly module refcounting for kernel netlink sockets.\n\n- Remove bogus code for compiling netlink as module\n- Add module refcounting support for modules implementing a netlink\n  protocol\n- Add support for autoloading modules that implement a netlink protocol\n  as soon as someone opens a socket for that protocol\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "020b4c12dbe3868d792a01d7c1470cd837abe10f",
      "tree": "4c5963a206f67eda6f8ff74ac33f7ed7e4acc164",
      "parents": [
        "089af26c706d1473f641c909fee7c878d29c1f1a"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:39:00 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:35:01 2005 -0700"
      },
      "message": "[NETFILTER]: Move ipv4 specific code from net/core/netfilter.c to net/ipv4/netfilter.c\n\nNetfilter cleanup\n- Move ipv4 code from net/core/netfilter.c to net/ipv4/netfilter.c\n- Move ipv6 netfilter code from net/ipv6/ip6_output.c to net/ipv6/netfilter.c\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "089af26c706d1473f641c909fee7c878d29c1f1a",
      "tree": "6dd04c64ad16c998eaf8850ee8e520da2c5cb7d4",
      "parents": [
        "373ac73595491b7c1f2f10cb37e9b7bae6901227"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:37:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:34:40 2005 -0700"
      },
      "message": "[NETFILTER]: Rename skb_ip_make_writable() to skb_make_writable()\n\nThere is nothing IPv4-specific in it.  In fact, it was already used by\nIPv6, too...  Upcoming nfnetlink_queue code will use it for any kind\nof packet.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2ccd8fa06c8e302116e71df372f5c1f83432e03",
      "tree": "6e933f4bdc8899009edb33642b908779f123fb4a",
      "parents": [
        "b6b99eb5409d75ae35390057cd28f3aedfbd4cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:34:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:32:25 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003ereal_dev\n\nBonding just wants the device before the skb_bond()\ndecapsulation occurs, so simply pass that original\ndevice into packet_type-\u003efunc() as an argument.\n\nIt remains to be seen whether we can use this same\nexact thing to get rid of skb-\u003einput_dev as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6869c4d8e066e21623c812c448a05f1ed931c9c6",
      "tree": "ce18efc459e121e3a0b1bf5f85615567cdb30f68",
      "parents": [
        "bf3a46aa9b96f6eb3a49a568f72a2801c3e830c0"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:24:19 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:04 2005 -0700"
      },
      "message": "[NETFILTER]: reduce netfilter sk_buff enlargement\n\nAs discussed at netconf\u002705, we\u0027re trying to save every bit in sk_buff.\nThe patch below makes sk_buff 8 bytes smaller.  I did some basic\ntesting on my notebook and it seems to work.\n\nThe only real in-tree user of nfcache was IPVS, who only needs a\nsingle bit.  Unfortunately I couldn\u0027t find some other free bit in\nsk_buff to stuff that bit into, so I introduced a separate field for\nthem.  Maybe the IPVS guys can resolve that to further save space.\n\nInitially I wanted to shrink pkt_type to three bits (PACKET_HOST and\nalike are only 6 values defined), but unfortunately the bluetooth code\noverloads pkt_type :(\n\nThe conntrack-event-api (out-of-tree) uses nfcache, but Rusty just\ncame up with a way how to do it without any skb fields, so it\u0027s safe\nto remove it.\n\n- remove all never-implemented \u0027nfcache\u0027 code\n- don\u0027t have ipvs code abuse \u0027nfcache\u0027 field. currently get\u0027s their own\n  compile-conditional skb-\u003eipvs_property field.  IPVS maintainers can\n  decide to move this bit elswhere, but nfcache needs to die.\n- remove skb-\u003enfcache field to save 4 bytes\n- move skb-\u003enfctinfo into three unused bits to save further 4 bytes\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5d283751ef3c05b6766501a46800cbee84959d6",
      "tree": "c8de7a2dbd69efb233f1b051bdfceed7eded379a",
      "parents": [
        "89ebd197eb2cd31d6187db344d5117064e19fdde"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 23 10:49:54 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 23 10:49:54 2005 -0700"
      },
      "message": "[TCP]: Document non-trivial locking path in tcp_v{4,6}_get_port().\n\nThis trips up a lot of folks reading this code.\nPut an unlikely() around the port-exhaustion test\nfor good measure.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66a79a19a7c582efd99bb143c3a59fbda006eb39",
      "tree": "615163e271e256063ede49f73ae01e8abb39ed72",
      "parents": [
        "1344a41637114485fac7afa1505bce2ff862807a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 23 10:10:35 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 23 10:10:35 2005 -0700"
      },
      "message": "[NETFILTER]: Fix HW checksum handling in ip_queue/ip6_queue\n\nThe checksum needs to be filled in on output, after mangling a packet\nip_summed needs to be reset.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fc8b9e7c60d4a3d4d7f1189f74e37651f5610e6",
      "tree": "e0a28a510f7655fa180f48caee683d2532ef7f75",
      "parents": [
        "cb94c62c252796f42bb83fe40960d12f3ea5a82a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Aug 18 14:36:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 18 14:36:59 2005 -0700"
      },
      "message": "[IPCOMP]: Fix false smp_processor_id warning\n\nThis patch fixes a false-positive from debug_smp_processor_id().\n\nThe processor ID is only used to look up crypto_tfm objects.\nAny processor ID is acceptable here as long as it is one that is\niterated on by for_each_cpu().\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fad87acaea7b0965fe91f0351fdd688fc9761cbe",
      "tree": "c14fefeeb50683accf0a34e4785155f0edad030d",
      "parents": [
        "c8ac37746489f05a32a958b048f29ae45487e81e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 16 21:03:41 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 21:03:41 2005 -0700"
      },
      "message": "[IPV6]: Fix SKB leak in ip6_input_finish()\n\nChanging it to how ip_input handles should fix it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "793245eeb97bd28e363f2b0f2e766fdbff0c9619",
      "tree": "07518e44dce1c9b41d714df1482d4106c67f1459",
      "parents": [
        "12aaa0855b39b5464db953fedf399fa91ee365ed"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 16 20:39:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 20:39:38 2005 -0700"
      },
      "message": "[IPV6]: Fix raw socket hardware checksum failures\n\nWhen packets hit raw sockets the csum update isn\u0027t done yet, do it manually.\nPackets can also reach rawv6_rcv on the output path through\nip6_call_ra_chain, in this case skb-\u003eip_summed is CHECKSUM_NONE and this\ncodepath isn\u0027t executed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fc0b4a7a73a81e74d0004732df358f4f9975be2",
      "tree": "ac2c68e206efbfe378728a50be30ef0bccd0cdff",
      "parents": [
        "534afb90a9cd0b9643f62d660c164e1d924f39cf"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Aug 06 06:33:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 06:33:15 2005 -0700"
      },
      "message": "[IPSEC]: Restrict socket policy loading to CAP_NET_ADMIN.\n\nThe interface needs much redesigning if we wish to allow\nnormal users to do this in some way.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db44575f6fd55df6ff67ddd21f7ad5be5a741136",
      "tree": "3282b763dbc363202a328c473c47a8cad954687e",
      "parents": [
        "1f494c0e040b001cf844280910d04ba7ebdc2898"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Sat Jul 30 17:46:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 30 17:46:44 2005 -0700"
      },
      "message": "[NET]: fix oops after tunnel module unload\n\nTunnel modules used to obtain module refcount each time when\nsome tunnel was created, which meaned that tunnel could be unloaded\nonly after all the tunnels are deleted.\n\nSince killing old MOD_*_USE_COUNT macros this protection has gone.\nIt is possible to return it back as module_get/put, but it looks\nmore natural and practically useful to force destruction of all\nthe child tunnels on module unload.\n\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44456d37b59d8e541936ed26d8b6e08d27e88ac1",
      "tree": "11ca6fa29b8cfb56ecef2d1f4f9dc2d9d71d2a2f",
      "parents": [
        "02b775696fee75a04041d8d94db26a9462216d24"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Wed Jul 27 11:45:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:26:08 2005 -0700"
      },
      "message": "[PATCH] turn many #if $undefined_string into #ifdef $undefined_string\n\nturn many #if $undefined_string into #ifdef $undefined_string to fix some\nwarnings after -Wno-def was added to global CFLAGS\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "227510c7f175c44b12cdff6eab316e53dbf71f92",
      "tree": "157836fd8d477ad3287c29e8235a41f0ed5cad42",
      "parents": [
        "2c2a68b84752cb1090fd2456e8b83e5bcc0e73c4"
      ],
      "author": {
        "name": "Cal Peake",
        "email": "cp@absolutedigital.net",
        "time": "Sun Jul 24 19:30:06 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:30:06 2005 -0700"
      },
      "message": "[IPV6]: fix implicit declaration of function `xfrm6_tunnel_unregister\u0027\n\nSigned-off-by: Cal Peake \u003ccp@absolutedigital.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3984a6b6abac6203868f0e9095c0ed9e33ece03",
      "tree": "a46aa663c646cfc93067c837407ead4357f0b955",
      "parents": [
        "74bb421da7f39e70ab636ad46ef85ea1178786c5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 22 12:52:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 22 12:52:47 2005 -0700"
      },
      "message": "[NETFILTER]: Fix ip6t_LOG MAC format\n\nI broke this in the patch that consolidated MAC logging.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c1217deeb148ff8ab838ba4f1875d0f52dea343",
      "tree": "9219e874ef71ac18b31e1028a5cde6d579c6fc23",
      "parents": [
        "28e212fb360ce2568edd60b93d60683d5ad24146"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 22 12:49:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 22 12:49:30 2005 -0700"
      },
      "message": "[NETFILTER]: Fix deadlock in ip6_queue\n\nAlready fixed in ip_queue, ip6_queue was missed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0303770deb834c15ca664a9d741d40f893c92f4e",
      "tree": "d48e2df54d3545052aaffeeeec1c34c214055056",
      "parents": [
        "c877efb207bf4629cfa97ac13412f7392a873485"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 19 14:03:34 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 19 14:03:34 2005 -0700"
      },
      "message": "[NET]: Make ipip/ip6_tunnel independant of XFRM\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a2e9b738cb5c929df73b6acabdd8f9a4e9a0416",
      "tree": "c7cdf9033093b52e360ad04dc29739ca36a617a4",
      "parents": [
        "d5950b4355049092739bea97d1bdc14433126cc5"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jul 11 21:13:56 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 21:13:56 2005 -0700"
      },
      "message": "[NET]: move config options out to individual protocols\n\nMove the protocol specific config options out to the specific protocols.\nWith this change net/Kconfig now starts to become readable and serve as a\ngood basis for further re-structuring.\n\nThe menu structure is left almost intact, except that indention is\nfixed in most cases. Most visible are the INET changes where several\n\"depends on INET\" are replaced with a single ifdef INET / endif pair.\n\nSeveral new files were created to accomplish this change - they are\nsmall but serve the purpose that config options are now distributed\nout where they belongs.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c05989bb2264f0fa4fc95f81d2c4e6aa2eaa24d",
      "tree": "d0da2c6e210b47727097a77eefddfc7c3e2ea13e",
      "parents": [
        "84b42baef775b0e3415ccece17cf694f50326d01"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 21:44:39 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 21:44:39 2005 -0700"
      },
      "message": "[IPV6]: Fix warning in ip6_mc_msfilter.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9951f036fe8a4e6b21962559c64ff13b290ff01a",
      "tree": "3d4d557102bf8d8a96d5276de7183b57c9808711",
      "parents": [
        "917f2f105ea4bbba8604e3ed55233eebda7afe6a"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:47:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:47:28 2005 -0700"
      },
      "message": "[IPV4]: (INCLUDE,empty)/leave-group equivalence for full-state MSF APIs \u0026 errno fix\n\n1) Adds (INCLUDE, empty)/leave-group equivalence to the full-state \n   multicast source filter APIs (IPv4 and IPv6)\n\n2) Fixes an incorrect errno in the IPv6 leave-group (ENOENT should be\n   EADDRNOTAVAIL)\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "917f2f105ea4bbba8604e3ed55233eebda7afe6a",
      "tree": "bbab5de7093cec897f617649dd123946b579c4b7",
      "parents": [
        "8cdaaa15da58806ac3c75d96c40aef9e31445a25"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:45:16 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:45:16 2005 -0700"
      },
      "message": "[IPV4]: multicast API \"join\" issues\n\n1) In the full-state API when imsf_numsrc \u003d\u003d 0\n   errno should be \"0\", but returns EADDRNOTAVAIL\n\n2) An illegal filter mode change\n   errno should be EINVAL, but returns EADDRNOTAVAIL\n\n3) Trying to do an any-source option without IP_ADD_MEMBERSHIP\n   errno should be EINVAL, but returns EADDRNOTAVAIL\n\n4) Adds comments for the less obvious error return values\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1b4a7e69576d65efc31a8cea0714173c2841244",
      "tree": "92082532651cddc6f0649a9d7ca9ca63e381d310",
      "parents": [
        "0d9901df62fe4820aee86b49f1a074cdb5c6928e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:24:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:24:38 2005 -0700"
      },
      "message": "[TCP]: Move to new TSO segmenting scheme.\n\nMake TSO segment transmit size decisions at send time not earlier.\n\nThe basic scheme is that we try to build as large a TSO frame as\npossible when pulling in the user data, but the size of the TSO frame\noutput to the card is determined at transmit time.\n\nThis is guided by tp-\u003exmit_size_goal.  It is always set to a multiple\nof MSS and tells sendmsg/sendpage how large an SKB to try and build.\n\nLater, tcp_write_xmit() and tcp_push_one() chop up the packet if\nnecessary and conditions warrant.  These routines can also decide to\n\"defer\" in order to wait for more ACKs to arrive and thus allow larger\nTSO frames to be emitted.\n\nA general observation is that TSO elongates the pipe, thus requiring a\nlarger congestion window and larger buffering especially at the sender\nside.  Therefore, it is important that applications 1) get a large\nenough socket send buffer (this is accomplished by our dynamic send\nbuffer expansion code) 2) do large enough writes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2ed4052aa662e7cfb22a1793b9d8158603be6d7",
      "tree": "2b5e6f38447ae666d61af5d15f24a1298226c7ae",
      "parents": [
        "30e224d76f34e041c30df66a4dcbeeb53556ea3f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jul 05 14:41:20 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:41:20 2005 -0700"
      },
      "message": "[IPV6]: Makes IPv6 rcv registration happen last during initialisation.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e176fe8954a5239c24afe79b1001ba3c29511963",
      "tree": "418038ddda59950ac83decb708f25cd612d0ffe0",
      "parents": [
        "3154e540e374bbfd62693d95bc8ed51da95efe75"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 05 14:12:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:12:44 2005 -0700"
      },
      "message": "[NET]: Remove unused security member in sk_buff\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fe40f73d7591b38f129fe6a9c0fa46e0b192d09",
      "tree": "fbe5323ddd8990350bc85778b54301db93ce5f93",
      "parents": [
        "fb3d89498d268c8dedc1ab5b15fa64f536564577"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Jun 28 15:46:24 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 15:46:24 2005 -0700"
      },
      "message": "[IPV6]: remove more unused IPV6_AUTHHDR things.\n\nRemove two more unused IPV6_AUTHHDR option things, \nwhich I failed to remove them last time,\nplus, mark IPV6_AUTHHDR obsolete.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae9cda5d65f3d8a495241cbdcc2d56f721c83cc3",
      "tree": "a2dad0af022411e53724bd965c535287975a05bc",
      "parents": [
        "8a47077a0b5aa2649751c46e7a27884e6686ccbf"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Jun 28 13:00:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 13:00:30 2005 -0700"
      },
      "message": "[IPV6]: Don\u0027t dump temporary addresses twice\n\nEach IPv6 Temporary Address (w/ CONFIG_IPV6_PRIVACY) is dumped twice\nto netlink.\n\nBecause temporary addresses are listed in idev-\u003eaddr_list,\nthere\u0027s no need to dump idev-\u003etempaddr separately.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    }
  ],
  "next": "8a47077a0b5aa2649751c46e7a27884e6686ccbf"
}
