)]}'
{
  "log": [
    {
      "commit": "32bad7e30f113a8a5cebe4704bf6519ab4383e1b",
      "tree": "bc1a806c90bddeda6956ed84f5d76b1206853d04",
      "parents": [
        "5ac24979dcb3418a295e11823c1f2506df1d9926"
      ],
      "author": {
        "name": "alex.bluesman.smirnov@gmail.com",
        "email": "alex.bluesman.smirnov@gmail.com",
        "time": "Mon Jun 25 23:24:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 26 21:06:11 2012 -0700"
      },
      "message": "mac802154: add wpan device-class support\n\nEvery real 802.15.4 transceiver, which works with software MAC layer,\ncan be classified as a wpan device in this stack. So the wpan device\nimplementation provides missing link in datapath between the device\ndrivers and the Linux network queue.\n\nAccording to the IEEE 802.15.4 standard each packet can be one of the\nfollowing types:\n - beacon\n - MAC layer command\n - ACK\n - data\n\nThis patch adds support for the data packet-type only, but this is\nenough to perform data transmission and receiving over radio.\n\nSigned-off-by: Alexander Smirnov \u003calex.bluesman.smirnov@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91fa0cbc0c47930f771bf5425109956cc99c6b0b",
      "tree": "e589a855ed21121fff40ef89e8109d7b8cea760e",
      "parents": [
        "1c385f1fdf6f9c66d982802cd74349c040980b50"
      ],
      "author": {
        "name": "Sjur Brændeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Mon Jun 25 07:49:43 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 25 16:44:12 2012 -0700"
      },
      "message": "caif-hsi: Remove use of module parameters\n\nRemove use of module parameters on caif hsi device, as\nrtnl configuration parameters are already supported.\n\nAll caif hsi configuration data is put in cfhsi_config,\nand default values in hsi_default_config.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c385f1fdf6f9c66d982802cd74349c040980b50",
      "tree": "4ee155d06717be94581d404d04c7c6898d1fa360",
      "parents": [
        "c41254006377842013922fb1e407391f24c59522"
      ],
      "author": {
        "name": "Sjur Brændeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Mon Jun 25 07:49:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 25 16:44:12 2012 -0700"
      },
      "message": "caif-hsi: Replace platform device with ops structure.\n\nRemove use of struct platform_device, and replace it with\nstruct cfhsi_ops. Updated variable names in the same\nspirit:\ncfhsi_get_dev to cfhsi_get_ops,\ncfhsi-\u003edev to cfhsi-\u003eops and,\ncfhsi-\u003edev.drv to cfhsi-\u003eops-\u003ecb_ops.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c41254006377842013922fb1e407391f24c59522",
      "tree": "9ed40b855fe2ad5a9808cee6e622acd3935400b4",
      "parents": [
        "5051c94bb3998ff24bf07ae3b72dca30f85962f8"
      ],
      "author": {
        "name": "Sjur Brændeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Mon Jun 25 07:49:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 25 16:44:12 2012 -0700"
      },
      "message": "caif-hsi: Add rtnl support\n\nAdd RTNL support for managing the caif hsi interface.\nThe HSI HW interface is no longer registering as a device,\ninstead we use symbol_get to get hold of the HSI API.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "deaa58542b21d2b395db816952c202034319cbb4",
      "tree": "55d720f117845dda6f141490b0e4dde4b4c9127c",
      "parents": [
        "efc27f8ceebe5eb147fa31d6c995706d327ad855"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sun Jun 24 20:22:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 25 16:09:18 2012 -0700"
      },
      "message": "net: struct sock cleanups\n\nAdd missing kernel doc for sk_rx_dst\n\nMove sk_rx_dst to avoid two 32bit holes on 64bit arches\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efc27f8ceebe5eb147fa31d6c995706d327ad855",
      "tree": "b1be53115d0986162941b8964dd3b642715c7681",
      "parents": [
        "e486463e82e4dca9e8f4413649088b21c9ff87e5"
      ],
      "author": {
        "name": "Vijay Subramanian",
        "email": "subramanian.vijay@gmail.com",
        "time": "Sun Jun 24 13:03:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 25 16:08:36 2012 -0700"
      },
      "message": "net: Remove \u0027unlikely\u0027 qualifier in skb_steal_sock()\n\nWith early demux enabled by default for TCP flows, there is high chance that\nskb-\u003esk will be non-null. \u0027unlikely()\u0027 was removed from __inet_lookup_skb() but\nmaybe it can be removed from skb_steal_sock() as well.\n\nNote: skb_steal_sock() is also called by __inet6_lookup_skb() and\n__udp4_lib_lookup_skb() but they are protected by their own \u0027unlikely\u0027 calls.\n\nSigned-off-by: Vijay Subramanian \u003csubramanian.vijay@gmail.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e486463e82e4dca9e8f4413649088b21c9ff87e5",
      "tree": "3fb17b54454a101416c2b22e6b4ea5a027b3c02b",
      "parents": [
        "ed3b856b69a7f3748d6917e42d462c962aaa39b8",
        "fa809e2fd6e317226c046202a88520962672eac0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 25 15:50:32 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 25 15:50:32 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/usb/qmi_wwan.c\n\tnet/batman-adv/translation-table.c\n\tnet/ipv6/route.c\n\nqmi_wwan.c resolution provided by Bjørn Mork.\n\nbatman-adv conflict is dealing merely with the changes\nof global function names to have a proper subsystem\nprefix.\n\nipv6\u0027s route.c conflict is merely two side-by-side additions\nof network namespace methods.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7586eceb0abc0ea1c2b023e3e5d4dfd4ff40930a",
      "tree": "79fc35a3afa23896ab3e6e00b4d9d1178bfee1df",
      "parents": [
        "24ea818e305b92ad1fadcca015ae3b0c1222c497"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Jun 20 05:02:19 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 22 21:47:33 2012 -0700"
      },
      "message": "ipv4: tcp: dont cache output dst for syncookies\n\nDon\u0027t cache output dst for syncookies, as this adds pressure on IP route\ncache and rcu subsystem for no gain.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003cbrouer@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6648bd7e0e62c0c8c03b15e00c9e7015e232feff",
      "tree": "e5e1fdadea6ea51b4341017c40906e71c1913774",
      "parents": [
        "8e27628ecf883b9e5825103e40e6f86bf8225f1a"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Jun 21 13:58:31 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 22 17:11:13 2012 -0700"
      },
      "message": "ipv4: Add sysctl knob to control early socket demux\n\nThis change is meant to add a control for disabling early socket demux.\nThe main motivation behind this patch is to provide an option to disable\nthe feature as it adds an additional cost to routing that reduces overall\nthroughput by up to 5%.  For example one of my systems went from 12.1Mpps\nto 11.6 after the early socket demux was added.  It looks like the reason\nfor the regression is that we are now having to perform two lookups, first\nthe one for an established socket, and then the one for the routing table.\n\nBy adding this patch and toggling the value for ip_early_demux to 0 I am\nable to get back to the 12.1Mpps I was previously seeing.\n\n[ Move local variables in ip_rcv_finish() down into the basic\n  block in which they are actually used.  -DaveM ]\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41063e9dd11956f2d285e12e4342e1d232ba0ea2",
      "tree": "d4df2f51044b4724a4767f0498c3df2f606b5ad7",
      "parents": [
        "f9242b6b28d61295f2bf7e8adfb1060b382e5381"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 19 21:22:05 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 19 21:22:05 2012 -0700"
      },
      "message": "ipv4: Early TCP socket demux.\n\nInput packet processing for local sockets involves two major demuxes.\nOne for the route and one for the socket.\n\nBut we can optimize this down to one demux for certain kinds of local\nsockets.\n\nCurrently we only do this for established TCP sockets, but it could\nat least in theory be expanded to other kinds of connections.\n\nIf a TCP socket is established then it\u0027s identity is fully specified.\n\nThis means that whatever input route was used during the three-way\nhandshake must work equally well for the rest of the connection since\nthe keys will not change.\n\nOnce we move to established state, we cache the receive packet\u0027s input\nroute to use later.\n\nLike the existing cached route in sk-\u003esk_dst_cache used for output\npackets, we have to check for route invalidations using dst-\u003eobsolete\nand dst-\u003eops-\u003echeck().\n\nEarly demux occurs outside of a socket locked section, so when a route\ninvalidation occurs we defer the fixup of sk-\u003esk_rx_dst until we are\nactually inside of established state packet processing and thus have\nthe socket locked.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9242b6b28d61295f2bf7e8adfb1060b382e5381",
      "tree": "b395670bd6ae832e9f6f87f47a1840baf3a06d0d",
      "parents": [
        "677a3d60fb3153f786a0d28fcf0287670e7bd3c2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 19 18:56:21 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 19 18:56:21 2012 -0700"
      },
      "message": "inet: Sanitize inet{,6} protocol demux.\n\nDon\u0027t pretend that inet_protos[] and inet6_protos[] are hashes, thay\nare just a straight arrays.  Remove all unnecessary hash masking.\n\nDocument MAX_INET_PROTOS.\n\nUse RAW_HTABLE_SIZE when appropriate.\n\nReported-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a77f4b4acf5b77f038bc11d3ca9b3af6f0124015",
      "tree": "167fc01ea7be7474b7e59173f638a9b25845fbf2",
      "parents": [
        "364f5b3a151942ad24521155355cc7d1d252fd55",
        "b3c911eeb47d08aada986f769b6a060794dfe9d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 19 14:37:15 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 19 14:37:15 2012 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next\n\nJohn Linville says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis is a sizeable batch of updates intended for 3.6...\n\nThe bulk of the changes here are Bluetooth.  Gustavo says:\n\n\tHere goes the first Bluetooth pull request for 3.6, we have\n\tqueued quite a lot of work. Andrei Emeltchenko added the AMP\n\tManager code, a lot of work is needed, but the first bit are\n\talready there. This code is disabled by default.  Mat Martineau\n\tchanged the whole L2CAP ERTM state machine code, replacing\n\tthe old one with a new implementation. Besides that we had\n\tlot of coding style fixes (to follow net rules), more l2cap\n\tcore separation from socket and many clean ups and fixed all\n\tover the tree.\n\nAlong with the above, there is a healthy dose of ath9k, iwlwifi,\nand other driver updates.  There is also another pull from the\nwireless tree to resolve some merge issues.  I also fixed-up some\nmerge discrepencies between net-next and wireless-next.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3c911eeb47d08aada986f769b6a060794dfe9d0",
      "tree": "212209c15a26006a62da9252efe18f27f16a0a4a",
      "parents": [
        "43b03f1f6d6832d744918947d185a7aee89d1e0f",
        "daf67ce8cffd148308ae15c25fb06c1fc20c88f1"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 19 14:41:22 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 19 14:41:22 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/dvm/testmode.c\n\tdrivers/net/wireless/iwlwifi/pcie/trans.c\n"
    },
    {
      "commit": "674147e21195a496164e1c7ff70d0f0b45235f25",
      "tree": "8327a95f7f84c52150c7be1c26c29a91d0eacbfa",
      "parents": [
        "6bdc5f49e365a5403b9fdef01ceb37241ab00f9b"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jun 19 05:25:46 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 18 21:09:17 2012 -0700"
      },
      "message": "netfilter: fix missing symbols if CONFIG_NETFILTER_NETLINK_QUEUE_CT unset\n\nERROR: \"nfqnl_ct_parse\" [net/netfilter/nfnetlink_queue.ko] undefined!\nERROR: \"nfqnl_ct_seq_adjust\" [net/netfilter/nfnetlink_queue.ko] undefined!\nERROR: \"nfqnl_ct_put\" [net/netfilter/nfnetlink_queue.ko] undefined!\nERROR: \"nfqnl_ct_get\" [net/netfilter/nfnetlink_queue.ko] undefined!\n\nWe have to use CONFIG_NETFILTER_NETLINK_QUEUE_CT in\ninclude/net/netfilter/nfnetlink_queue.h, not CONFIG_NF_CONNTRACK.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c62234547255ce4c385a218915965bc2f14fe45",
      "tree": "fc3070b9f96f6fd00cef20e2c99bfdbe5aa9a0fc",
      "parents": [
        "6e9c2db3aa8c8219568db31e29dce7db46aa0dad"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jun 19 02:10:57 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jun 19 04:44:57 2012 +0200"
      },
      "message": "netfilter: nfnetlink_queue: fix compilation with NF_CONNTRACK disabled\n\nIn \"9cb0176 netfilter: add glue code to integrate nfnetlink_queue and ctnetlink\"\nthe compilation with NF_CONNTRACK disabled is broken. This patch fixes this\nissue.\n\nI have moved the conntrack part into nfnetlink_queue_ct.c to avoid\npeppering the entire nfnetlink_queue.c code with ifdefs.\n\nI also needed to rename nfnetlink_queue.c to nfnetlink_queue_pkt.c\nto update the net/netfilter/Makefile to support conditional compilation\nof the conntrack integration.\n\nThis patch also adds CONFIG_NETFILTER_QUEUE_CT in case you want to explicitly\ndisable the integration between nf_conntrack and nfnetlink_queue.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "8cfe523a1294da65ef95b6ed7b0f7db5629f8d88",
      "tree": "d6118f2e2a55f5906a0c9b42bf6d33c5551cd583",
      "parents": [
        "31fdc5553b42abd7e29bb7b89f6ba07514eb4763",
        "bcb7ad7bcbef030e6ba71ede1f9866368aca7c99"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 18 15:13:27 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 18 15:13:27 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n"
    },
    {
      "commit": "31fdc5553b42abd7e29bb7b89f6ba07514eb4763",
      "tree": "a36a8af9b327d9b5995953e66e8901ab7928a29a",
      "parents": [
        "df2bcc4af2616b18efeaa3d044fe15ce891c5d21"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Jun 13 22:29:03 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 17 16:29:38 2012 -0700"
      },
      "message": "net: remove my future former mail address\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi@remlab.net\u003e\nCc: Sakari Ailus \u003csakari.ailus@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82f437b95052f99cafb8b4f39b08ad1d0b05c30d",
      "tree": "45de8eb885bb2e77b1c93bc816756ab89d93caa3",
      "parents": [
        "7f95e1880e70bb351b992b01ef70ff083fc00d30",
        "12f7a505331e6b2754684b509f2ac8f0011ce644"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 16 15:23:35 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 16 15:23:35 2012 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/nf-next\n\nPablo says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis is the second batch of Netfilter updates for net-next. It contains the\nkernel changes for the new user-space connection tracking helper\ninfrastructure.\n\nMore details on this infrastructure are provides here:\nhttp://lwn.net/Articles/500196/\n\nStill, I plan to provide some official documentation through the\nconntrack-tools user manual on how to setup user-space utilities for this.\nSo far, it provides two helper in user-space, one for NFSv3 and another for\nOracle/SQLnet/TNS. Yet in my TODO list.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f95e1880e70bb351b992b01ef70ff083fc00d30",
      "tree": "685089b20242917d648c41f887d82d653fd00535",
      "parents": [
        "aee289baaa02dd2ffa1189c1600d5572a10e0714"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Sat Jun 16 15:14:49 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 16 15:20:35 2012 -0700"
      },
      "message": "include/net/dst.h: neaten asterisk placement\n\nFix code style - place the asterisk where it belongs.\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12f7a505331e6b2754684b509f2ac8f0011ce644",
      "tree": "da127aa83f0fdf0fc6be32c6386a304d5087c858",
      "parents": [
        "ae243bee397102c51fbf9db440eca3b077e0e702"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sun May 13 21:44:54 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 16 15:40:02 2012 +0200"
      },
      "message": "netfilter: add user-space connection tracking helper infrastructure\n\nThere are good reasons to supports helpers in user-space instead:\n\n* Rapid connection tracking helper development, as developing code\n  in user-space is usually faster.\n\n* Reliability: A buggy helper does not crash the kernel. Moreover,\n  we can monitor the helper process and restart it in case of problems.\n\n* Security: Avoid complex string matching and mangling in kernel-space\n  running in privileged mode. Going further, we can even think about\n  running user-space helpers as a non-root process.\n\n* Extensibility: It allows the development of very specific helpers (most\n  likely non-standard proprietary protocols) that are very likely not to be\n  accepted for mainline inclusion in the form of kernel-space connection\n  tracking helpers.\n\nThis patch adds the infrastructure to allow the implementation of\nuser-space conntrack helpers by means of the new nfnetlink subsystem\n`nfnetlink_cthelper\u0027 and the existing queueing infrastructure\n(nfnetlink_queue).\n\nI had to add the new hook NF_IP6_PRI_CONNTRACK_HELPER to register\nipv[4|6]_helper which results from splitting ipv[4|6]_confirm into\ntwo pieces. This change is required not to break NAT sequence\nadjustment and conntrack confirmation for traffic that is enqueued\nto our user-space conntrack helpers.\n\nBasic operation, in a few steps:\n\n1) Register user-space helper by means of `nfct\u0027:\n\n nfct helper add ftp inet tcp\n\n [ It must be a valid existing helper supported by conntrack-tools ]\n\n2) Add rules to enable the FTP user-space helper which is\n   used to track traffic going to TCP port 21.\n\nFor locally generated packets:\n\n iptables -I OUTPUT -t raw -p tcp --dport 21 -j CT --helper ftp\n\nFor non-locally generated packets:\n\n iptables -I PREROUTING -t raw -p tcp --dport 21 -j CT --helper ftp\n\n3) Run the test conntrackd in helper mode (see example files under\n   doc/helper/conntrackd.conf\n\n conntrackd\n\n4) Generate FTP traffic going, if everything is OK, then conntrackd\n   should create expectations (you can check that with `conntrack\u0027:\n\n conntrack -E expect\n\n    [NEW] 301 proto\u003d6 src\u003d192.168.1.136 dst\u003d130.89.148.12 sport\u003d0 dport\u003d54037 mask-src\u003d255.255.255.255 mask-dst\u003d255.255.255.255 sport\u003d0 dport\u003d65535 master-src\u003d192.168.1.136 master-dst\u003d130.89.148.12 sport\u003d57127 dport\u003d21 class\u003d0 helper\u003dftp\n[DESTROY] 301 proto\u003d6 src\u003d192.168.1.136 dst\u003d130.89.148.12 sport\u003d0 dport\u003d54037 mask-src\u003d255.255.255.255 mask-dst\u003d255.255.255.255 sport\u003d0 dport\u003d65535 master-src\u003d192.168.1.136 master-dst\u003d130.89.148.12 sport\u003d57127 dport\u003d21 class\u003d0 helper\u003dftp\n\nThis confirms that our test helper is receiving packets including the\nconntrack information, and adding expectations in kernel-space.\n\nThe user-space helper can also store its private tracking information\nin the conntrack structure in the kernel via the CTA_HELP_INFO. The\nkernel will consider this a binary blob whose layout is unknown. This\ninformation will be included in the information that is transfered\nto user-space via glue code that integrates nfnetlink_queue and\nctnetlink.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "ae243bee397102c51fbf9db440eca3b077e0e702",
      "tree": "e2320f565fe03c500ed3356b82cc6fbed0a6fe81",
      "parents": [
        "8c88f87cb27ad09086940bdd3e6955e5325ec89a"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:19:42 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 16 15:09:15 2012 +0200"
      },
      "message": "netfilter: ctnetlink: add CTA_HELP_INFO attribute\n\nThis attribute can be used to modify and to dump the internal\nprotocol information.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "8c88f87cb27ad09086940bdd3e6955e5325ec89a",
      "tree": "1acfa54ba78602eb4eb053110ffc0a54025318c7",
      "parents": [
        "9cb0176654a7dc33a32af8a0bc9e0b2f9f9ebb0f"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 13:31:25 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 16 15:09:08 2012 +0200"
      },
      "message": "netfilter: nfnetlink_queue: add NAT TCP sequence adjustment if packet mangled\n\nUser-space programs that receive traffic via NFQUEUE may mangle packets.\nIf NAT is enabled, this usually puzzles sequence tracking, leading to\ntraffic disruptions.\n\nWith this patch, nfnl_queue will make the corresponding NAT TCP sequence\nadjustment if:\n\n1) The packet has been mangled,\n2) the NFQA_CFG_F_CONNTRACK flag has been set, and\n3) NAT is detected.\n\nThere are some records on the Internet complaning about this issue:\nhttp://stackoverflow.com/questions/260757/packet-mangling-utilities-besides-iptables\n\nBy now, we only support TCP since we have no helpers for DCCP or SCTP.\nBetter to add this if we ever have some helper over those layer 4 protocols.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "1afc56794e03229fa53cfa3c5012704d226e1dec",
      "tree": "e4182f8c9539d16d96136ca681ab1cf4a8c430ec",
      "parents": [
        "3cf4c7e381d9a98a44fd86207b950bd8fef55d20"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 12:11:50 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 16 15:08:55 2012 +0200"
      },
      "message": "netfilter: nf_ct_helper: implement variable length helper private data\n\nThis patch uses the new variable length conntrack extensions.\n\nInstead of using union nf_conntrack_help that contain all the\nhelper private data information, we allocate variable length\narea to store the private helper data.\n\nThis patch includes the modification of all existing helpers.\nIt also includes a couple of include header to avoid compilation\nwarnings.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "3cf4c7e381d9a98a44fd86207b950bd8fef55d20",
      "tree": "bc7edfd5d84a7bf32aabbdd8352da0a9bed931a3",
      "parents": [
        "3a8fc53a45c444400259e2e285ba414a87061e3d"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Feb 01 16:18:31 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 16 15:08:49 2012 +0200"
      },
      "message": "netfilter: nf_ct_ext: support variable length extensions\n\nWe can now define conntrack extensions of variable size. This\npatch is useful to get rid of these unions:\n\nunion nf_conntrack_help\nunion nf_conntrack_proto\nunion nf_conntrack_nat_help\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "3a8fc53a45c444400259e2e285ba414a87061e3d",
      "tree": "da62c51c2ec4fbc145a57b1207287c6b82d81e60",
      "parents": [
        "d0daebc3d622f95db181601cb0c4a0781f74f758"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sun Jan 15 16:34:08 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 16 15:08:39 2012 +0200"
      },
      "message": "netfilter: nf_ct_helper: allocate 16 bytes for the helper and policy names\n\nThis patch modifies the struct nf_conntrack_helper to allocate\nthe room for the helper name. The maximum length is 16 bytes\n(this was already introduced in 2.6.24).\n\nFor the maximum length for expectation policy names, I have\nalso selected 16 bytes.\n\nThis patch is required by the follow-up patch to support\nuser-space connection tracking helpers.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "aee289baaa02dd2ffa1189c1600d5572a10e0714",
      "tree": "f9fa3cb33ead21400dbda2b19287f6f06754fcb6",
      "parents": [
        "42ae66c80d94645e8f74080c7f344596d6f19cd5",
        "e8803b6c387129059e04d9e14d49efda250a7361"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 16 01:23:04 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 16 01:23:04 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/ipv6/route.c\n\nPull in \u0027net\u0027 again to get the revert of Thomas\u0027s change\nwhich introduced regressions.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8803b6c387129059e04d9e14d49efda250a7361",
      "tree": "147fe0ff12046cabcb3a4c39d07a751b79707ddb",
      "parents": [
        "2a0c451ade8e1783c5d453948289e4a978d417c9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 16 01:12:19 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 16 01:12:19 2012 -0700"
      },
      "message": "Revert \"ipv6: Prevent access to uninitialized fib_table_hash via /proc/net/ipv6_route\"\n\nThis reverts commit 2a0c451ade8e1783c5d453948289e4a978d417c9.\n\nIt causes crashes, because now ip6_null_entry is used before\nit is initialized.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e52b33bd50faa866bc3e6e97e68438bc5e52251",
      "tree": "46e68adf23f4f170a0eb5045c33a76234de6cf92",
      "parents": [
        "91c8028c95a468da9c0aafd2d91cf24e27784206",
        "2a0c451ade8e1783c5d453948289e4a978d417c9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 15 15:51:55 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 15 15:51:55 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/ipv6/route.c\n\nThis deals with a merge conflict between the net-next addition of the\ninetpeer network namespace ops, and Thomas Graf\u0027s bug fix in\n2a0c451ade8e1783c5d453948289e4a978d417c9 which makes sure we don\u0027t\nregister /proc/net/ipv6_route before it is actually safe to do so.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a0c451ade8e1783c5d453948289e4a978d417c9",
      "tree": "136dbbaf024f45200848ec371368668872545a2e",
      "parents": [
        "0f6efff92524c65fc3ef41c8b936c526580f1db0"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 14 23:00:17 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 15 15:30:15 2012 -0700"
      },
      "message": "ipv6: Prevent access to uninitialized fib_table_hash via /proc/net/ipv6_route\n\n/proc/net/ipv6_route reflects the contents of fib_table_hash. The proc\nhandler is installed in ip6_route_net_init() whereas fib_table_hash is\nallocated in fib6_net_init() _after_ the proc handler has been installed.\n\nThis opens up a short time frame to access fib_table_hash with its pants\ndown.\n\nfib6_init() as a whole can\u0027t be moved to an earlier position as it also\nregisters the rtnetlink message handlers which should be registered at\nthe end. Therefore split it into fib6_init() which is run early and\nfib6_init_late() to register the rtnetlink message handlers.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nReviewed-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81aded24675ebda5de8a68843250ad15584ac38a",
      "tree": "84f7bd5cf86cf010394de92efd5e4c5b636b3d20",
      "parents": [
        "36393395536064e483b73d173f6afc103eadfbc4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 15 14:54:11 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 15 14:54:11 2012 -0700"
      },
      "message": "ipv6: Handle PMTU in ICMP error handlers.\n\nOne tricky issue on the ipv6 side vs. ipv4 is that the ICMP callouts\nto handle the error pass the 32-bit info cookie in network byte order\nwhereas ipv4 passes it around in host byte order.\n\nLike the ipv4 side, we have two helper functions.  One for when we\nhave a socket context and one for when we do not.\n\nip6ip6 tunnels are not handled here, because they handle PMTU events\nby essentially relaying another ICMP packet-too-big message back to\nthe original sender.\n\nThis patch allows us to get rid of rt6_do_pmtu_disc().  It handles all\nkinds of situations that simply cannot happen when we do the PMTU\nupdate directly using a fully resolved route.\n\nIn fact, the \"plen \u003d\u003d 128\" check in ip6_rt_update_pmtu() can very\nlikely be removed or changed into a BUG_ON() check.  We should never\nhave a prefixed ipv6 route when we get there.\n\nAnother piece of strange history here is that TCP and DCCP, unlike in\nipv4, never invoke the update_pmtu() method from their ICMP error\nhandlers.  This is incredibly astonishing since this is the context\nwhere we have the most accurate context in which to make a PMTU\nupdate, namely we have a fully connected socket and associated cached\nsocket route.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36393395536064e483b73d173f6afc103eadfbc4",
      "tree": "b45113cce1bdfc4be92a856700690a253f1bb088",
      "parents": [
        "b3908e22ad8bb6074934496ef171fd83605d7d3e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 14 22:21:46 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 14 22:22:07 2012 -0700"
      },
      "message": "ipv4: Handle PMTU in all ICMP error handlers.\n\nWith ip_rt_frag_needed() removed, we have to explicitly update PMTU\ninformation in every ICMP error handler.\n\nCreate two helper functions to facilitate this.\n\n1) ipv4_sk_update_pmtu()\n\n   This updates the PMTU when we have a socket context to\n   work with.\n\n2) ipv4_update_pmtu()\n\n   Raw version, used when no socket context is available.  For this\n   interface, we essentially just pass in explicit arguments for\n   the flow identity information we would have extracted from the\n   socket.\n\n   And you\u0027ll notice that ipv4_sk_update_pmtu() is simply implemented\n   in terms of ipv4_update_pmtu()\n\nNote that __ip_route_output_key() is used, rather than something like\nip_route_output_flow() or ip_route_output_key().  This is because we\nabsolutely do not want to end up with a route that does IPSEC\nencapsulation and the like.  Instead, we only want the route that\nwould get us to the node described by the outermost IP header.\n\nReported-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "211c17aaee644bb808fbdeef547ac99db92c01ed",
      "tree": "2acf7fe32b30f537b06fed7e4c536ef0d11f2902",
      "parents": [
        "ec8eb9ae5819da011ac574aa290207a2a47cdbae",
        "bcb7ad7bcbef030e6ba71ede1f9866368aca7c99"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 13 15:35:35 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 13 15:35:35 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/main.c\n\tnet/bluetooth/hci_event.c\n"
    },
    {
      "commit": "ec8eb9ae5819da011ac574aa290207a2a47cdbae",
      "tree": "ff7045c38e56624fd886837620a54daf54b6ba2a",
      "parents": [
        "9330969b8fd1304fdcb7c1825f1528eea38d321c",
        "1d0c4da8f717937aeda47a72bc769d80f8776795"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 13 15:12:07 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 13 15:12:07 2012 -0400"
      },
      "message": "Merge branch \u0027for-upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next\n"
    },
    {
      "commit": "1f7e0102820f11a0dcd3a2f90140abf14c894ba8",
      "tree": "2ae08acbb26ddb2fa662db63c1dd111c0b5b646f",
      "parents": [
        "6ddcd46463aa66855f1f8e74de454740a5f4aef4",
        "79543d8eecc0957ac6fe3ec1e2486ad31d4b67a3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 13 14:05:40 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 13 14:05:40 2012 -0400"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211\n"
    },
    {
      "commit": "43b03f1f6d6832d744918947d185a7aee89d1e0f",
      "tree": "53a8c47d67dfcd23450d4068d08ccf2b7714c5e8",
      "parents": [
        "2da45db2bdd432a9dca825099c791f5c851f92b9",
        "5ee31c6898ea5537fcea160999d60dc63bc0c305"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 12 21:59:18 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 12 21:59:18 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/wireless/iwlwifi/pcie/trans.c\n\nThe iwlwifi conflict was resolved by keeping the code added\nin \u0027net\u0027 that turns off the buggy chip feature.\n\nThe MAINTAINERS conflict was merely overlapping changes, one\nchange updated all the wireless web site URLs and the other\nchanged some GIT trees to be Johannes\u0027s instead of John\u0027s.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ee31c6898ea5537fcea160999d60dc63bc0c305",
      "tree": "84d7ce7e966ae47282ab902f19f73b8233ebc1f2",
      "parents": [
        "8a93664df90db983cfede122f9b4ddb3a8284e52"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jun 12 06:03:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 12 15:29:21 2012 -0700"
      },
      "message": "bonding: Fix corrupted queue_mapping\n\nIn the transmit path of the bonding driver, skb-\u003ecb is used to\nstash the skb-\u003equeue_mapping so that the bonding device can set its\nown queue mapping.  This value becomes corrupted since the skb-\u003ecb is\nalso used in __dev_xmit_skb.\n\nWhen transmitting through bonding driver, bond_select_queue is\ncalled from dev_queue_xmit.  In bond_select_queue the original\nskb-\u003equeue_mapping is copied into skb-\u003ecb (via bond_queue_mapping)\nand skb-\u003equeue_mapping is overwritten with the bond driver queue.\n\nSubsequently in dev_queue_xmit, __dev_xmit_skb is called which writes\nthe packet length into skb-\u003ecb, thereby overwriting the stashed\nqueue mappping.  In bond_dev_queue_xmit (called from hard_start_xmit),\nthe queue mapping for the skb is set to the stashed value which is now\nthe skb length and hence is an invalid queue for the slave device.\n\nIf we want to save skb-\u003equeue_mapping into skb-\u003ecb[], best place is to\nadd a field in struct qdisc_skb_cb, to make sure it wont conflict with\nother layers (eg : Qdiscc, Infiniband...)\n\nThis patchs also makes sure (struct qdisc_skb_cb)-\u003edata is aligned on 8\nbytes :\n\nnetem qdisc for example assumes it can store an u64 in it, without\nmisalignment penalty.\n\nNote : we only have 20 bytes left in (struct qdisc_skb_cb)-\u003edata[].\nThe largest user is CHOKe and it fills it.\n\nBased on a previous patch from Tom Herbert.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Tom Herbert \u003ctherbert@google.com\u003e\nCc: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0440507bbc44149e63bbfb9df730ba3820371904",
      "tree": "7275e41aa1aa7e4d19d0503f1c15f07991c1a120",
      "parents": [
        "8d242488ce4627dd7e6333caab56df11ea25e239",
        "7f0d9f430dc99303558adc30a75eef10c43f7bec"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 12 14:25:04 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 12 14:25:04 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n"
    },
    {
      "commit": "55afabaa0df0dd139c8796a71beb43d1216fbe43",
      "tree": "5f3ad3d76d9101c11d15197b40fb4f86402db3a9",
      "parents": [
        "352e04b9111d608bd89ba7bd8070846d4f97d104"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 15:52:29 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 15:52:29 2012 -0700"
      },
      "message": "inet: Fix BUG triggered by __rt{,6}_get_peer().\n\nIf no peer actually gets attached (either because create is zero or\nthe peer allocation fails) we\u0027ll trigger a BUG because we\nunconditionally do an rt{,6}_peer_ptr() afterwards.\n\nFix this by guarding it with the proper check.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67da25521066b38911701efa133aaad2238b5530",
      "tree": "776ad4942ce8294f0ba0013baf9527a1d39b424f",
      "parents": [
        "7b34ca2ac7063f4ebf07f85fd75253ed84d5c648",
        "2597a8344ce051d0afe331706bcb4660bbdb9861"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 12:56:14 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 12:56:14 2012 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net-next\n"
    },
    {
      "commit": "2e48686835370dfe78697839ca293d250793809d",
      "tree": "50a926aea227a9c8d6957515748a307edad63481",
      "parents": [
        "934b9d1ed71cca5a220ec13e3f76d6aebf5183da",
        "51ad304cc8db5589d1e7b0a9df3858381753d788"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 11 14:46:04 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 11 14:46:04 2012 -0400"
      },
      "message": "Merge tag \u0027nfc-next-3.6-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-3.0\n"
    },
    {
      "commit": "7b34ca2ac7063f4ebf07f85fd75253ed84d5c648",
      "tree": "639e89875cd047bb461ab61348050586ceca56b2",
      "parents": [
        "8b96d22d7a6ec999ae53ae86d829137503ceda65"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 04:13:57 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 04:13:57 2012 -0700"
      },
      "message": "inet: Avoid potential NULL peer dereference.\n\nWe handle NULL in rt{,6}_set_peer but then our caller will try to pass\nthat NULL pointer into inet_putpeer() which isn\u0027t ready for it.\n\nFix this by moving the NULL check one level up, and then remove the\nnow unnecessary NULL check from inetpeer_ptr_set_peer().\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e77327783c753689a1a766ab9d301b81c2529f1",
      "tree": "5b178d092f57519d809c6ba69b14c36c1c5f8ff0",
      "parents": [
        "b48c80ece973e9eddb042f6685b482b261ff0d47"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 00:01:52 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 02:09:16 2012 -0700"
      },
      "message": "inet: Add inetpeer tree roots to the FIB tables.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b48c80ece973e9eddb042f6685b482b261ff0d47",
      "tree": "30262edc9721ac70e423bcc8d51f558d2962b539",
      "parents": [
        "46517008e1168dc926cf2c47d529efc07eca85c0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 10 00:24:21 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 02:09:10 2012 -0700"
      },
      "message": "inet: Add family scope inetpeer flushes.\n\nThis implementation can deal with having many inetpeer roots, which is\na necessary prerequisite for per-FIB table rooted peer tables.\n\nEach family (AF_INET, AF_INET6) has a sequence number which we bump\nwhen we get a family invalidation request.\n\nEach peer lookup cheaply checks whether the flush sequence of the\nroot we are using is out of date, and if so flushes it and updates\nthe sequence number.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46517008e1168dc926cf2c47d529efc07eca85c0",
      "tree": "98e9cf1917c9b8f1c6c2d8121746fd4f8e414f45",
      "parents": [
        "97bab73f987e2781129cd6f4b6379bf44d808cc6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 10 00:04:12 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 02:08:59 2012 -0700"
      },
      "message": "ipv4: Kill ip_rt_frag_needed().\n\nThere is zero point to this function.\n\nIt\u0027s only real substance is to perform an extremely outdated BSD4.2\nICMP check, which we can safely remove.  If you really have a MTU\nlimited link being routed by a BSD4.2 derived system, here\u0027s a nickel\ngo buy yourself a real router.\n\nThe other actions of ip_rt_frag_needed(), checking and conditionally\nupdating the peer, are done by the per-protocol handlers of the ICMP\nevent.\n\nTCP, UDP, et al. have a handler which will receive this event and\ntransmit it back into the associated route via dst_ops-\u003eupdate_pmtu().\n\nThis simplification is important, because it eliminates the one place\nwhere we do not have a proper route context in which to make an\ninetpeer lookup.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97bab73f987e2781129cd6f4b6379bf44d808cc6",
      "tree": "40b10c4c021c8b5524c19f79fcfe4b0799b59952",
      "parents": [
        "c0efc887dcadbdbfe171f028acfab9c7c00e9dde"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 22:36:36 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 02:08:47 2012 -0700"
      },
      "message": "inet: Hide route peer accesses behind helpers.\n\nWe encode the pointer(s) into an unsigned long with one state bit.\n\nThe state bit is used so we can store the inetpeer tree root to use\nwhen resolving the peer later.\n\nLater the peer roots will be per-FIB table, and this change works to\nfacilitate that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5d21c4b2a7765ab0600c8426374b50eb9f4a36f",
      "tree": "378b2516d9cb56352dde1f0d9d2884350b24f0f5",
      "parents": [
        "83a27052c3376793bc879e00e6e6805d6fb7aab9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Jun 10 20:05:24 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 00:04:47 2012 -0700"
      },
      "message": "net: Reorder initialization in ip_route_output to fix gcc warning\n\nIf I build with W\u003d1, for every file that includes \u003cnet/route.h\u003e, I get the warning\n\n    include/net/route.h: In function \u0027ip_route_output\u0027:\n    include/net/route.h:135:3: warning: initialized field overwritten [-Woverride-init]\n    include/net/route.h:135:3: warning: (near initialization for \u0027fl4\u0027) [-Woverride-init]\n\n(This is with \"gcc (Debian 4.6.3-1) 4.6.3\")\n\nA fix seems pretty trivial: move the initialization of .flowi4_tos\nearlier.  As far as I can tell, this has no effect on code generation.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0efc887dcadbdbfe171f028acfab9c7c00e9dde",
      "tree": "d2f628d6c222c6328a6f310378d7227c32ebf183",
      "parents": [
        "8b51b064a6da90c68af5385a874968829a2a0ed7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 19:12:36 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 19:12:36 2012 -0700"
      },
      "message": "inet: Pass inetpeer root into inet_getpeer*() interfaces.\n\nOtherwise we reference potentially non-existing members when\nipv6 is disabled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56a6b248eb345c1948ee60bf426de1ff7dd81509",
      "tree": "84748cfc069b11d6800b50e6ee71fa742a364c7b",
      "parents": [
        "c3426b47190d7c6785230c91a706fd42208b4120"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 16:32:41 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 16:32:41 2012 -0700"
      },
      "message": "inet: Consolidate inetpeer_invalidate_tree() interfaces.\n\nWe only need one interface for this operation, since we always know\nwhich inetpeer root we want to flush.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3426b47190d7c6785230c91a706fd42208b4120",
      "tree": "5444acfb2ef8a59c46e580cda8101c32fd3c2973",
      "parents": [
        "2397849baa7c44c242e5d5142d5d16d1e7ed53d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 16:27:05 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 16:27:05 2012 -0700"
      },
      "message": "inet: Initialize per-netns inetpeer roots in net/ipv{4,6}/route.c\n\nInstead of net/ipv4/inetpeer.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2397849baa7c44c242e5d5142d5d16d1e7ed53d0",
      "tree": "0ee2012361d1b0f8a92b68da7d0d92209613ecaf",
      "parents": [
        "4670fd819e7f47392c7c6fc6168ea2857c66d163"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 14:56:12 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 14:56:12 2012 -0700"
      },
      "message": "[PATCH] tcp: Cache inetpeer in timewait socket, and only when necessary.\n\nSince it\u0027s guarenteed that we will access the inetpeer if we\u0027re trying\nto do timewait recycling and TCP options were enabled on the\nconnection, just cache the peer in the timewait socket.\n\nIn the future, inetpeer lookups will be context dependent (per routing\nrealm), and this helps facilitate that as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d13e14148154e5ce58467e76321eef1dd912c416",
      "tree": "db97279dd45c8aed3d61d5d1fe65c6dbf7a9a7d9",
      "parents": [
        "6aee4ca3d2217d3f76469e5ed576d62695f0912a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Jun 09 10:31:09 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Jun 09 10:31:09 2012 +0200"
      },
      "message": "mac80211: add some missing kernel-doc\n\nAdd a few kernel-doc descriptions that were missed\nduring development.\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "4670fd819e7f47392c7c6fc6168ea2857c66d163",
      "tree": "b8e90a8a449c0b42b77b54313683ab2d0edb09f3",
      "parents": [
        "fbfe95a42e90b3dd079cc9019ba7d7700feee0f6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 01:25:47 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 09 01:25:47 2012 -0700"
      },
      "message": "tcp: Get rid of inetpeer special cases.\n\nThe get_peer method TCP uses is full of special cases that make no\nsense accommodating, and it also gets in the way of doing more\nreasonable things here.\n\nFirst of all, if the socket doesn\u0027t have a usable cached route, there\nis no sense in trying to optimize timewait recycling.\n\nLikewise for the case where we have IP options, such as SRR enabled,\nthat make the IP header destination address (and thus the destination\naddress of the route key) differ from that of the connection\u0027s\ndestination address.\n\nJust return a NULL peer in these cases, and thus we\u0027re also able to\nget rid of the clumsy inetpeer release logic.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbfe95a42e90b3dd079cc9019ba7d7700feee0f6",
      "tree": "f5f16e6efcf1411a47df8b836f669fc452489dd4",
      "parents": [
        "7123aaa3a1416529ce461e98108e6b343b294643"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 08 23:24:18 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 08 23:24:18 2012 -0700"
      },
      "message": "inet: Create and use rt{,6}_get_peer_create().\n\nThere\u0027s a lot of places that open-code rt{,6}_get_peer() only because\nthey want to set \u0027create\u0027 to one.  So add an rt{,6}_get_peer_create()\nfor their sake.\n\nThere were also a few spots open-coding plain rt{,6}_get_peer() and\nthose are transformed here as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c2e004183178e1947882cd2e74f37826f45230e",
      "tree": "a0a5e7ed54d89392bb77ae7175a9c63bbfc7b9f1",
      "parents": [
        "4dab786482d706a2a41cd16cf174671d640a9870"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Jun 08 23:31:13 2012 +0800"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Fri Jun 08 21:00:40 2012 -0300"
      },
      "message": "Bluetooth: Add support for encryption key refresh\n\nWith LE/SMP the completion of a security level elavation from medium to\nhigh is indicated by a HCI Encryption Key Refresh Complete event. The\nnecessary behavior upon receiving this event is a mix of what\u0027s done for\nauth_complete and encryption_change, which is also where most of the\nevent handling code has been copied from.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "7123aaa3a1416529ce461e98108e6b343b294643",
      "tree": "094070a521666979523411422109cce72a1db8c4",
      "parents": [
        "54db0cc2ba0d38166acc2d6bae21721405305537"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri Jun 08 05:03:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 08 14:27:23 2012 -0700"
      },
      "message": "af_unix: speedup /proc/net/unix\n\n/proc/net/unix has quadratic behavior, and can hold unix_table_lock for\na while if high number of unix sockets are alive. (90 ms for 200k\nsockets...)\n\nWe already have a hash table, so its quite easy to use it.\n\nProblem is unbound sockets are still hashed in a single hash slot\n(unix_socket_table[UNIX_HASH_TABLE])\n\nThis patch also spreads unbound sockets to 256 hash slots, to speedup\nboth /proc/net/unix and unix_diag.\n\nTime to read /proc/net/unix with 200k unix sockets :\n(time dd if\u003d/proc/net/unix of\u003d/dev/null bs\u003d4k)\n\nbefore : 520 secs\nafter : 2 secs\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54db0cc2ba0d38166acc2d6bae21721405305537",
      "tree": "9c067a1e7be7e3f2c862b3d64568ba330a0e0b2c",
      "parents": [
        "c8a627ed06d6d49bf65015a2185c519335c4c83f"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Fri Jun 08 01:21:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 08 14:27:23 2012 -0700"
      },
      "message": "inetpeer: add parameter net for inet_getpeer_v4,v6\n\nadd struct net as a parameter of inet_getpeer_v[4,6],\nuse net to replace \u0026init_net.\n\nand modify some places to provide net for inet_getpeer_v[4,6]\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8a627ed06d6d49bf65015a2185c519335c4c83f",
      "tree": "2a67acd810661f3655162868bef0306e7ec51b86",
      "parents": [
        "1578e7778fa04eb7e32da561effee6cd38139b0f"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Fri Jun 08 01:20:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 08 14:27:23 2012 -0700"
      },
      "message": "inetpeer: add namespace support for inetpeer\n\nnow inetpeer doesn\u0027t support namespace,the information will\nbe leaking across namespace.\n\nthis patch move the global vars v4_peers and v6_peers to\nnetns_ipv4 and netns_ipv6 as a field peers.\n\nadd struct pernet_operations inetpeer_ops to initial pernet\ninetpeer data.\n\nand change family_to_base and inet_getpeer to support namespace.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8264deb81853462da5cbcfb19b54c4fd9f3d88ba",
      "tree": "f64cce8fd096060434e46c07dce79df2a663cf50",
      "parents": [
        "e76d0af5e45f4152e3fdcc103b753a8aff93fcb5"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon May 28 21:04:23 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:41 2012 +0200"
      },
      "message": "netfilter: nf_conntrack: add namespace support for cttimeout\n\nThis patch adds namespace support for cttimeout.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "e76d0af5e45f4152e3fdcc103b753a8aff93fcb5",
      "tree": "2032968036adb8a275280b510997e746891fb643",
      "parents": [
        "4f71d80fc00a8c8859329ff282167fd4549b2b9f"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jun 05 18:35:48 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:41 2012 +0200"
      },
      "message": "netfilter: nf_conntrack: remove now unused sysctl for nf_conntrack_l[3|4]proto\n\nSince the sysctl data for l[3|4]proto now resides in pernet nf_proto_net.\nWe can now remove this unused fields from struct nf_contrack_l[3,4]proto.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "7080ba0955438ecd2885c1b73fbd9760b1594a41",
      "tree": "dcb91bea5da6c1cb70bc52acfd3a17db3da259c7",
      "parents": [
        "4b626b9c5d35b4f99b073dc5d6457abddcbcf429"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon May 28 21:04:15 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:40 2012 +0200"
      },
      "message": "netfilter: nf_ct_icmp: add namespace support\n\nThis patch adds namespace support for ICMPv6 protocol tracker.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "4b626b9c5d35b4f99b073dc5d6457abddcbcf429",
      "tree": "774457d18f064a5a1ca8ee54724ab5ff3b5e0487",
      "parents": [
        "0ce490ad4387a67ee8ca5253476272d508fc0b6f"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon May 28 21:04:14 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:40 2012 +0200"
      },
      "message": "netfilter: nf_ct_icmp: add namespace support\n\nThis patch adds namespace support for ICMP protocol tracker.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "0ce490ad4387a67ee8ca5253476272d508fc0b6f",
      "tree": "7ad5d0742f1eaa82494af89dd5ac35801c3e12fa",
      "parents": [
        "d2ba1fde42af44fbce361202e9af13daff9e4381"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon May 28 21:04:13 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:40 2012 +0200"
      },
      "message": "netfilter: nf_ct_udp: add namespace support\n\nThis patch adds namespace support for UDP protocol tracker.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "d2ba1fde42af44fbce361202e9af13daff9e4381",
      "tree": "ff268b9e00824abbcbf2bd2234cd338c34045180",
      "parents": [
        "15f585bd76b6bd2974b23c9e69ff038a0826a0be"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon May 28 21:04:12 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:39 2012 +0200"
      },
      "message": "netfilter: nf_ct_tcp: add namespace support\n\nThis patch adds namespace support for TCP protocol tracker.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "15f585bd76b6bd2974b23c9e69ff038a0826a0be",
      "tree": "6719807ab454cd1121b32f7eb9421890b661ce4f",
      "parents": [
        "524a53e5ad5f34f64ed34281e8b0eca19437db5b"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon May 28 21:04:11 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:39 2012 +0200"
      },
      "message": "netfilter: nf_ct_generic: add namespace support\n\nThis patch adds namespace support for the generic layer 4 protocol\ntracker.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "524a53e5ad5f34f64ed34281e8b0eca19437db5b",
      "tree": "e6ad5ef71a1fe4b95c3ab5690d5e728513765e5d",
      "parents": [
        "2c352f444ccfa966a1aa4fd8e9ee29381c467448"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon May 28 21:04:10 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:39 2012 +0200"
      },
      "message": "netfilter: nf_conntrack: prepare namespace support for l3 protocol trackers\n\nThis patch prepares the namespace support for layer 3 protocol trackers.\nBasically, this modifies the following interfaces:\n\n* nf_ct_l3proto_[un]register_sysctl.\n* nf_conntrack_l3proto_[un]register.\n\nWe add a new nf_ct_l3proto_net is used to get the pernet data of l3proto.\n\nThis adds rhe new struct nf_ip_net that is used to store the sysctl header\nand l3proto_ipv4,l4proto_tcp(6),l4proto_udp(6),l4proto_icmp(v6) because the\nprotos such tcp and tcp6 use the same data,so making nf_ip_net as a field\nof netns_ct is the easiest way to manager it.\n\nThis patch also adds init_net to struct nf_conntrack_l3proto to initial\nthe layer 3 protocol pernet data.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "2c352f444ccfa966a1aa4fd8e9ee29381c467448",
      "tree": "befcba86ddf2cdbd73d15e1e2620439158c8e2f4",
      "parents": [
        "fdb694a01f1fcd30fd16d8aa290c34699fe98a17"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitus.com",
        "time": "Mon May 28 21:04:09 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jun 07 14:58:39 2012 +0200"
      },
      "message": "netfilter: nf_conntrack: prepare namespace support for l4 protocol trackers\n\nThis patch prepares the namespace support for layer 4 protocol trackers.\nBasically, this modifies the following interfaces:\n\n* nf_ct_[un]register_sysctl\n* nf_conntrack_l4proto_[un]register\n\nto include the namespace parameter. We still use init_net in this patch\nto prepare the ground for follow-up patches for each layer 4 protocol\ntracker.\n\nWe add a new net_id field to struct nf_conntrack_l4proto that is used\nto store the pernet_operations id for each layer 4 protocol tracker.\n\nNote that AF_INET6\u0027s protocols do not need to do sysctl compat. Thus,\nwe only register compat sysctl when l4proto.l3proto !\u003d AF_INET6.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "2eb278e083549f4eb29838037004054b3b55df62",
      "tree": "803f076e7d7a1ed58e1c9e196bda7c2c2bb24bdf",
      "parents": [
        "196ac1c13d4db6c276dbb1c9190c8d7d45a83f1f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jun 05 14:28:42 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 06 15:31:18 2012 -0400"
      },
      "message": "mac80211: unify SW/offload remain-on-channel\n\nRedesign all the off-channel code, getting rid of\nthe generic off-channel work concept, replacing\nit with a simple remain-on-channel list.\n\nThis fixes a number of small issues with the ROC\nimplementation:\n * offloaded remain-on-channel couldn\u0027t be queued,\n   now we can queue it as well, if needed\n * in iwlwifi (the only user) offloaded ROC is\n   mutually exclusive with scanning, use the new\n   queue to handle that case -- I expect that it\n   will later depend on a HW flag\n\nThe bigger issue though is that there\u0027s a bad bug\nin the current implementation: if we get a mgmt\nTX request while HW roc is active, and this new\nrequest has a wait time, we actually schedule a\nsoftware ROC instead since we can\u0027t guarantee the\nexisting offloaded ROC will still be that long.\nTo fix this, the queuing mechanism was needed.\n\nThe queuing mechanism for offloaded ROC isn\u0027t yet\noptimal, ideally we should add API to have the HW\nextend the ROC if needed. We could add that later\nbut for now use a software implementation.\n\nOverall, this unifies the behaviour between the\noffloaded and software-implemented case as much\nas possible.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "196ac1c13d4db6c276dbb1c9190c8d7d45a83f1f",
      "tree": "68d2a1b99ec08d685381c812e38d0f18553e1cee",
      "parents": [
        "491b26b40222cc769c163e77177697dd7a63c316"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jun 05 14:28:40 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 06 15:20:33 2012 -0400"
      },
      "message": "mac80211: do remain-on-channel while idle\n\nThe IDLE handling in HW off-channel is broken right\nnow since we turn off IDLE only when the off-channel\nperiod already started. Therefore, all drivers that\nuse it today (only iwlwifi!) must support off-channel\nwhile idle, so playing with idle isn\u0027t needed at all.\n\nOff-channel in general, since it\u0027s no longer used for\nauthentication/association, shouldn\u0027t affect PS, so\nalso remove that logic.\n\nAlso document a small caveat for reporting TX status\nfrom off-channel frames in HW remain-on-channel.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e8c9bd5b8d807cfe6c923265969a523b1ba1e6c2",
      "tree": "e36cab1a3b2fb25bdc84115e3472a19672045dbe",
      "parents": [
        "7c9c46c16d2d1d232f3296924162de293477f017"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jun 06 08:18:22 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 06 15:18:17 2012 -0400"
      },
      "message": "cfg80211: clarify set_channel APIs\n\nNow that we\u0027ve removed all uses of the set_channel\nAPI except for the monitor channel and in libertas,\nclarify this. Split the libertas mesh use into a\nnew libertas_set_mesh_channel() operation, just to\nkeep backward compatibility, and rename the normal\nset_channel() to set_monitor_channel().\n\nAlso describe the desired set_monitor_channel()\nsemantics more clearly.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "55432d2b543a4b6dfae54f5c432a566877a85d90",
      "tree": "f830eb5150e38be149fcfce74f68716f5bf2641a",
      "parents": [
        "dd03cff23d694cfb0fdae80cb618e7ced05ea696"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jun 05 03:00:18 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 06 10:45:15 2012 -0700"
      },
      "message": "inetpeer: fix a race in inetpeer_gc_worker()\n\ncommit 5faa5df1fa2024 (inetpeer: Invalidate the inetpeer tree along with\nthe routing cache) added a race :\n\nBefore freeing an inetpeer, we must respect a RCU grace period, and make\nsure no user will attempt to increase refcnt.\n\ninetpeer_invalidate_tree() waits for a RCU grace period before inserting\ninetpeer tree into gc_list and waking the worker. At that time, no\nconcurrent lookup can find a inetpeer in this tree.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nAcked-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc1d2806bf06ab92268343d26eb3d8d8f00f8bc9",
      "tree": "b14ffa920d616470715e715df49f990bfdcf12ae",
      "parents": [
        "685d12a1929f274bd91497e33b4255fe164ac8ec"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed May 16 23:50:20 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 05 15:32:18 2012 -0400"
      },
      "message": "cfg80211: provide channel to join_mesh function\n\nJust like the AP mode patch, instead of setting\nthe channel and then joining the mesh network,\nprovide the channel to join the network on to\nthe join_mesh() function.\n\nLike in AP mode, you can also give the channel\nto the join-mesh nl80211 command now.\n\nUnlike AP mode, it picks a default channel if\nnone was given.\n\nAs libertas uses mesh mode interfaces but has\nno join_mesh callback and we can\u0027t simply break\nit, keep some compatibility code for that case\nand configure the channel directly for it.\n\nIn the non-libertas case, where we store the\nchannel until join, allow setting it while the\ninterface is down.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "aa430da41019c1694f6a8e3b8bef1d12ed52b0ad",
      "tree": "086b60a5c6253cad2c78f5a976d0608f375f2b03",
      "parents": [
        "d58e7e37aac0465b08527adadc8016421bd4060e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed May 16 23:50:18 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 05 15:32:16 2012 -0400"
      },
      "message": "cfg80211: provide channel to start_ap function\n\nInstead of setting the channel first and then\nstarting the AP, let cfg80211 store the channel\nand provide it as one of the AP settings.\n\nThis means that now you have to set the channel\nbefore you can start an AP interface, but since\nhostapd/wpa_supplicant always do that we\u0027re OK\nwith this change.\n\nAlternatively, it\u0027s now possible to give the\nchannel as an attribute to the start-ap nl80211\ncommand, overriding any preset channel.\n\nCc: Kalle Valo \u003ckvalo@qca.qualcomm.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d58e7e37aac0465b08527adadc8016421bd4060e",
      "tree": "e0a06894e131012e97a892704970ab0b8b1141f2",
      "parents": [
        "3d9e6e12077d2611749ba3145bc4934aae461425"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed May 16 23:50:17 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 05 15:32:16 2012 -0400"
      },
      "message": "cfg80211: simplify cfg80211_can_beacon_sec_chan API\n\nChange cfg80211_can_beacon_sec_chan() to return true\nif there is no secondary channel to simplify all the\ncurrent users of it. They all check the channel type\nbefore calling the function because it returns false\nif there\u0027s no secondary channel.\n\nAlso actually document the return value.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "51ca9d8db280b960345e7306e6a036dd3880ecff",
      "tree": "3fc742b198b2f1bade27d0d5e4b6c76e3b92bd2c",
      "parents": [
        "b90bd9d14f866318497acee571f79e621a735d69"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Wed May 16 19:09:48 2012 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 05 15:32:10 2012 -0400"
      },
      "message": "mac80211: remove ieee80211_get_operstate()\n\nieee80211_get_operstate() was used by drivers in order to\nknow whether the sta link is up, but it\u0027s no longer needed\n(nor used) as mac80211 notifies the drivers about\nauthorization changes (via the sta_state callback)\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "499f42bb03a9bd8a23f73e7c3886f70f52e7edc5",
      "tree": "f0a1ee12e47d46f58094fded70bd7ebf3b49b4c8",
      "parents": [
        "d63e9ae3b12fd0c6a3795c9b08de6b476f80b8c3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 15 14:20:32 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 05 15:32:10 2012 -0400"
      },
      "message": "net: mac80211: Add and use ibss_vdbg debugging macro\n\nSimplify the use of #ifdef CONFIG_MAC80211_IBSS_DEBUG/#endif\nby adding a logging macro to encapsulate the test.\n\nConvert the appropriate uses too.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d63e9ae3b12fd0c6a3795c9b08de6b476f80b8c3",
      "tree": "7d7e89004303daafb4d03e607d6863cd1fdce442",
      "parents": [
        "f0d232080fa5d040aaf73a39d127b003cdd2d0ae"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 15 14:20:31 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 05 15:32:10 2012 -0400"
      },
      "message": "net: mac80211: Add and use ht_vdbg debugging macro\n\nSimplify the use of #ifdef CONFIG_MAC80211_HT_DEBUG/#endif\nby adding a logging macro to encapsulate the test.\n\nConvert the appropriate uses too.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "72d7872852e1734e94686012a2e9deade3457329",
      "tree": "a03e04cbb654ddd44132b420e068a6e0a24d8f86",
      "parents": [
        "f8f5701bdaf9134b1f90e5044a82c66324d2073f"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Thu May 10 16:18:26 2012 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 05 15:21:46 2012 -0400"
      },
      "message": "mac80211: allow low-level drivers to set netdev feature bits\n\nLow level drivers can now set certain netdev feature bits in\nnetdev_features member of the ieee80211_hw struct. These will be\npropagated to every netdev created from this HW.\n\nThe white-listed features currently include only ones related to HW\nchecksumming.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7e1af8a3a51dbf5dc7392fb294a0830f7e853aa8",
      "tree": "5f495e6078044694b1b70e068288b1645e3370f7",
      "parents": [
        "8c3a4f004e706fd7e681c68c6de4946c8c76b976"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Tue May 29 13:19:26 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:16 2012 +0300"
      },
      "message": "Bluetooth: Create empty l2cap ops function\n\nA2MP doesn\u0027t use part of the L2CAP chan ops API so we just create general\nempty function instead of the A2MP specific one.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "8c3a4f004e706fd7e681c68c6de4946c8c76b976",
      "tree": "9276da82e757252396ae3adb7e2b2c2e59c1c200",
      "parents": [
        "682877c31fc1b6510b694b6b8e78d8dde53a47cc"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Thu May 31 17:01:35 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:16 2012 +0300"
      },
      "message": "Bluetooth: Rename L2CAP_LE_DEFAULT_MTU\n\nThis patch renames L2CAP_LE_DEFAULT_MTU macro to L2CAP_LE_MIN_MTU\nsince it represents the minimum MTU value, not the default MTU\nvalue for LE.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "1afd5be87e30997a5623260d9177ed62cf88adbe",
      "tree": "ac9d1ca5bf71621fe8101cc835da4779e3240561",
      "parents": [
        "97e8e89d2d8185b7644c9941636d3682eedc517b"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Mon May 28 11:47:20 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: Remove unused HCI timeouts definitions\n\nThose are not used anywhere in code (and never were since introduction\nin 2006) so just remove them.\n\nSigned-off-by: Szymon Janc \u003cszymon.janc@tieto.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "97e8e89d2d8185b7644c9941636d3682eedc517b",
      "tree": "b9db250da912d6185c03f2a93145ef9f69d4c32a",
      "parents": [
        "416fa7527d6bf658e5517ea36d2de9270be2c11e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:17 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Manage incoming connections\n\nHandle incoming A2MP connection by creating AMP manager and\nprocessing A2MP messages.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "416fa7527d6bf658e5517ea36d2de9270be2c11e",
      "tree": "60f3f131884ff8aa5e0d02c9a098e612138aa5a2",
      "parents": [
        "f6410a849b76f56c78d989786eb427b85a559b9f"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:16 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:13 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Handling fixed channels\n\nA2MP fixed channel do not have sk\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "8598d064cbf22b2d84c7cd8a9fcb97138baffe3f",
      "tree": "4ac83c774867460958b74416144b44004bfd05c1",
      "parents": [
        "21dbd2ce35f6d2b4aa5363be6c839cdb50644e11"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:09 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Discover Request\n\nAdds helper functions to count HCI devs and process A2MP Discover\nRequest, code makes sure that first controller in the list is\nBREDR one. Trace is shown below:\n\n...\n\u003e ACL data: handle 11 flags 0x02 dlen 16\n    A2MP: Discover req: mtu/mps 670 mask: 0x0000\n\u003c ACL data: handle 11 flags 0x00 dlen 22\n    A2MP: Discover rsp: mtu/mps 670 mask: 0x0000\n      Controller list:\n        id 0 type 0 (BR-EDR) status 0x01 (Bluetooth only)\n        id 1 type 1 (802.11 AMP) status 0x01 (Bluetooth only)\n...\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "e7af522e04bcf68caae6802722efc5c6e8fa63a7",
      "tree": "9d15ac69259156fd5a2c751c12b9be296c82eca6",
      "parents": [
        "b9058fb67c42851b4f852d90b11f43279586aae9"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:06 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Define A2MP status codes\n\nA2MP status codes copied from Bluez patch sent by Peter Krystad\n\u003cpkrystad@codeaurora.org\u003e.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "b9058fb67c42851b4f852d90b11f43279586aae9",
      "tree": "15f68f63524738a267f10692236f77dc760a34aa",
      "parents": [
        "46d5c9088fbcc8a570bc271f77940973d9cae074"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:05 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Definitions for A2MP commands\n\nDefine A2MP command IDs and packet structures.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f6d3c6e783b0e9f75b18232f8ff8cd5dbc3f7301",
      "tree": "868a752db0c703cdb9152ada0c2e3e6f276d7545",
      "parents": [
        "9740e49d17e55f3832661fd99a8e0a17e921a82e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:03 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Build and Send msg helpers\n\nHelper function to build and send A2MP messages.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "9740e49d17e55f3832661fd99a8e0a17e921a82e",
      "tree": "865915ab8d3c13d1ff74429c84b95a0acab37ee9",
      "parents": [
        "466f8004f364e9cb46d9124109972489eccfb404"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:02 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: A2MP: AMP Manager basic functions\n\nDefine AMP Manager and some basic functions.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "466f8004f364e9cb46d9124109972489eccfb404",
      "tree": "100233272787a891de4022eca15ba5c414719b2c",
      "parents": [
        "0181a70f549bd1683d18a5a1d79ac25bcdb76570"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:01 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Create A2MP channel\n\nCreate and initialize fixed A2MP channel\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "54a59aa2b562872781d6a8fc89f300d360941691",
      "tree": "b2414b9803565ee9e252ccfefb54c98af762ab43",
      "parents": [
        "c0df7f6e06e1aeccee39c801af7f78cadeb9f345"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Sun May 27 22:27:53 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: Add l2cap_chan-\u003eops-\u003eready()\n\nThis move socket specific code to l2cap_sock.c.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c0df7f6e06e1aeccee39c801af7f78cadeb9f345",
      "tree": "e5dbd0ee76df7d761c6315cc07ab5df4fa861cc4",
      "parents": [
        "80b980279508edd1a92d8d77ec99b0ddad00c5fe"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Sun May 27 22:27:52 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Move clean up code and set of SOCK_ZAPPED to l2cap_sock.c\n\nThis remove a bit more of socket code from l2cap core, this calls set the\nSOCK_ZAPPED and do some clean up depending on the socket state.\n\nReported-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "80b980279508edd1a92d8d77ec99b0ddad00c5fe",
      "tree": "28ef9be0b618f37c3fc2b08c1114748517c3fe4a",
      "parents": [
        "3df92b31b2b593c5a067634ef2c30e76b2b2548d"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Sun May 27 22:27:51 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Use chan as parameters for l2cap chan ops\n\nUse chan instead of void * makes more sense here.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "523e93cdb39086b25af2ed19d2a69248510727a2",
      "tree": "bbb4418df21d8893f7b71b7d9788342ddb8b62e2",
      "parents": [
        "82781e634f815e9a675ef643a5e11da0cf77ce0e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri May 25 15:09:26 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Define HCI AMP cmd struct\n\nAdd HCI commands to deal with Bluetooth AMP controllers.\nThose commands will be used by bluetooth and softamp code.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2983fd682444180e45567ce8147a612b97ba69da",
      "tree": "57ebc25eb8b0cc854256b50476276b9cb4515ce6",
      "parents": [
        "6d3c730f03e0d1aed2125c1a64ad8857c63f5163"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu May 24 15:42:50 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Define and use PSM identifiers\n\nDefine assigned Protocol and Service Multiplexor (PSM) identifiers\nand use them instead of magic numbers.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "59e54bd15d63f102c71c3ce695bca5ed90926e46",
      "tree": "0a647bce50d563cc4a8fda6007eda7fd6b29e642",
      "parents": [
        "8449e381a8558fb1d911017ea26bae681fea4240"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 23 15:44:06 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Define L2CAP conf continuation flag\n\nDefine Continuation flag which the only flag used from Flags field\nin L2CAP Configuration Request and Response.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c520a59927a5600973782505dbb750d985057c4",
      "tree": "5ef3689e889285c5cf15a7b92ab8f0cf73ff7259",
      "parents": [
        "8fc9ced398824739d3c25c8aa7f6f34d8e7a49d9"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:22 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Remove unnecessary headers include\n\nMost of the include were unnecessary or already included by some other\nheader.\nReplace module.h by export.h where possible.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c3c7ea65941a0b7a4f1b9655e7aaaab6ce1874d2",
      "tree": "09643091d66605256524b9c601cd08edf01a4a26",
      "parents": [
        "fc5fef615a963c8b13abf0bbc2a8e8d7c3fd1ffb"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:20 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in include/net/bluetooth\n\nFix all warning and errors reported by checkpatch but license trailing\nwhitespace and bdaddr_t definition.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9b3b44604ac8e06d299718c5d0fa0b91b675ae0b",
      "tree": "b079fbe2b97d297f19c5d4c24560169157ac3db9",
      "parents": [
        "a6c511c636848f871f5b7aef38e25e5b894b3b48"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 23 11:31:20 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Use defined link key size\n\nRemove magic number with defined link key size.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a6c511c636848f871f5b7aef38e25e5b894b3b48",
      "tree": "847b421858d21575ff61c02c83e92497d97b92d5",
      "parents": [
        "38351c66e407e610283e5332b819822055db473c"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Wed May 23 12:35:46 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Rename HCI_QUIRK_NO_RESET to HCI_QUIRK_RESET_ON_CLOSE\n\nHCI_QUIRK_NO_RESET name is misleading - purpose of this quirk is to\nreset device on close instead of init, not to not reset at all.\nRename it to HCI_QUIRK_RESET_ON_CLOSE to avoid confusion.\n\nSigned-off-by: Szymon Janc \u003cszymon.janc@tieto.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "38351c66e407e610283e5332b819822055db473c",
      "tree": "292d546e7f179e6214297152239f61c5418c589f",
      "parents": [
        "d660366d53119fbd988e1b1d6ea2c00358a8e688"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Tue May 22 19:00:20 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Fix trailing whitespaces in license text\n\nAs reported by checkpatch.pl\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "522cc2ee6e55ba49f4df338e0dfcfb989b46eb8c",
      "tree": "9268f0b5059002acb16a5e00889389d0603fb491",
      "parents": [
        "273759e2c3bd69efe74799c446df69d9ea5ca418"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:54 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:05 2012 +0300"
      },
      "message": "Bluetooth: Remove unused ERTM control field macros\n\nNow that l2cap_ctrl is used to set up control fields, these macros are\nnot needed.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    }
  ],
  "next": "4239d16f360ce4c8a1798508dd171ebce93985ba"
}
