)]}'
{
  "log": [
    {
      "commit": "554794de7949d1a6279336404c066f974d4c2bde",
      "tree": "90cb890a68bdf6c9947ddfc451f798bffb8f8990",
      "parents": [
        "13c1d18931ebb5cf407cb348ef2cd6284d68902d"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Oct 06 09:54:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 06 09:54:39 2008 -0700"
      },
      "message": "pkt_sched: Fix handling of gso skbs on requeuing\n\nJay Cliburn noticed and diagnosed a bug triggered in\ndev_gso_skb_destructor() after last change from qdisc-\u003egso_skb\nto qdisc-\u003erequeue list. Since gso_segmented skbs can\u0027t be queued\nto another list this patch brings back qdisc-\u003egso_skb for them.\n\nReported-by: Jay Cliburn \u003cjcliburn@gmail.com\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13c1d18931ebb5cf407cb348ef2cd6284d68902d",
      "tree": "6d590f85e48b4cce8f67e42c65b88fce8fcc49c6",
      "parents": [
        "95430c0b140c31cb9e39f876afe1c0e9947d1aaf"
      ],
      "author": {
        "name": "Arnaud Ebalard",
        "email": "arno@natisbad.org",
        "time": "Sun Oct 05 13:33:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 05 13:33:42 2008 -0700"
      },
      "message": "xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate)\n\nProvides implementation of the enhancements of XFRM/PF_KEY MIGRATE mechanism\nspecified in draft-ebalard-mext-pfkey-enhanced-migrate-00. Defines associated\nPF_KEY SADB_X_EXT_KMADDRESS extension and XFRM/netlink XFRMA_KMADDRESS\nattribute.\n\nSigned-off-by: Arnaud Ebalard \u003carno@natisbad.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02a47617cdce440f60c71a51f3a93f9f5fcc5a7a",
      "tree": "2f65d9978345b8eafdaf926a3342424a21c6e57a",
      "parents": [
        "c41bd97f815720f9404f97da0c4f4400b52c243d"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Sun Oct 05 11:16:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 05 11:16:16 2008 -0700"
      },
      "message": "Phonet: implement GPRS virtual interface over PEP socket\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c41bd97f815720f9404f97da0c4f4400b52c243d",
      "tree": "104f57ed611ea4a2a7d4cfc370fe3bcd1090a71a",
      "parents": [
        "9641458d3ec42def729fde64669abf07f3220cd5"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Sun Oct 05 11:15:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 05 11:15:43 2008 -0700"
      },
      "message": "Phonet: receive pipe control requests as out-of-band data\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9641458d3ec42def729fde64669abf07f3220cd5",
      "tree": "414a31324c800ad9ecc8665de7ffaa9eee963a0e",
      "parents": [
        "9995a32b4d14dcda2f8df58030526bee91114c16"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Sun Oct 05 11:15:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 05 11:15:13 2008 -0700"
      },
      "message": "Phonet: Pipe End Point for Phonet Pipes protocol\n\nThis protocol provides some connection handling and negotiated\ncongestion control. Nokia cellular modems use it for bulk transfers.\nIt provides packet boundaries (hence SOCK_SEQPACKET). Congestion\ncontrol is per packet rather per byte, so we do not re-use the\ngeneric socket memory accounting.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9995a32b4d14dcda2f8df58030526bee91114c16",
      "tree": "bca23fcdea1cde4160dd5e4a07a19c1689cd5348",
      "parents": [
        "25532824fb727744a302edb25c6a6ac10b82cb63"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Sun Oct 05 11:14:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 05 11:14:48 2008 -0700"
      },
      "message": "Phonet: connected sockets glue\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52cae8f06babf9eed327479c1aa024ce3732f912",
      "tree": "2ef0dc1e4daf53735681ba7223d40058f1175092",
      "parents": [
        "c226ef9b83694311327f3ab0036c6de9c22e9daf"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Aug 18 10:34:34 2008 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Oct 01 11:33:06 2008 -0400"
      },
      "message": "sctp: try harder to figure out address family when checking wildcards\n\nsctp_is_any() function that is used to check for wildcard addresses\nonly looks at the address itself to determine the address family.\nThis function is used in the API to check the address passed in from\nthe user.  If the user simply zerroes out the sockaddr_storage and\npass that in, we\u0027ll end up failing.  So, let\u0027s try harder to determine\nthe address family by also checking the socket if it\u0027s possible.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "c226ef9b83694311327f3ab0036c6de9c22e9daf",
      "tree": "04c81b4186fd79a1f1b129a8627da6a41ceb4c25",
      "parents": [
        "845b8eda4d783a7ce2670d482a716840a650389e"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Jul 25 12:44:09 2008 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Oct 01 11:33:06 2008 -0400"
      },
      "message": "sctp: reduce memory footprint of sctp_chunk structure\n\nsctp_chunks should be put on a diet.  This is some of the low hanging\nfruit that we can strip out.  Changes all the __s8/__u8 flags to\nbitfields.  Saves 12 bytes per chunk.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bcd41303f422015ab662c9276d108414aa75b796",
      "tree": "18fc3d87f764615d7139f23b2792bbf89fc7a63b",
      "parents": [
        "a3116ac5c216fc3c145906a46df9ce542ff7dcf2"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:48:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:48:10 2008 -0700"
      },
      "message": "udp: Export UDP socket lookup function\n\nThe iptables tproxy code has to be able to do UDP socket hash lookups,\nso we have to provide an exported lookup function for this purpose.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3116ac5c216fc3c145906a46df9ce542ff7dcf2",
      "tree": "6b2b43b5bacac2b358566e4b7ca0adda45a3e52b",
      "parents": [
        "86b08d867d7de001ab224180ed7865fab93fd56e"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:46:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:46:49 2008 -0700"
      },
      "message": "tcp: Port redirection support for TCP\n\nCurrent TCP code relies on the local port of the listening socket\nbeing the same as the destination address of the incoming\nconnection. Port redirection used by many transparent proxying\ntechniques obviously breaks this, so we have to store the original\ndestination port address.\n\nThis patch extends struct inet_request_sock and stores the incoming\ndestination port value there. It also modifies the handshake code to\nuse that value as the source port when sending reply packets.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86b08d867d7de001ab224180ed7865fab93fd56e",
      "tree": "fc081a9ec0d0107f951cc0270da2865e1e3413e2",
      "parents": [
        "88ef4a5a78e63420dd1dd770f1bd1dc198926b04"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:44:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:44:42 2008 -0700"
      },
      "message": "ipv4: Make Netfilter\u0027s ip_route_me_harder() non-local address compatible\n\nNetfilter\u0027s ip_route_me_harder() tries to re-route packets either\ngenerated or re-routed by Netfilter. This patch changes\nip_route_me_harder() to handle packets from non-locally-bound sockets\nwith IP_TRANSPARENT set as local and to set the appropriate flowi\nflags when re-doing the routing lookup.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88ef4a5a78e63420dd1dd770f1bd1dc198926b04",
      "tree": "42409d6d26fb6f954c501ac156d34265437d18f9",
      "parents": [
        "79876874ce20d37ecdc7f481ebf142466999152f"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:41:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:41:00 2008 -0700"
      },
      "message": "tcp: Handle TCP SYN+ACK/ACK/RST transparency\n\nThe TCP stack sends out SYN+ACK/ACK/RST reply packets in response to\nincoming packets. The non-local source address check on output bites\nus again, as replies for transparently redirected traffic won\u0027t have a\nchance to leave the node.\n\nThis patch selectively sets the FLOWI_FLAG_ANYSRC flag when doing the\nroute lookup for those replies. Transparent replies are enabled if the\nlistening socket has the transparent socket flag set.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79876874ce20d37ecdc7f481ebf142466999152f",
      "tree": "39c23290ceff007d587d4e3b238290570fa4510e",
      "parents": [
        "1668e010cbe1a7567c81d4c02d31dde9859e9da1"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:35:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:35:39 2008 -0700"
      },
      "message": "ipv4: Conditionally enable transparent flow flag when connecting\n\nSet FLOWI_FLAG_ANYSRC in flowi-\u003eflags if the socket has the\ntransparent socket option set. This way we selectively enable certain\nconnections with non-local source addresses to be routed.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1668e010cbe1a7567c81d4c02d31dde9859e9da1",
      "tree": "f3505d22a93ed9a4b6140a7f98a9d4cc2c1f66e9",
      "parents": [
        "b9fb15067ce93497bef852c05e406d7a96212a9a"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:33:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:33:10 2008 -0700"
      },
      "message": "ipv4: Make inet_sock.h independent of route.h\n\ninet_iif() in inet_sock.h requires route.h. Since users of inet_iif()\nusually require other route.h functionality anyway this patch moves\ninet_iif() to route.h.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5715aea4564f233767ea1d944b2637a5fd7cd2e",
      "tree": "e74e56e56dff19940ba3a5002355ba1bfc73f573",
      "parents": [
        "a210d01ae3ee006b59e54e772a7f212486e0f021"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:30:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:30:02 2008 -0700"
      },
      "message": "ipv4: Implement IP_TRANSPARENT socket option\n\nThis patch introduces the IP_TRANSPARENT socket option: enabling that\nwill make the IPv4 routing omit the non-local source address check on\noutput. Setting IP_TRANSPARENT requires NET_ADMIN capability.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a210d01ae3ee006b59e54e772a7f212486e0f021",
      "tree": "ceea5f8de75e70b13641f340e3b13a125a52567a",
      "parents": [
        "4edd87ad5cad8e159e0db3ce3131b3d97219c9cd"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Wed Oct 01 07:28:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:28:28 2008 -0700"
      },
      "message": "ipv4: Loosen source address check on IPv4 output\n\nip_route_output() contains a check to make sure that no flows with\nnon-local source IP addresses are routed. This obviously makes using\nsuch addresses impossible.\n\nThis patch introduces a flowi flag which makes omitting this check\npossible. The new flag provides a way of handling transparent and\nnon-transparent connections differently.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12a169e7d8f4b1c95252d8b04ed0f1033ed7cfe2",
      "tree": "9630d7798d4fdfc06d6001ccd057aff68f39f908",
      "parents": [
        "b262e60309e1b0eb25d300c7e739427d5316abb1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 01 07:03:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:03:24 2008 -0700"
      },
      "message": "ipsec: Put dumpers on the dump list\n\nHerbert Xu came up with the idea and the original patch to make\nxfrm_state dump list contain also dumpers:\n\nAs it is we go to extraordinary lengths to ensure that states\ndon\u0027t go away while dumpers go to sleep.  It\u0027s much easier if\nwe just put the dumpers themselves on the list since they can\u0027t\ngo away while they\u0027re going.\n\nI\u0027ve also changed the order of addition on new states to prevent\na never-ending dump.\n\nTimo Teräs improved the patch to apply cleanly to latest tree,\nmodified iteration code to be more readable by using a common\nstruct for entries in the list, implemented the same idea for\nxfrm_policy dumping and moved the af_key specific \"last\" entry\ncaching to af_key.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Timo Teras \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b262e60309e1b0eb25d300c7e739427d5316abb1",
      "tree": "bf319d78c79bb5cb617ff0c8340c73aa349bba15",
      "parents": [
        "93c8b90f01f0dc73891da4e84b26524b61d29d66",
        "0523820482dcb42784572ffd2296c2f08c275a2b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 06:12:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 06:12:56 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath9k/core.c\n\tdrivers/net/wireless/ath9k/main.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "93c8b90f01f0dc73891da4e84b26524b61d29d66",
      "tree": "ec7fa47679cccf47716039f2c3898742a0881090",
      "parents": [
        "2bcb4b0f111053d0e8fb4366f0708395d997e93a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Oct 01 02:48:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 02:48:31 2008 -0700"
      },
      "message": "ipv6: almost identical frag hashing funcs combined\n\n$ diff-funcs ip6qhashfn reassembly.c netfilter/nf_conntrack_reasm.c\n --- reassembly.c:ip6qhashfn()\n +++ netfilter/nf_conntrack_reasm.c:ip6qhashfn()\n@@ -1,5 +1,5 @@\n-static unsigned int ip6qhashfn(__be32 id, struct in6_addr *saddr,\n-\t\t\t       struct in6_addr *daddr)\n+static unsigned int ip6qhashfn(__be32 id, const struct in6_addr *saddr,\n+\t\t\t       const struct in6_addr *daddr)\n {\n \tu32 a, b, c;\n\n@@ -9,7 +9,7 @@\n\n \ta +\u003d JHASH_GOLDEN_RATIO;\n \tb +\u003d JHASH_GOLDEN_RATIO;\n-\tc +\u003d ip6_frags.rnd;\n+\tc +\u003d nf_frags.rnd;\n \t__jhash_mix(a, b, c);\n\n \ta +\u003d (__force u32)saddr-\u003es6_addr32[3];\n\nAnd codiff xx.o.old xx.o.new:\n\nnet/ipv6/netfilter/nf_conntrack_reasm.c:\n  ip6qhashfn         | -512\n  nf_hashfn          |   +6\n  nf_ct_frag6_gather |  +36\n 3 functions changed, 42 bytes added, 512 bytes removed, diff: -470\nnet/ipv6/reassembly.c:\n  ip6qhashfn    | -512\n  ip6_hashfn    |   +7\n  ipv6_frag_rcv |  +89\n 3 functions changed, 96 bytes added, 512 bytes removed, diff: -416\n\nnet/ipv6/reassembly.c:\n  inet6_hash_frag | +510\n 1 function changed, 510 bytes added, diff: +510\n\nTotal: -376\n\nCompile tested.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55ad175fb65a4a3a7e4d1aa13c460de281b4e8ac",
      "tree": "abc243bf693e62066e308858f9777247e08c42ef",
      "parents": [
        "3ed6e0803b4fe95107f6cb5a432587d03cd4d17a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 29 16:28:21 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 30 14:07:23 2008 -0400"
      },
      "message": "ieee80211.h: remove superfluous ETH_P_PAE definition\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ba0166708ef4da7eeb61dd92bbba4d5a749d6561",
      "tree": "0e28c1d17b67d24125df4f05cbcca94c7e90ccd3",
      "parents": [
        "8b122efd13a227d35d5ca242561770db1b5e3658"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Sep 30 05:32:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 30 05:32:24 2008 -0700"
      },
      "message": "sctp: Fix kernel panic while process protocol violation parameter\n\nSince call to function sctp_sf_abort_violation() need paramter \u0027arg\u0027 with\n\u0027struct sctp_chunk\u0027 type, it will read the chunk type and chunk length from\nthe chunk_hdr member of chunk. But call to sctp_sf_violation_paramlen()\nalways with \u0027struct sctp_paramhdr\u0027 type\u0027s parameter, it will be passed to\nsctp_sf_abort_violation(). This may cause kernel panic.\n\n   sctp_sf_violation_paramlen()\n     |-- sctp_sf_abort_violation()\n        |-- sctp_make_abort_violation()\n\nThis patch fixed this problem. This patch also fix two place which called\nsctp_sf_violation_paramlen() with wrong paramter type.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72029fe85d8d060b3f966f2dbc36b3c75b5a6532",
      "tree": "ef8948240b0aff2a366136a8303afc70e6c84da8",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 24 16:22:23 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Sep 24 16:22:23 2008 -0500"
      },
      "message": "9p: implement proper trans module refcounting and unregistration\n\n9p trans modules aren\u0027t refcounted nor were they unregistered\nproperly.  Fix it.\n\n* Add 9p_trans_module-\u003eowner and reference the module on each trans\n  instance creation and put it on destruction.\n\n* Protect v9fs_trans_list with a spinlock.  This isn\u0027t strictly\n  necessary as the list is manipulated only during module loading /\n  unloading but it\u0027s a good idea to make the API safe.\n\n* Unregister trans modules when the corresponding module is being\n  unloaded.\n\n* While at it, kill unnecessary EXPORT_SYMBOL on p9_trans_fd_init().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "4b7679a561e552eeda1e3567119bef2bca99b66e",
      "tree": "b5f2b45c9186eb954f9329322d07e277e669b422",
      "parents": [
        "2ff6a6d4e92270283432690adf53a7e5ab186d19"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 18 18:14:18 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:18:03 2008 -0400"
      },
      "message": "mac80211: clean up rate control API\n\nLong awaited, hard work. This patch totally cleans up the rate control\nAPI to remove the requirement to include internal headers outside of\nnet/mac80211/.\n\nThere\u0027s one internal use in the PID algorithm left for mesh networking,\nwe\u0027ll have to figure out a way to clean that one up and decide how to\ndo the peer link evaluation, possibly independent of the rate control\nalgorithm or via new API.\n\nAdditionally, ath9k is left using the cross-inclusion hack for now, we\nwill add new API where necessary to make this work properly, but right\nnow I\u0027m not expert enough to do it. It\u0027s still off better than before.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "60719ffd721f6764b7d07ca188c0d944a4330b69",
      "tree": "a224d5a7538e070430aac3a8a8f9abb4b0cd9152",
      "parents": [
        "133b822638ff01eb1e32e1917b197c40ed095ddd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 16 14:55:09 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:18:00 2008 -0400"
      },
      "message": "cfg80211: show interface type\n\nThis patch makes cfg80211 show the interface in the nl80211\ninformation about a specific interface. API users are required\nto keep the type updated (everything else is fairly complicated)\nbut you will get a warning if you fail to keep it updated.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e07aa3783e9f66b03d72e7afd9f709d7f7059662",
      "tree": "9716ec591334e8b6d1fe04afa58822d889dfdfee",
      "parents": [
        "942b25cf9028e7c2f6446ee7c6618bd70dafec5f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 15 13:11:19 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:17:59 2008 -0400"
      },
      "message": "cfg80211: fix code ordering in header file\n\nLuis added the regulatory hint stuff to this file without\nobserving that __ieee80211_get_channel and ieee80211_get_channel\nreally belong together.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f4ab543201992fe499bef5c406e09f23aa97b4d5",
      "tree": "e5e52782cdc408bd27717d82e87535a24fd516d6",
      "parents": [
        "cd07a8ea0dd4b204919b4c9ced8d9efdd9924495"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Sep 23 01:05:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 01:05:56 2008 -0700"
      },
      "message": "pkt_sched: Remove the tx queue state check in qdisc_run()\n\nThe current check wrongly uses the state of one (currently the first)\ntx queue for all tx queues in case of non-default qdiscs. This check\nmainly prevented requeuing loop with __netif_schedule(), but now it\u0027s\ncontrolled inside __qdisc_run(), while dequeuing. The wrongness of\nthis check was first noticed by Herbert Xu.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd07a8ea0dd4b204919b4c9ced8d9efdd9924495",
      "tree": "1b8e24706b806ea3070ad335d98cd7d2daa4d4c8",
      "parents": [
        "1164f52a244204830c7625b3c22812781996d7b4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:50:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:50:13 2008 -0700"
      },
      "message": "tcp: Use SKB queue handling interfaces instead of by-hand versions.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d258b4914bcda9177bcc7bbd8e1a97b281b460af",
      "tree": "660608fd54a6370cdfd10db6ea3ea39a01ddbd64",
      "parents": [
        "fc7ebb212d3e51d1188948d975aa93dbb0f58b25"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:34:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:34:37 2008 -0700"
      },
      "message": "tcp: Use skb_queue_is_last() instead of by-hand version.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "242f8bfefe4bed626df4e4727ac8f315d80b567a",
      "tree": "44047828a0092e87def4e5c0edfefeadc96a89f8",
      "parents": [
        "3d09274cc9d816d62945408840a9cb76a5e7aac7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:15:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:15:30 2008 -0700"
      },
      "message": "pkt_sched: Make qdisc-\u003egso_skb a list.\n\nThe idea is that we can use this to get rid of\n-\u003erequeue().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d09274cc9d816d62945408840a9cb76a5e7aac7",
      "tree": "aaa71085396fae5c2bcbd0752071e3a0139d370d",
      "parents": [
        "1d4a31dde95af56edac4dee268249a29a21fa7c0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:14:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 22:14:36 2008 -0700"
      },
      "message": "sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be0c52bfed7f7828494fa00060efd5d758e92580",
      "tree": "1261d101dee4c1d440d1d90c974c62339a556843",
      "parents": [
        "87ab4e20b445c6d2d2727ab4f96fa17f7259511e"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:09:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:09:13 2008 -0700"
      },
      "message": "Phonet: emit errors when a packet cannot be delivered locally\n\nWhen there is no listener socket for a received packet, send an error\nback to the sender.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87ab4e20b445c6d2d2727ab4f96fa17f7259511e",
      "tree": "42ee249e27e293b94f9f0c5a72dc6ef58fee5d38",
      "parents": [
        "5f77076d75d35c9f5619e1f9d7e7428a627f65e6"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:08:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:08:39 2008 -0700"
      },
      "message": "Phonet: proc interface for port range\n\nPhonet endpoints are bound to individual ports.\nThis provides a /proc/sys/net/phonet (or sysctl) interface for\nselecting the range of automatically allocated ports (much like the\nip_local_port_range with IPv4).\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "107d0d9b8d9a236883db72841fb61cedd5be845e",
      "tree": "6555b3bc7a8ce3551c462e1f3f7d6556eeda0897",
      "parents": [
        "ba113a94b7503ee23ffe819e7045134b0c1d31de"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:05:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:05:57 2008 -0700"
      },
      "message": "Phonet: Phonet datagram transport protocol\n\nThis provides the basic SOCK_DGRAM transport protocol for Phonet.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba113a94b7503ee23ffe819e7045134b0c1d31de",
      "tree": "b6236bbb36ffa311d7bc952066d2adc2b00c8d0c",
      "parents": [
        "8fb397406f6470f79040c41eec49af20900a9e3b"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:05:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:05:19 2008 -0700"
      },
      "message": "Phonet: common socket glue\n\nThis provides the socket API for the Phonet protocols family.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fb397406f6470f79040c41eec49af20900a9e3b",
      "tree": "019a843c84fc4b427b957a42b49562f8c33e33b6",
      "parents": [
        "f8ff60283de2b6775d7a14619056a08e3083bd40"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:04:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:04:30 2008 -0700"
      },
      "message": "Phonet: Netlink interface\n\nThis provides support for configuring Phonet addresses, notifying\nPhonet configuration changes, and dumping the configuration.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8ff60283de2b6775d7a14619056a08e3083bd40",
      "tree": "aea8a14283aa5b5f7952e6e7b8e4adcc4422c592",
      "parents": [
        "8ead536dec142f27d5b5f72c3994eb39f4741717"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:03:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:03:44 2008 -0700"
      },
      "message": "Phonet: network device and address handling\n\nThis provides support for adding Phonet addresses to and removing\nPhonet addresses from network devices.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b07b3f69a8471cdc142c51461a331226fef248a",
      "tree": "661b8c841ad2e3922f22f585f8628083baa03546",
      "parents": [
        "bce7b15426cac3000bf6a9cf59d9356ef0be2dec"
      ],
      "author": {
        "name": "Remi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 22 20:02:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 20:02:10 2008 -0700"
      },
      "message": "Phonet: PF_PHONET protocol family support\n\nThis is the basis for the Phonet protocol families, and introduces\nthe ETH_P_PHONET packet type and the PF_PHONET socket family.\n\nSigned-off-by: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c1824587f0797373c95719a196f6098f7c6d20c",
      "tree": "c3a5af01afc01d88e111c7e1821b03bf404566f6",
      "parents": [
        "fcaa40669cd798ca2ac0d15441e8a1d1145f2b16"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Sep 22 19:48:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 22 19:48:19 2008 -0700"
      },
      "message": "ipsec: Fix xfrm_state_walk race\n\nAs discovered by Timo Teräs, the currently xfrm_state_walk scheme\nis racy because if a second dump finishes before the first, we\nmay free xfrm states that the first dump would walk over later.\n\nThis patch fixes this by storing the dumps in a list in order\nto calculate the correct completion counter which cures this\nproblem.\n\nI\u0027ve expanded netlink_cb in order to accomodate the extra state\nrelated to this.  It shouldn\u0027t be a big deal since netlink_cb\nis kmalloced for each dump and we\u0027re just increasing it by 4 or\n8 bytes.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43f59c89399fd76883a06c551f24794e98409432",
      "tree": "7ef8ac7047ea5e74c9d522d6438d03fb69a3ba67",
      "parents": [
        "f5fff5dc8a7a3f395b0525c02ba92c95d42b7390"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "message": "net: Remove __skb_insert() calls outside of skbuff internals.\n\nThis minor cleanup simplifies later changes which will convert\nstruct sk_buff and friends over to using struct list_head.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef9da47c7cc64d69526331f315e76b5680d4048f",
      "tree": "97407b83c7c339dbe1fd0948c30f35e1680562ec",
      "parents": [
        "f0ceb0ed86b4792a4ed9d3438f5f7572e48f9803"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:25:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:25:15 2008 -0700"
      },
      "message": "tcp: don\u0027t clear retransmit_skb_hint when not necessary\n\nMost importantly avoid doing it with cumulative ACK. Not clearing\nmeans that we no longer need n^2 processing in resolution of each\nfast recovery.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e1c54c2a405494281e0639aacc90db03b50ae77",
      "tree": "ba5098bdf80603d4b5aa74af11738620f2ea7681",
      "parents": [
        "08ebd1721ab8fd362e90ae17b461c07b23fa2824"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:24:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:24:21 2008 -0700"
      },
      "message": "tcp: reorganize retransmit code loops\n\nBoth loops are quite similar, so they can be combined\nwith little effort. As a result, forward_skb_hint becomes\nobsolete as well.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "006f582c73f4eda35e06fd323193c3df43fb3459",
      "tree": "d82762cfb6fb5e6889a52d316fa263a80c4f9fb3",
      "parents": [
        "41ea36e35a0daa75377b3e70680e5c3a3f83fe27"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:20:20 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:20:20 2008 -0700"
      },
      "message": "tcp: convert retransmit_cnt_hint to seqno\n\nMain benefit in this is that we can then freely point\nthe retransmit_skb_hint to anywhere we want to because\nthere\u0027s no longer need to know what would be the count\nchanges involve, and since this is really used only as a\nterminator, unnecessary work is one time walk at most,\nand if some retransmissions are necessary after that\npoint later on, the walk is not full waste of time\nanyway.\n\nSince retransmit_high must be kept valid, all lost\nmarkers must ensure that.\n\nNow I also have learned how those \"holes\" in the\nrexmittable skbs can appear, mtu probe does them. So\nI removed the misleading comment as well.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64edc2736e23994e0334b70c5ff08dc33e2ebbd9",
      "tree": "2ce61d4894023389258db20edc30ce7d7863d6be",
      "parents": [
        "d950f264ff7260d8c1e124158d758db13e1ad2d0"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:18:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:18:32 2008 -0700"
      },
      "message": "tcp: Partial hint clearing has again become meaningless\n\nIe., the difference between partial and all clearing doesn\u0027t\nexists anymore since the SACK optimizations got dropped by\nan sacktag rewrite.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25d834e16294c8dfd923dae6bdb8a055391a99a5",
      "tree": "b9d756464d89949651e5acd1df97846af3028df0",
      "parents": [
        "9c31fd635ddfae6eb61712491770befa2ce1fdde"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 12 22:52:47 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:25 2008 -0400"
      },
      "message": "mac80211: fix virtual interfaces vs. injection\n\nCurrently, virtual interface pointers passed to drivers might be\nfrom monitor interfaces and as such completely uninitialised\nbecause we do not tell the driver about monitor interfaces when\nthose are created. Instead of passing them, we should therefore\nindicate to the driver that there is no information; do that by\npassing a NULL value and adjust drivers to cope with it.\n\nAs a result, some mac80211 API functions also need to cope with\na NULL vif pointer so drivers can still call them unconditionally.\n\nAlso, when injecting frames we really don\u0027t want to pass NULL all\nthe time, if we know we are the source address of a frame and have\na local interface for that address, we can to use that interface.\nThis also helps with processing the frame correctly for that\ninterface which will help the 802.11w implementation. It\u0027s not\nentirely correct for VLANs or WDS interfaces because there the MAC\naddress isn\u0027t unique, but it\u0027s already a lot better than what we\ndo now.\n\nFinally, when injecting without a matching local interface, don\u0027t\nassign sequence numbers at all.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "687c7c0807371aeaa94ff2fff511eeb326b5c5de",
      "tree": "5f1a51d7f42dba9718ab7286768a5d3c7a4b4b34",
      "parents": [
        "ae17e986091637e7ef5a8224c7b689029b105131"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 03:14:11 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:24 2008 -0400"
      },
      "message": "mac80211: share sta_info-\u003eht_info\n\nRate control algorithms may need access to a station\u0027s\nHT capabilities, so share the ht_info struct in the\npublic station API.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "323ce79a9cdbf838ea577677b1ddace8e0b4d4c6",
      "tree": "f14a67ec7927865dc1537b2c3a4fb20c0325f517",
      "parents": [
        "b7e35008815a1c39123f4dd53b430788e2e18da4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 02:45:11 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:24 2008 -0400"
      },
      "message": "mac80211: share sta-\u003esupp_rates\n\nAs more preparation for a saner rate control algorithm API,\nshare the supported rates bitmap in the public API.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "17741cdc264e4d768167766a252210e201c1519a",
      "tree": "72c0e697af29a40c03bce002b529c3951d34a3b7",
      "parents": [
        "8aa21e6fd703cb3fed66ac07dcbcb861f00cf6d6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:02:02 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:23 2008 -0400"
      },
      "message": "mac80211: share STA information with driver\n\nThis patch changes mac80211 to share some more data about\nstations with drivers. Should help iwlwifi and ath9k when\n they get around to updating, and might also help with\nimplementing rate control algorithms without internals.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Sujith Manoharan \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "05c914fe330fa8e1cc67870dc0d3809dfd96c107",
      "tree": "df53bcab47335f3361c09478d6b1447b7d298536",
      "parents": [
        "96dd22ac06b0dbfb069fdf530c72046a941e9694"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:58 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:23 2008 -0400"
      },
      "message": "mac80211: use nl80211 interface types\n\nThere\u0027s really no reason for mac80211 to be using its\nown interface type defines. Use the nl80211 types and\nsimplify the configuration code a bit: there\u0027s no need\nto translate them any more now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96dd22ac06b0dbfb069fdf530c72046a941e9694",
      "tree": "4dbf19921a1d4add0ca03a0ff1d7db37c4ecb8be",
      "parents": [
        "ccd7b36286f8c42b3fa95c5a8d402162ffab41df"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:57 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:22 2008 -0400"
      },
      "message": "mac80211: inform driver of basic rateset\n\nDrivers need to know the basic rateset to be able to configure\nthe ACK/CTS programming in hardware correctly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5bc75728fd43bb15b46f16ef465bcf9d487393cf",
      "tree": "5732adee3965970390bf7953d214c757bbdba2a2",
      "parents": [
        "b7413430d4d2a6168e68231d9f93763047b6d60c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:51 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: fix scan vs. interface removal race\n\nWhen we remove an interface, we can currently end up having\na pointer to it left in local-\u003escan_sdata after it has been\nset down, and then with a hardware scan the scan completion\ncan try to access it which is a bug. Alternatively, a scan\nthat started as a hardware scan may terminate as though it\nwas a software scan, if the timing is just right.\n\nOn SMP systems, software scan also has a similar problem,\njust canceling the delayed work and setting a flag isn\u0027t\nenough since it may be running concurrently; in this case\nwe would also never restore state of other interfaces.\n\nThis patch hopefully fixes the problems by always invoking\nieee80211_scan_completed or requiring it to be invoked by\nthe driver, I suspect the drivers that have -\u003ehw_scan() are\nbuggy. The bug will not manifest itself unless you remove\nthe interface while hw-scanning which will also turn off\nthe hw, and then add a new interface which will be unusable\nuntil you scan once.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b2e1b30290539b344cbaff0d9da38012e03aa347",
      "tree": "8d021d078c12f3d7b47da4b52a54eff4509daa98",
      "parents": [
        "63f2c0464875b6ef2132cecb19b2a5abbf061227"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Sep 09 23:19:48 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:19 2008 -0400"
      },
      "message": "cfg80211: Add new wireless regulatory infrastructure\n\nThis adds the new wireless regulatory infrastructure. The\nmain motiviation behind this was to centralize regulatory\ncode as each driver was implementing their own regulatory solution,\nand to replace the initial centralized code we have where:\n\n* only 3 regulatory domains are supported: US, JP and EU\n* regulatory domains can only be changed through module parameter\n* all rules were built statically in the kernel\n\nWe now have support for regulatory domains for many countries\nand regulatory domains are now queried through a userspace agent\nthrough udev allowing distributions to update regulatory rules\nwithout updating the kernel.\n\nEach driver can regulatory_hint() a regulatory domain\nbased on either their EEPROM mapped regulatory domain value to a\nrespective ISO/IEC 3166-1 country code or pass an internally built\nregulatory domain. We also add support to let the user set the\nregulatory domain through userspace in case of faulty EEPROMs to\nfurther help compliance.\n\nSupport for world roaming will be added soon for cards capable of\nthis.\n\nFor more information see:\n\nhttp://wireless.kernel.org/en/developers/Regulatory/CRDA\n\nFor now we leave an option to enable the old module parameter,\nieee80211_regdom, and to build the 3 old regdomains statically\n(US, JP and EU). This option is CONFIG_WIRELESS_OLD_REGULATORY.\nThese old static definitions and the module parameter is being\nscheduled for removal for 2.6.29. Note that if you use this\nyou won\u0027t make use of a world regulatory domain as its pointless.\nIf you leave this option enabled and if CRDA is present and you\nuse US or JP we will try to ask CRDA to update us a regulatory\ndomain for us.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ca9b0e27e072be4cef2f5f0cbc0b0fd94eae3520",
      "tree": "c236e31759299193e688cf7fe78809c24449ede1",
      "parents": [
        "92651940ab00dbe64722e908f70d816713d677b7"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Fri Sep 12 16:30:20 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 12 16:30:20 2008 -0700"
      },
      "message": "pkt_action: add new action skbedit\n\nThis new action will have the ability to change the priority and/or\nqueue_mapping fields on an sk_buff.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1045b03e07d85f3545118510a587035536030c1c",
      "tree": "77576a1f1ea8184d6701a89c2e624919ce3e837a",
      "parents": [
        "69da6b87fcb270f758fe75141c32e041f8db510c"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Sep 11 19:05:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 19:05:29 2008 -0700"
      },
      "message": "netlink: fix overrun in attribute iteration\n\nkmemcheck reported this:\n\n  kmemcheck: Caught 16-bit read from uninitialized memory (f6c1ba30)\n  0500110001508abf050010000500000002017300140000006f72672e66726565\n   i i i i i i i i i i i i i u u u u u u u u u u u u u u u u u u u\n                                   ^\n\n  Pid: 3462, comm: wpa_supplicant Not tainted (2.6.27-rc3-00054-g6397ab9-dirty #13)\n  EIP: 0060:[\u003cc05de64a\u003e] EFLAGS: 00010296 CPU: 0\n  EIP is at nla_parse+0x5a/0xf0\n  EAX: 00000008 EBX: fffffffd ECX: c06f16c0 EDX: 00000005\n  ESI: 00000010 EDI: f6c1ba30 EBP: f6367c6c ESP: c0a11e88\n   DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\n  CR0: 8005003b CR2: f781cc84 CR3: 3632f000 CR4: 000006d0\n  DR0: c0ead9bc DR1: 00000000 DR2: 00000000 DR3: 00000000\n  DR6: ffff4ff0 DR7: 00000400\n   [\u003cc05d4b23\u003e] rtnl_setlink+0x63/0x130\n   [\u003cc05d5f75\u003e] rtnetlink_rcv_msg+0x165/0x200\n   [\u003cc05ddf66\u003e] netlink_rcv_skb+0x76/0xa0\n   [\u003cc05d5dfe\u003e] rtnetlink_rcv+0x1e/0x30\n   [\u003cc05dda21\u003e] netlink_unicast+0x281/0x290\n   [\u003cc05ddbe9\u003e] netlink_sendmsg+0x1b9/0x2b0\n   [\u003cc05beef2\u003e] sock_sendmsg+0xd2/0x100\n   [\u003cc05bf945\u003e] sys_sendto+0xa5/0xd0\n   [\u003cc05bf9a6\u003e] sys_send+0x36/0x40\n   [\u003cc05c03d6\u003e] sys_socketcall+0x1e6/0x2c0\n   [\u003cc020353b\u003e] sysenter_do_call+0x12/0x3f\n   [\u003cffffffff\u003e] 0xffffffff\n\nThis is the line in nla_ok():\n\n  /**\n   * nla_ok - check if the netlink attribute fits into the remaining bytes\n   * @nla: netlink attribute\n   * @remaining: number of bytes remaining in attribute stream\n   */\n  static inline int nla_ok(const struct nlattr *nla, int remaining)\n  {\n          return remaining \u003e\u003d sizeof(*nla) \u0026\u0026\n                 nla-\u003enla_len \u003e\u003d sizeof(*nla) \u0026\u0026\n                 nla-\u003enla_len \u003c\u003d remaining;\n  }\n\nIt turns out that remaining can become negative due to alignment in\nnla_next(). But GCC promotes \"remaining\" to unsigned in the test\nagainst sizeof(*nla) above. Therefore the test succeeds, and the\nnla_for_each_attr() may access memory outside the received buffer.\n\nA short example illustrating this point is here:\n\n  #include \u003cstdio.h\u003e\n\n  main(void)\n  {\n          printf(\"%d\\n\", -1 \u003e\u003d sizeof(int));\n  }\n\n...which prints \"1\".\n\nThis patch adds a cast in front of the sizeof so that GCC will make\na signed comparison and fix the illegal memory dereference. With the\npatch applied, there is no kmemcheck report.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nAcked-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe3fa827314b877486c515a001c3e6f604f6f16f",
      "tree": "64b04c2ee021bf8428bc2f5e9370459bf0ae9459",
      "parents": [
        "69e6c010fd5f5015d3cc64718fbe266face93770"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 08 11:05:09 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 11 15:53:34 2008 -0400"
      },
      "message": "mac80211: make conf_tx non-atomic\n\nThe conf_tx callback currently needs to be atomic, this requirement\nis just because it can be called from scanning. This rearranges it\nslightly to only update while not scanning (which is fine, we\u0027ll be\ngetting beacons when associated) and thus removes the atomic\nrequirement.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "abb81c4f3cb9b8d421f1e5474811ef1d461d341c",
      "tree": "71a08df3a53eb9e19a62c673d77084e4d81f708b",
      "parents": [
        "dacc62dbf56e872ad96edde0393b9deb56d80cd5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Sep 09 19:58:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:58:29 2008 -0700"
      },
      "message": "ipsec: Use RCU-like construct for saved state within a walk\n\nNow that we save states within a walk we need synchronisation\nso that the list the saved state is on doesn\u0027t disappear from\nunder us.\n\nAs it stands this is done by keeping the state on the list which\nis bad because it gets in the way of the management of the state\nlife-cycle.\n\nAn alternative is to make our own pseudo-RCU system where we use\ncounters to indicate which state can\u0027t be freed immediately as\nit may be referenced by an ongoing walk when that resumes.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dacc62dbf56e872ad96edde0393b9deb56d80cd5",
      "tree": "3d1b3e25aba9c5324bb0f6289033f502fa6ccb8c",
      "parents": [
        "47abf28d5b36521558a848a346064a3a3c82bd9e",
        "c051a0a2c9e283c1123ed3ce65e66e41d2ce5e24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:51:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:51:04 2008 -0700"
      },
      "message": "Merge branch \u0027lvs-next-2.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6\n"
    },
    {
      "commit": "47abf28d5b36521558a848a346064a3a3c82bd9e",
      "tree": "736e9402b52f08210b8c4bdda9d214e98a6bf7de",
      "parents": [
        "28faa979746b2352cd78a376bf9f52db953bda46",
        "e550dfb0c2c31b6363aa463a035fc9f8dcaa3c9b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:28:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 19:28:03 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "c051a0a2c9e283c1123ed3ce65e66e41d2ce5e24",
      "tree": "1202d018129ca5538cd98b1e4542b239045c1a2d",
      "parents": [
        "e9c0ce232e7a36daae1ca08282609d7f0c57c567",
        "28faa979746b2352cd78a376bf9f52db953bda46"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 10 09:14:52 2008 +1000"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 10 09:14:52 2008 +1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into lvs-next-2.6\n"
    },
    {
      "commit": "410e27a49bb98bc7fa3ff5fc05cc313817b9f253",
      "tree": "88bb1fcf84f9ebfa4299c9a8dcd9e6330b358446",
      "parents": [
        "0a68a20cc3eafa73bb54097c28b921147d7d3685"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 09 13:27:22 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 09 13:27:22 2008 +0200"
      },
      "message": "This reverts \"Merge branch \u0027dccp\u0027 of git://eden-feed.erg.abdn.ac.uk/dccp_exp\"\nas it accentally contained the wrong set of patches. These will be\nsubmitted separately.\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "fd9ec7d31ffc36917dc7cac0fd0435f587a572d4",
      "tree": "844da38556f1334959d47bab1d04d0937df8efa5",
      "parents": [
        "82a28c794f27aac17d7a3ebd7f14d731a11a5532",
        "e7c29cb16c833441fd2160642bb13025f4e7ac70"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 02:11:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 02:11:11 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6\n"
    },
    {
      "commit": "e7c29cb16c833441fd2160642bb13025f4e7ac70",
      "tree": "7ba44be60b7bf9c4e7bee459735ebabdc85eb8fd",
      "parents": [
        "09ab6f4c2376a0fc31abde1e2991513f900ea825"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Reject L2CAP connections on an insecure ACL link\n\nThe Security Mode 4 of the Bluetooth 2.1 specification has strict\nauthentication and encryption requirements. It is the initiators job\nto create a secure ACL link. However in case of malicious devices, the\nacceptor has to make sure that the ACL is encrypted before allowing\nany kind of L2CAP connection. The only exception here is the PSM 1 for\nthe service discovery protocol, because that is allowed to run on an\ninsecure ACL link.\n\nPreviously it was enough to reject a L2CAP connection during the\nconnection setup phase, but with Bluetooth 2.1 it is forbidden to\ndo any L2CAP protocol exchange on an insecure link (except SDP).\n\nThe new hci_conn_check_link_mode() function can be used to check the\nintegrity of an ACL link. This functions also takes care of the cases\nwhere Security Mode 4 is disabled or one of the devices is based on\nan older specification.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "09ab6f4c2376a0fc31abde1e2991513f900ea825",
      "tree": "f002d719a8a9a2c6344f06a5b9346bc053b4054d",
      "parents": [
        "f1c08ca559387ab30992055596d54061dfa022b1"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Enforce correct authentication requirements\n\nWith the introduction of Security Mode 4 and Simple Pairing from the\nBluetooth 2.1 specification it became mandatory that the initiator\nrequires authentication and encryption before any L2CAP channel can\nbe established. The only exception here is PSM 1 for the service\ndiscovery protocol (SDP). It is meant to be used without any encryption\nsince it contains only public information. This is how Bluetooth 2.0\nand before handle connections on PSM 1.\n\nFor Bluetooth 2.1 devices the pairing procedure differentiates between\nno bonding, general bonding and dedicated bonding. The L2CAP layer\nwrongly uses always general bonding when creating new connections, but it\nshould not do this for SDP connections. In this case the authentication\nrequirement should be no bonding and the just-works model should be used,\nbut in case of non-SDP connection it is required to use general bonding.\n\nIf the new connection requires man-in-the-middle (MITM) protection, it\nalso first wrongly creates an unauthenticated link key and then later on\nrequests an upgrade to an authenticated link key to provide full MITM\nprotection. With Simple Pairing the link key generation is an expensive\noperation (compared to Bluetooth 2.0 and before) and doing this twice\nduring a connection setup causes a noticeable delay when establishing\na new connection. This should be avoided to not regress from the expected\nBluetooth 2.0 connection times. The authentication requirements are known\nup-front and so enforce them.\n\nTo fulfill these requirements the hci_connect() function has been extended\nwith an authentication requirement parameter that will be stored inside\nthe connection information and can be retrieved by userspace at any\ntime. This allows the correct IO capabilities exchange and results in\nthe expected behavior.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0a68a20cc3eafa73bb54097c28b921147d7d3685",
      "tree": "8e5f315226b618cb8e050a0c7653c8ec134501e3",
      "parents": [
        "17dce5dfe38ae2fb359b61e855f5d8a3a8b7892b",
        "a3cbdde8e9c38b66b4f13ac5d6ff1939ded0ff20"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 17:28:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 17:28:59 2008 -0700"
      },
      "message": "Merge branch \u0027dccp\u0027 of git://eden-feed.erg.abdn.ac.uk/dccp_exp\n\nConflicts:\n\n\tnet/dccp/input.c\n\tnet/dccp/options.c\n"
    },
    {
      "commit": "17dce5dfe38ae2fb359b61e855f5d8a3a8b7892b",
      "tree": "88bb1fcf84f9ebfa4299c9a8dcd9e6330b358446",
      "parents": [
        "712d6954e3998d0de2840d8130941e8042541246",
        "82a28c794f27aac17d7a3ebd7f14d731a11a5532"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 16:59:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 16:59:05 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tnet/mac80211/mlme.c\n"
    },
    {
      "commit": "e9c0ce232e7a36daae1ca08282609d7f0c57c567",
      "tree": "63ddde69fadab5a68788b37fd6813814be191176",
      "parents": [
        "2206a3f5b75be5dadf11541961bd7c924857eb5d"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Sep 08 13:39:04 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Sep 09 09:53:08 2008 +1000"
      },
      "message": "ipvs: Embed user stats structure into kernel stats structure\n\nInstead of duplicating the fields, integrate a user stats structure into\nthe kernel stats structure. This is more robust when the members are\nchanged, because they are now automatically kept in sync.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nReviewed-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "2206a3f5b75be5dadf11541961bd7c924857eb5d",
      "tree": "8a77697bbd389f723cf7a5acce7303651e701b8c",
      "parents": [
        "9d7f2a2b1aa9e55537a053c68bdbd119fc479dd3"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Mon Sep 08 13:38:11 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Sep 09 09:50:55 2008 +1000"
      },
      "message": "ipvs: Restrict connection table size via Kconfig\n\nInstead of checking the value in include/net/ip_vs.h, we can just\nrestrict the range in our Kconfig file. This will prevent values outside\nof the range early.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nReviewed-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d315492b1a6ba29da0fa2860759505ae1b2db857",
      "tree": "1019a3c34af19939733e6d1e7d3163c73c73eb69",
      "parents": [
        "e8a83e10d7dfe5d0841062780769b30f65417e15"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Mon Sep 08 13:17:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 13:17:27 2008 -0700"
      },
      "message": "netns : fix kernel panic in timewait socket destruction\n\nHow to reproduce ?\n - create a network namespace\n - use tcp protocol and get timewait socket\n - exit the network namespace\n - after a moment (when the timewait socket is destroyed), the kernel\n   panics.\n\n# BUG: unable to handle kernel NULL pointer dereference at\n0000000000000007\nIP: [\u003cffffffff821e394d\u003e] inet_twdr_do_twkill_work+0x6e/0xb8\nPGD 119985067 PUD 11c5c0067 PMD 0\nOops: 0000 [1] SMP\nCPU 1\nModules linked in: ipv6 button battery ac loop dm_mod tg3 libphy ext3 jbd\nedd fan thermal processor thermal_sys sg sata_svw libata dock serverworks\nsd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table]\nPid: 0, comm: swapper Not tainted 2.6.27-rc2 #3\nRIP: 0010:[\u003cffffffff821e394d\u003e] [\u003cffffffff821e394d\u003e]\ninet_twdr_do_twkill_work+0x6e/0xb8\nRSP: 0018:ffff88011ff7fed0 EFLAGS: 00010246\nRAX: ffffffffffffffff RBX: ffffffff82339420 RCX: ffff88011ff7ff30\nRDX: 0000000000000001 RSI: ffff88011a4d03c0 RDI: ffff88011ac2fc00\nRBP: ffffffff823392e0 R08: 0000000000000000 R09: ffff88002802a200\nR10: ffff8800a5c4b000 R11: ffffffff823e4080 R12: ffff88011ac2fc00\nR13: 0000000000000001 R14: 0000000000000001 R15: 0000000000000000\nFS: 0000000041cbd940(0000) GS:ffff8800bff839c0(0000)\nknlGS:0000000000000000\nCS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b\nCR2: 0000000000000007 CR3: 00000000bd87c000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess swapper (pid: 0, threadinfo ffff8800bff9e000, task\nffff88011ff76690)\nStack: ffffffff823392e0 0000000000000100 ffffffff821e3a3a\n0000000000000008\n0000000000000000 ffffffff821e3a61 ffff8800bff7c000 ffffffff8203c7e7\nffff88011ff7ff10 ffff88011ff7ff10 0000000000000021 ffffffff82351108\nCall Trace:\n\u003cIRQ\u003e [\u003cffffffff821e3a3a\u003e] ? inet_twdr_hangman+0x0/0x9e\n[\u003cffffffff821e3a61\u003e] ? inet_twdr_hangman+0x27/0x9e\n[\u003cffffffff8203c7e7\u003e] ? run_timer_softirq+0x12c/0x193\n[\u003cffffffff820390d1\u003e] ? __do_softirq+0x5e/0xcd\n[\u003cffffffff8200d08c\u003e] ? call_softirq+0x1c/0x28\n[\u003cffffffff8200e611\u003e] ? do_softirq+0x2c/0x68\n[\u003cffffffff8201a055\u003e] ? smp_apic_timer_interrupt+0x8e/0xa9\n[\u003cffffffff8200cad6\u003e] ? apic_timer_interrupt+0x66/0x70\n\u003cEOI\u003e [\u003cffffffff82011f4c\u003e] ? default_idle+0x27/0x3b\n[\u003cffffffff8200abbd\u003e] ? cpu_idle+0x5f/0x7d\n\n\nCode: e8 01 00 00 4c 89 e7 41 ff c5 e8 8d fd ff ff 49 8b 44 24 38 4c 89 e7\n65 8b 14 25 24 00 00 00 89 d2 48 8b 80 e8 00 00 00 48 f7 d0 \u003c48\u003e 8b 04 d0\n48 ff 40 58 e8 fc fc ff ff 48 89 df e8 c0 5f 04 00\nRIP [\u003cffffffff821e394d\u003e] inet_twdr_do_twkill_work+0x6e/0xb8\nRSP \u003cffff88011ff7fed0\u003e\nCR2: 0000000000000007\n\nThis patch provides a function to purge all timewait sockets related\nto a network namespace. The timewait sockets life cycle is not tied with\nthe network namespace, that means the timewait sockets stay alive while\nthe network namespace dies. The timewait sockets are for avoiding to\nreceive a duplicate packet from the network, if the network namespace is\nfreed, the network stack is removed, so no chance to receive any packets\nfrom the outside world. Furthermore, having a pending destruction timer\non these sockets with a network namespace freed is not safe and will lead\nto an oops if the timer callback which try to access data belonging to \nthe namespace like for example in:\n\tinet_twdr_do_twkill_work\n\t\t-\u003e NET_INC_STATS_BH(twsk_net(tw), LINUX_MIB_TIMEWAITED);\n\nPurging the timewait sockets at the network namespace destruction will:\n 1) speed up memory freeing for the namespace\n 2) fix kernel panic on asynchronous timewait destruction\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f59ac0481660e66cec67f1d6b024e78b9dc715fe",
      "tree": "e9c69b04ac5863b1429bca5a9df1d75026703cde",
      "parents": [
        "c6e387a214f4b2c4bd48020409e366c133385d98"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Fri Aug 29 16:26:43 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 05 16:17:42 2008 -0400"
      },
      "message": "cfg80211: keep track of supported interface modes\n\nIt is obviously good for userspace to know up front which\ninterface modes a given piece of hardware might support (even\nif adding such an interface might fail later because of\nconcurrency issues), so let\u0027s make cfg80211 aware of that.\nFor good measure, disallow adding interfaces in all other\nmodes so drivers don\u0027t forget to announce support for one mode\nwhen they add it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Stephen Blackheath \u003ctramp.enshrine.stephen@blacksapphire.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cfc78c5a09241a3a9561466834996a7fb90c4228",
      "tree": "7377af0f95a7dbfc877d927534c23c7146f3e813",
      "parents": [
        "09571c7ae30865adfa79dccd12a822a65d2c4b5a"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:53 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:12 2008 +1000"
      },
      "message": "IPVS: Adjust various debug outputs to use new macros\n\nAdjust various debug outputs to use the new *_BUF macro variants for\ncorrect output of v4/v6 addresses.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "7937df1564783806c285d34a1c6fd63d8da29d7a",
      "tree": "090dbabafffef92aff1e04aa163435c3ce6db4c9",
      "parents": [
        "2a3b791e6e1169f374224d164738e9f7be703d77"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:48 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:10 2008 +1000"
      },
      "message": "IPVS: Convert real server lookup functions\n\nConvert functions for looking up destinations (real servers) to support\nIPv6 services/dests.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "b3cdd2a73867d309dca288b8e820c09e3b7f1da1",
      "tree": "83f5ca34e353598ccd6c6cd58e0a9a94a7db03fd",
      "parents": [
        "38cdcc9a039b92a9972dca3c954fb3d8b3ef13bf"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:45 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:08 2008 +1000"
      },
      "message": "IPVS: Add and bind IPv6 xmit functions\n\nAdd xmit functions for IPv6. Also add the already needed __ip_vs_get_out_rt_v6()\nto ip_vs_core.c. Bind the new xmit functions to v6 connections.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "28364a59f3dfe7fed3560ec7aff9b7aeb02824fb",
      "tree": "88b14c8c4d48c5ae538d7d7defe33272498aaebd",
      "parents": [
        "0bbdd42b7efa66685b6d74701bcde3a596a3a59d"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:43 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:08 2008 +1000"
      },
      "message": "IPVS: Extend functions for getting/creating connections\n\nExtend functions for getting/creating connections and connection\ntemplates for IPv6 support and fix the callers.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "0bbdd42b7efa66685b6d74701bcde3a596a3a59d",
      "tree": "98b1cc6fc7b856768b7923f2747e64c2ccc7878b",
      "parents": [
        "3b047d9d0407e78a52f009835a0e26cb62edb8c7"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:42 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:07 2008 +1000"
      },
      "message": "IPVS: Extend protocol DNAT/SNAT and state handlers\n\nExtend protocol DNAT/SNAT and state handlers to work with IPv6. Also\nchange/introduce new checksumming helper functions for this.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "51ef348b14183789e4cb3444d05ce83b1b69d8fb",
      "tree": "e14e54ce262073b63a3343c764b8174b1041b577",
      "parents": [
        "b14198f6c1bea1687d20723db35d8effecd9d899"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:40 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:06 2008 +1000"
      },
      "message": "IPVS: Add \u0027af\u0027 args to protocol handler functions\n\nAdd \u0027af\u0027 arguments to conn_schedule(), conn_in_get(), conn_out_get() and\ncsum_check() function pointers in struct ip_vs_protocol. Extend the\nrespective functions for TCP, UDP, AH and ESP and adjust the callers.\n\nThe changes in the callers need to be somewhat extensive, since they now\nneed to pass a filled out struct ip_vs_iphdr * to the modified functions\ninstead of a struct iphdr *.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "b14198f6c1bea1687d20723db35d8effecd9d899",
      "tree": "f521aa6fdaa6a70aa2240c6ac59321722a04a1c3",
      "parents": [
        "3c2e0505d25cdc9425336f167fd4ff5f505aecff"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:39 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:06 2008 +1000"
      },
      "message": "IPVS: Add IPv6 support flag to schedulers\n\nAdd \u0027supports_ipv6\u0027 flag to struct ip_vs_scheduler to indicate whether a\nscheduler supports IPv6. Set the flag to 1 in schedulers that work with\nIPv6, 0 otherwise. This flag is checked in a later patch while trying to\nadd a service with a specific scheduler. Adjust debug in v6-supporting\nschedulers to work with both address families.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "3c2e0505d25cdc9425336f167fd4ff5f505aecff",
      "tree": "819711ebce94061695fa8c0edb91a9372553cc73",
      "parents": [
        "b18610de9ec2728159f723a9b864ca78a5774193"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:38 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:05 2008 +1000"
      },
      "message": "IPVS: Add v6 support to ip_vs_service_get()\n\nAdd support for selecting services based on their address family to\nip_vs_service_get() and adjust the callers.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "c860c6b1479992440e4962e9c95d258bfdce4fca",
      "tree": "25172dc157cf23f02f1639af5ae6bbd39521f627",
      "parents": [
        "c842a3ada9ba8f0cca38a70de3fe0effcfab254c"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:36 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:04 2008 +1000"
      },
      "message": "IPVS: Add internal versions of sockopt interface structs\n\nAdd extended internal versions of struct ip_vs_service_user and struct\nip_vs_dest_user (the originals can\u0027t be modified as they are part\nof the old sockopt interface). Adjust ip_vs_ctl.c to work with the new\ndata structures and add some minor AF-awareness.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "c842a3ada9ba8f0cca38a70de3fe0effcfab254c",
      "tree": "bbd46b4eb6918a6983794432d00eb14d8b1cc3ee",
      "parents": [
        "64aae3cb9fd22f33e491c4730d363eb2229ef910"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:35 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:04 2008 +1000"
      },
      "message": "IPVS: Add debug macros for v4 and v6 address output\n\nAdd some debugging macros that allow conditional output of either v4 or v6\naddresses, depending on an \u0027af\u0027 parameter. This is done by creating a\ntemporary string buffer in an outer debug macro and writing addresses\u0027\nstring representations into it from another macro which can only be used\nwhen inside the outer one.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "64aae3cb9fd22f33e491c4730d363eb2229ef910",
      "tree": "71a9ac96d585d4998e4df7c33aa515764d5ad5e1",
      "parents": [
        "e7ade46a53055c19a01c8becbe7807f9075d6fee"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:34 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:03 2008 +1000"
      },
      "message": "IPVS: Add general v4/v6 helper functions / data structures\n\nAdd a struct ip_vs_iphdr for easier handling of common v4 and v6 header\nfields in the same code path. ip_vs_fill_iphdr() helps to fill this struct\nfrom an IPv4 or IPv6 header. Add further helper functions for copying and\ncomparing addresses.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "e7ade46a53055c19a01c8becbe7807f9075d6fee",
      "tree": "8e75c543dbf015d0f1056941526e9671a1afc780",
      "parents": [
        "fab0de02fb0da83b90cec7fce4294747d86d5c6f"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Tue Sep 02 15:55:33 2008 +0200"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Sep 05 11:17:03 2008 +1000"
      },
      "message": "IPVS: Change IPVS data structures to support IPv6 addresses\n\nIntroduce new \u0027af\u0027 fields into IPVS data structures for specifying an\nentry\u0027s address family. Convert IP addresses to be of type union\nnf_inet_addr.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "6224877b2ca4be5de96270a8ae490fe2ba11b0e0",
      "tree": "95eef39293311959842e5476eace895e457eb780",
      "parents": [
        "b25b0c60b0c39a82bc651aeb6443bcb36cd17f76"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:30:19 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:45:39 2008 +0200"
      },
      "message": "tcp/dccp: Consolidate common code for RFC 3390 conversion\n\nThis patch consolidates the code common to TCP and CCID-2:\n * TCP uses RFC 3390 in a packet-oriented manner (tcp_input.c) and\n * CCID-2 uses RFC 3390 in packet-oriented manner (RFC 4341).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "2c10b32bf57db7ec6d4cca4c4aa3d86bacb01c8a",
      "tree": "dfb1fff234209b64828d9f932a543fd96b0561e2",
      "parents": [
        "b171e19ed08c8ba832e5325fadf1be493f56665d"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Sep 02 17:30:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 17:30:27 2008 -0700"
      },
      "message": "netlink: Remove compat API for nested attributes\n\nRemoves all _nested_compat() functions from the API. The prio qdisc\nno longer requires them and netem has its own format anyway. Their\nexistance is only confusing.\n\nResend: Also remove the wrapper macro.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b171e19ed08c8ba832e5325fadf1be493f56665d",
      "tree": "017208f9fcc4ef2cc3fe5cc3f262d2455eda9f61",
      "parents": [
        "143b11c03cd42f2284efe5128afc057d8fc86c78",
        "7c19a3d280297d43ef5ff7c6b205dc208a16d3d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 23:06:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 23:06:00 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tnet/mac80211/mlme.c\n"
    },
    {
      "commit": "143b11c03cd42f2284efe5128afc057d8fc86c78",
      "tree": "8186830c461b7933c26cdd00b69e4c737c5c88e7",
      "parents": [
        "af01d537463714e36e2c96d2da35902b76cd6827",
        "18c8adeb0244f823ba78a51e23f813fe68bc3c54"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 14:02:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 14:02:13 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "36aedc903ea11a4188de0a118d26c9f20afdd272",
      "tree": "04fbd95246c146c635ad8c36929da44237aae290",
      "parents": [
        "7262d59366f972b898ea134639112d34bcac35b3"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Mon Aug 25 11:58:58 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 29 16:24:09 2008 -0400"
      },
      "message": "mac80211/cfg80211: HT capabilities for NEW_STA\n\nAllow userspace (e.g., hostapd) to set HT capabilities for associated\nSTAs. This is based on a patch from Zhu Yi \u003cyi.zhu@intel.com\u003e (only\nthe NL80211_ATTR_HT_CAPABILITY for NEW_STA part is included here).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9f1ba9062e032fb7b395cd27fc564754fe4e9867",
      "tree": "6610106cd769aa3cc144b7a4f1547e07eeba5c88",
      "parents": [
        "7f93ea3e246db512c0c17b79847f57dd3a2891e1"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Thu Aug 07 20:07:01 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 29 16:23:55 2008 -0400"
      },
      "message": "mac80211/cfg80211: Add BSS configuration options for AP mode\n\nThis change adds a new cfg80211 command, NL80211_CMD_SET_BSS, to allow\nAP mode BSS parameters to be changed from user space (e.g., hostapd).\nThe drivers using mac80211 are expected to be modified with separate\nchanges to use the new BSS info parameter for short slot time in the\nbss_info_changed() handler.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af01d537463714e36e2c96d2da35902b76cd6827",
      "tree": "6972a43882b0f5809a02d1f3866726cc78c02fe8",
      "parents": [
        "a627266570605a98c5fda5b8234d9e92015e4d14"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Aug 28 02:53:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 28 02:53:51 2008 -0700"
      },
      "message": "net: more #ifdef CONFIG_COMPAT\n\nAll users of struct proto::compat_[gs]etsockopt and\nstruct inet_connection_sock_af_ops::compat_[gs]etsockopt are under\n#ifdef already, so use it in structure definition too.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe439dd09d3e4da6a44d35df7371b9c6a2661b99",
      "tree": "e37911e7a8535f662beec78cbb41a9afc1c070f7",
      "parents": [
        "f6f9b93f1624206c802ac9162c9302edaf59bfd9"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 27 02:27:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:27:10 2008 -0700"
      },
      "message": "pkt_sched: Fix sch_tree_lock()\n\nUse new qdisc_root_sleeping_lock() instead of qdisc_root_lock() as\nsch_tree_lock() because this lock could be used while dev is\ndeactivated, but we never need to use this with noop_qdisc as a root.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6f9b93f1624206c802ac9162c9302edaf59bfd9",
      "tree": "643bd211bf909118311138e588a78834fad7a40d",
      "parents": [
        "f7a54c13c7b072d9426bd5cec1cdb8306df5ef55"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Aug 27 02:25:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:25:17 2008 -0700"
      },
      "message": "pkt_sched: Fix gen_estimator locks\n\nWhile passing a qdisc root lock to gen_new_estimator() and\ngen_replace_estimator() dev could be deactivated or even before\ngrafting proper root qdisc as qdisc_sleeping (e.g. qdisc_create), so\nusing qdisc_root_lock() is not enough. This patch adds\nqdisc_root_sleeping_lock() for this, plus additional checks, where\nnecessary.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fd106785104fa19709fa136abb64c7a9d5db285",
      "tree": "6002ff3d19af60a5d56faad0276da52fb03174b1",
      "parents": [
        "a4356b2920fd4861dd6c75f558749fa5c38a00e8",
        "e3c2ced8d21410e8bc897480081e2ffc516c0f70"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Aug 27 15:11:37 2008 +1000"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Aug 27 15:11:37 2008 +1000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6 into lvs-next-2.6\n"
    },
    {
      "commit": "6b644e524bbd4089a28e0711de4f1cf2daa5db50",
      "tree": "3c3993bc52c10aa0aa570dd60c3d5b78c56a80ae",
      "parents": [
        "b73d70ad8665fd3f35c855075b9a94de3e2b69e2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:12 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:54 2008 -0400"
      },
      "message": "mac80211: remove ieee80211_get_hdrlen\n\nAll users have been moved over to the version taking a le16 frame control\nrather than a cpu-endian value.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4f28bbb9bf0b2c829ecf97ce2173f204fde4f10",
      "tree": "1ae74cd00a46086f7e5f31d140bf75b8793507ef",
      "parents": [
        "63266a653589e1a237527479f10212ea77ce7844"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Jul 30 17:19:55 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:50 2008 -0400"
      },
      "message": "mac80211: add rx status flag for short preamble\n\nand use it for the radiotap header\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "92ab85354993ac3a364c65cab45745af470ffc67",
      "tree": "b36501661ee9093cb8e66919bbebbca4374c36d6",
      "parents": [
        "5442060c08a49bd0b416f033e0ae43ccedef5278"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Thu Jul 24 21:02:04 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:50 2008 -0400"
      },
      "message": "mac80211: add ieee80211_queue_stopped)\n\nThis patch adds ieee80211_queue_stopped that let drivers to query\nqueue status\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b",
      "tree": "9d6e3c97a81869fde3958cdbcf431ee3739f9b2c",
      "parents": [
        "2540e0511ea17e25831be543cdf9381e6209950d"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Aug 22 03:24:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 22 03:31:39 2008 -0700"
      },
      "message": "pkt_sched: Fix qdisc list locking\n\nSince some qdiscs call qdisc_tree_decrease_qlen() (so qdisc_lookup())\nwithout rtnl_lock(), adding and deleting from a qdisc list needs\nadditional locking. This patch adds global spinlock qdisc_list_lock\nand wrapper functions for modifying the list. It is considered as a\ntemporary solution until hfsc_dequeue(), netem_dequeue() and\ntbf_dequeue() (or qdisc_tree_decrease_qlen()) are redone.\n\nWith feedback from Herbert Xu and David S. Miller.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2540e0511ea17e25831be543cdf9381e6209950d",
      "tree": "31c505b9957d82125cd7e779d83da0d389f9d336",
      "parents": [
        "5e739d1752aca4e8f3e794d431503bfca3162df4"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Aug 21 05:11:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 21 05:11:14 2008 -0700"
      },
      "message": "pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race\n\ndev_deactivate() can skip rescheduling of a qdisc by qdisc_watchdog()\nor other timer calling netif_schedule() after dev_queue_deactivate().\nWe prevent this checking aliveness before scheduling the timer. Since\nduring deactivation the root qdisc is available only as qdisc_sleeping\nadditional accessor qdisc_root_sleeping() is created.\n\nWith feedback from Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f087668c4e7c97289f0a67f9278ae6e0a765a80",
      "tree": "6b278344bf96d31a328bf76e445b189bff5f0ce9",
      "parents": [
        "51df1901394a714d1a17202da02ae4957260eab5",
        "e5befbd9525d92bb074b70192eb2c69aae65fc60"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Aug 19 17:36:22 2008 +1000"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Aug 19 17:36:22 2008 +1000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "8e0f36ec371ef4804da46d962d5272b3efb04481",
      "tree": "7207bb6ffa31c1fe6bf7cddb33561a4ebebd5cc4",
      "parents": [
        "d28934ad8a4e87203a95de9c376611de8bc2f013",
        "3eb75aac8907e7ea36f0d078b2cc7393986001cf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:15:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:15:44 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "546c80c91f8d847477ee8354aad26f116048169d",
      "tree": "8e07ae6911fd017be50496394eaf5933fd79c5f9",
      "parents": [
        "d47c3cebf5aae9d72b2cc18e5ac3b520fdbb0bca"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Aug 14 11:43:20 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 18 11:05:14 2008 -0400"
      },
      "message": "mac80211: remove kdoc references to IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE\n\nIEEE80211_HW_HOST_GEN_BEACON_TEMPLATE was made unnecessary in\nthe recent revamp on beacon configuration.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1e0d5a5747772182d1bb2525d8153da640fdfb58",
      "tree": "266a7c3e9a01728f7661d5b2976cc33d106b463c",
      "parents": [
        "3a76e3716b4e571f5d91a20b6afb412560599083"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:31:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 22:31:26 2008 -0700"
      },
      "message": "pkt_sched: No longer destroy qdiscs from RCU.\n\nWe can now kill them synchronously with all of the\nprevious dev_deactivate() cures.\n\nThis makes netdev destruction and shutdown saner as\nthe qdiscs hold references to the device.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9312ae89324438b0edc554eb36c3ec6bf927d04",
      "tree": "8a440aa75a9ac5aba1447082ec43ed48951aa121",
      "parents": [
        "08013fa353fdcfc0a03cae805393abfc56722387"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:51:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 17 21:51:03 2008 -0700"
      },
      "message": "pkt_sched: Add \u0027deactivated\u0027 state.\n\nThis new state lets dev_deactivate() mark a qdisc as having been\ndeactivated.\n\ndev_queue_xmit() and ing_filter() check for this bit and do not\ntry to process the qdisc if the bit is set.\n\ndev_deactivate() polls the qdisc after setting the bit, waiting\nfor both __QDISC_STATE_RUNNING and __QDISC_STATE_SCHED to clear.\n\nThis isn\u0027t perfect yet, but subsequent changesets will make it so.\nThis part is just one piece of the puzzle.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "51df1901394a714d1a17202da02ae4957260eab5"
}
