)]}'
{
  "log": [
    {
      "commit": "e754834e65220b2b674c55c3b6dfb2fb1a2804d0",
      "tree": "caab532a365c936689cc02b47b0f9d53c1ceeaa4",
      "parents": [
        "5833929cc2ad2b3064b4fac8c44e293972d240d8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 22 10:18:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 01:21:28 2010 -0800"
      },
      "message": "icmp: move icmp_err_convert[] to .rodata\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5833929cc2ad2b3064b4fac8c44e293972d240d8",
      "tree": "f40c1e8c54f7b42fb1edf7dadc624ad60deac307",
      "parents": [
        "81c1ebfc4379f529b001e23164dd5c2282bdc0ec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 22 10:17:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 01:21:27 2010 -0800"
      },
      "message": "net: constify MIB name tables\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51c24aaacaea90c8e87f1dec75a2ac7622b593f8",
      "tree": "9f54936c87764bef75e97395cb56b7d1e0df24c6",
      "parents": [
        "4276e47e2d1c85a2477caf0d22b91c4f2377fba8",
        "6be325719b3e54624397e413efd4b33a997e55a3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "6be325719b3e54624397e413efd4b33a997e55a3",
      "tree": "57f321a56794cab2222e179b16731e0d76a4a68a",
      "parents": [
        "26d92f9276a56d55511a427fb70bd70886af647a",
        "92dcffb916d309aa01778bf8963a6932e4014d07"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 22 22:45:46 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 22 22:45:46 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "6373464288cab09bc641be301d8d30fc9f64ba71",
      "tree": "c1bc92dc630aa15da2e12bc0d09c92169817a702",
      "parents": [
        "6d955180b2f9ccff444df06265160868cabb289a",
        "730dd70549e0ec755dd55615ba5cfc38a482a947"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 19 11:43:42 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 19 11:43:42 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n"
    },
    {
      "commit": "72659ecce68588b74f6c46862c2b4cec137d7a5a",
      "tree": "791c5900e2a2b219774904cef7fab90fa462b81c",
      "parents": [
        "0ec00f0392b807d57a2281576a96552d7694b6bb"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sun Jan 17 19:09:39 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:09:39 2010 -0800"
      },
      "message": "tcp: account SYN-ACK timeouts \u0026 retransmissions\n\nCurrently we don\u0027t increment SYN-ACK timeouts \u0026 retransmissions\nalthough we do increment the same stats for SYN. We seem to have lost\nthe SYN-ACK accounting with the introduction of tcp_syn_recv_timer\n(commit 2248761e in the netdev-vger-cvs tree).\n\nThis patch fixes this issue. In the process we also rename the v4/v6\nsyn/ack retransmit functions for clarity. We also add a new\nrequest_socket operations (syn_ack_timeout) so we can keep code in\ninet_connection_sock.c protocol agnostic.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d00c362f1b0ff54161e0a42b4554ac621a9ef92d",
      "tree": "33ffeef90727309ad67690b2b7b63e1161b052ec",
      "parents": [
        "2a04cd4c7d41c4549764734dcf5a883d304e3229"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sat Jan 16 01:04:04 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 16 01:04:04 2010 -0800"
      },
      "message": "ax25: netrom: rose: Fix timer oopses\n\nWrong ax25_cb refcounting in ax25_send_frame() and by its callers can\ncause timer oopses (first reported with 2.6.29.6 kernel).\n\nFixes: http://bugzilla.kernel.org/show_bug.cgi?id\u003d14905\n\nReported-by: Bernard Pidoux \u003cbpidoux@free.fr\u003e\nTested-by: Bernard Pidoux \u003cbpidoux@free.fr\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c99445b14054e0c4ed4715df1dad1fc608cbab46",
      "tree": "88b3e4bfde3abca9d6f57e2ae35458bb33eda4df",
      "parents": [
        "9d173fc5dfa8c1b4578b331ac7ff3ce8af27006e"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Jan 14 13:09:21 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 14 18:16:56 2010 -0500"
      },
      "message": "mac80211: improve powersave documentation\n\nThere has been some confusion how drivers should implement powersave\nsupport. Improve the documentation a bit to make it more clear what\ndrivers need to do. Also mention about U-APSD.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9d173fc5dfa8c1b4578b331ac7ff3ce8af27006e",
      "tree": "261da62f97e554f788c06e4166c3debd6c23ce10",
      "parents": [
        "5e4ea1f0ed256382d6d839fbd7a5c7f1b99b6cb0"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Jan 14 13:09:14 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 14 18:16:55 2010 -0500"
      },
      "message": "mac80211: fix mac80211.h documentation warnings\n\nThere were some warnings about missing documentation and a missing reference.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4a24eef671614aea479eac6c9ce5fa2cf590ee76",
      "tree": "4861f88217c3468cdeae74ad427a4129220e45f2",
      "parents": [
        "4f374425b625d48445e370f63c896283eb2a9bae",
        "cd65c3c7d1081290b7365897c2290a84aa967d4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 14 08:36:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 14 08:36:15 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)\n  net: fix build erros with CONFIG_BUG\u003dn, CONFIG_GENERIC_BUG\u003dn\n  ipv6: skb_dst() can be NULL in ipv6_hop_jumbo().\n  tg3: Update copyright and driver version\n  tg3: Disable 5717 serdes and B0 support\n  tg3: Add reliable serdes detection for 5717 A0\n  tg3: Fix std rx prod ring handling\n  tg3: Fix std prod ring nicaddr for 5787 and 57765\n  sfc: Fix conditions for MDIO self-test\n  sfc: Fix polling for slow MCDI operations\n  e1000e: workaround link issues on busy hub in half duplex on 82577/82578\n  e1000e: MDIO slow mode should always be done for 82577\n  ixgbe: update copyright dates\n  ixgbe: Do not attempt to perform interrupts in netpoll when down\n  cfg80211: fix refcount imbalance when wext is disabled\n  mac80211: fix queue selection for data frames on monitor interfaces\n  iwlwifi: silence buffer overflow warning\n  iwlwifi: disable tx on beacon update notification\n  iwlwifi: fix iwl_queue_used bug when read_ptr \u003d\u003d write_ptr\n  mac80211: fix endian error\n  mac80211: add missing sanity checks for action frames\n  ...\n"
    },
    {
      "commit": "cd65c3c7d1081290b7365897c2290a84aa967d4d",
      "tree": "e68ac534c2701dd6ec98fa2af3a2d1eaf609d0fe",
      "parents": [
        "2570a4f5428bcdb1077622342181755741e7fa60"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Jan 13 18:10:36 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 13 18:10:36 2010 -0800"
      },
      "message": "net: fix build erros with CONFIG_BUG\u003dn, CONFIG_GENERIC_BUG\u003dn\n\nFixed build errors introduced by commit 7ad6848c (ip: fix mc_loop\nchecks for tunnels with multicast outer addresses)\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "597d8c717856f6094837850f3eb4850820b36451",
      "tree": "44c1b1115df6a80f6cee3684a01cdbc18b034134",
      "parents": [
        "682137f7e6bc78e3c324874c0c213123ddc5e261",
        "9db2f1bec36805e57a003f7bb90e003815d96de8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 12 20:53:29 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 12 20:53:29 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits)\n  sky2: Fix oops in sky2_xmit_frame() after TX timeout\n  Documentation/3c509: document ethtool support\n  af_packet: Don\u0027t use skb after dev_queue_xmit()\n  vxge: use pci_dma_mapping_error to test return value\n  netfilter: ebtables: enforce CAP_NET_ADMIN\n  e1000e: fix and commonize code for setting the receive address registers\n  e1000e: e1000e_enable_tx_pkt_filtering() returns wrong value\n  e1000e: perform 10/100 adaptive IFS only on parts that support it\n  e1000e: don\u0027t accumulate PHY statistics on PHY read failure\n  e1000e: call pci_save_state() after pci_restore_state()\n  netxen: update version to 4.0.72\n  netxen: fix set mac addr\n  netxen: fix smatch warning\n  netxen: fix tx ring memory leak\n  tcp: update the netstamp_needed counter when cloning sockets\n  TI DaVinci EMAC: Handle emac module clock correctly.\n  dmfe/tulip: Let dmfe handle DM910x except for SPARC on-board chips\n  ixgbe: Fix compiler warning about variable being used uninitialized\n  netfilter: nf_ct_ftp: fix out of bounds read in update_nl_seq()\n  mv643xx_eth: don\u0027t include cache padding in rx desc buffer size\n  ...\n\nFix trivial conflict in drivers/scsi/cxgb3i/cxgb3i_offload.c\n"
    },
    {
      "commit": "ab13315af97919fae0e014748105fdc2e30afb2d",
      "tree": "befa549272ecff20b2839bd6671e4cccbce448f9",
      "parents": [
        "2d46d7c121436f1dafe91b0a8d9b99e534cfa5f8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:31 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:20:58 2010 -0500"
      },
      "message": "mac80211: add U-APSD client support\n\nAdd Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The\nidea is that the data frames from the client trigger AP to send the buffered\nframes with ACs which have U-APSD enabled. This decreases latency and makes it\npossible to save even more power.\n\nDriver needs to use IEEE80211_HW_UAPSD to enable the feature. The current\nimplementation assumes that firmware takes care of the wakeup and\nhardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported.\n\nTested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running\nvarious test traffic with ping.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34a6eddbabd704b3c7dae9362234552267573be2",
      "tree": "661184452aa597e4f1034561b3ec9b267ad2e196",
      "parents": [
        "80a112ffe8dbada25f3780ecc4beebf23451d755"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Wed Jan 06 16:19:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:28 2010 -0500"
      },
      "message": "cfg80211: Store IEs from both Beacon and Probe Response frames\n\nStore information elements from Beacon and Probe Response frames in\nseparate buffers to allow both sets to be made available through\nnl80211. This allows user space applications to get access to IEs from\nBeacon frames even if we have received Probe Response frames from the\nBSS. Previously, the IEs from Probe Response frames would have\noverridden the IEs from Beacon frames.\n\nThis feature is of somewhat limited use since most protocols include\nthe same (or extended) information in Probe Response frames. However,\nthere are couple of exceptions where the IEs from Beacon frames could\nbe of some use: TIM IE is only included in Beacon frames (and it would\nbe needed to figure out the DTIM period used in the BSS) and at least\nsome implementations of Wireless Provisioning Services seem to include\nthe full IE only in Beacon frames).\n\nThe new BSS attribute for scan results is added to allow both the IE\nsets to be delivered. This is done in a way that maintains the\npreviously used behavior for applications that are not aware of the\nnew NL80211_BSS_BEACON_IES attribute.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "05e54ea6cce400ac34528d705179b45244f61074",
      "tree": "d645290f4866b457795696c7c4e9f609a07a4e55",
      "parents": [
        "f7f70579340dba1e551c0e52349fde0370592174"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 05 20:16:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:25 2010 -0500"
      },
      "message": "mac80211: create Probe Request template\n\nCertain type of hardware, for example wl1251 and wl1271, need a template\nfor the Probe Request. Create a function ieee80211_probereq_get() which\ncreates the template and drivers send it to hardware.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7044cc565b45a898c140fb185174a66f2d68a163",
      "tree": "9933e1f178d0cfc8acf69eaf5b7652acaa8825e5",
      "parents": [
        "b3579d6adcf7b24464274967a96d12467cfb11a7"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 05 20:16:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:24 2010 -0500"
      },
      "message": "mac80211: add functions to create PS Poll and Nullfunc templates\n\nSome hardware, for example wl1251 and wl1271, handle the transmission\nof power save related frames in hardware, but the driver is responsible\nfor creating the templates. It\u0027s better to create the templates in mac80211,\nthat way all drivers can benefit from this.\n\nAdd two new functions, ieee80211_pspoll_get() and ieee80211_nullfunc_get()\nwhich drivers need to call to get the frame. Drivers are also responsible\nfor updating the templates after each association.\n\nAlso new struct ieee80211_hdr_3addr is added to ieee80211.h to make it\neasy to calculate length of the Nullfunc frame.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "13ae75b103e07304a34ab40c9136e9f53e06475c",
      "tree": "61cfd1471cdefe8cf1a3da12b4b99aafc2770f76",
      "parents": [
        "37eb0b164cf9fa9f70c8500926f5cde7c652f48e"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Dec 29 12:59:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:23 2010 -0500"
      },
      "message": "nl80211: New command for setting TX rate mask for rate control\n\nAdd a new NL80211_CMD_SET_TX_BITRATE_MASK command and related\nattributes to provide support for setting TX rate mask for rate\ncontrol. This uses the existing cfg80211 set_bitrate_mask operation\nthat was previously used only with WEXT compat code (SIOCSIWRATE). The\nnl80211 command allows more generic configuration of allowed rates as\na mask instead of fixed/max rate.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "37eb0b164cf9fa9f70c8500926f5cde7c652f48e",
      "tree": "9260e7045f32268c8c4ded718677711d371cd5ed",
      "parents": [
        "e00cfce0cb2a397859607bf515c6de9ce064b64a"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Wed Jan 06 13:09:08 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:11 2010 -0500"
      },
      "message": "cfg80211/mac80211: Use more generic bitrate mask for rate control\n\nExtend struct cfg80211_bitrate_mask to actually use a bitfield mask\ninstead of just a single fixed or maximum rate index. This change\nitself does not modify the behavior (except for debugfs files), but it\nprepares cfg80211 and mac80211 for a new nl80211 command for setting\nwhich rates can be used in TX rate control.\n\nSince frames are now going through the rate control algorithm\nunconditionally, the internal IEEE80211_TX_INTFL_RCALGO flag can now\nbe removed. The RC implementations can use the rate_idx_mask value to\noptimize their behavior if only a single rate is enabled.\n\nThe old max_rate_idx in struct ieee80211_tx_rate_control is maintained\n(but commented as deprecated) for backwards compatibility with existing\nRC implementations. Once these implementations have been updated to\nuse the more generic rate_idx_mask, the max_rate_idx value can be\nremoved.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e00cfce0cb2a397859607bf515c6de9ce064b64a",
      "tree": "038d87e7d90a5bcdd8f689a563221eab883b0546",
      "parents": [
        "3dc1de0bf23816ed557ac8addf680cd5ee57e805"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Dec 29 12:59:19 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:09 2010 -0500"
      },
      "message": "mac80211: Select lowest rate based on basic rate set in AP mode\n\nIf the basic rate set is configured to not include the lowest rate\n(e.g., basic rate set \u003d 6, 12, 24 Mbps in IEEE 802.11g mode), the AP\nshould not send out broadcast frames at 1 Mbps. This type of\nconfiguration can be used to optimize channel usage in cases where\nthere is no need for backwards compatibility with IEEE 802.11b-only\ndevices.\n\nIn AP mode, mac80211 was unconditionally using the lowest rate for\nBeacon frames and similarly, with all rate control algorithms that use\nrate_control_send_low(), the lowest rate ended up being used for all\nbroadcast frames (and all unicast frames that are sent before\nassociation). Change this to take into account the basic rate\nconfiguration in AP mode, i.e., use the lowest rate in the basic rate\nset instead of the lowest supported rate when selecting the rate.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "310bc676e314e92c18257bfc916951879451ee32",
      "tree": "12050b5b473b8c9a1bf67450e03d45ade2a4b219",
      "parents": [
        "81077e82c3f591578625805dd6464a27a9ff56ec"
      ],
      "author": {
        "name": "Lukáš Turek",
        "email": "8an@praha12.net",
        "time": "Mon Dec 21 22:50:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:07 2010 -0500"
      },
      "message": "mac80211: Add new callback set_coverage_class\n\nMac80211 callback to driver set_coverage_class() sets slot time and ACK\ntimeout for given IEEE 802.11 coverage class. The callback is optional,\nbut it\u0027s essential for long distance links.\n\nSigned-off-by: Lukas Turek \u003c8an@praha12.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "81077e82c3f591578625805dd6464a27a9ff56ec",
      "tree": "cb1e502c54b4e2f052f129b80a47190de7e22b62",
      "parents": [
        "14acdde6e527950f66c084dbf19bad6fbfcaeedc"
      ],
      "author": {
        "name": "Lukáš Turek",
        "email": "8an@praha12.net",
        "time": "Mon Dec 21 22:50:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:49:17 2010 -0500"
      },
      "message": "nl80211: Add new WIPHY attribute COVERAGE_CLASS\n\nThe new attribute NL80211_ATTR_WIPHY_COVERAGE_CLASS sets IEEE 802.11\nCoverage Class, which depends on maximum distance of nodes in a\nwireless network. It\u0027s required for long distance links (more than a few\nhundred meters).\n\nThe attribute is now ignored by two non-mac80211 drivers, rndis and\niwmc3200wifi, together with WIPHY_PARAM_RETRY_SHORT and\nWIPHY_PARAM_RETRY_LONG. If it turns out to be a problem, we could split\nset_wiphy_params callback or add new capability bits.\n\nSigned-off-by: Lukas Turek \u003c8an@praha12.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d218d11133d888f9745802146a50255a4781d37a",
      "tree": "3b4b163238e19c48f37f3d8a77eb27f3a18691a0",
      "parents": [
        "c8e000604bce02a87742240a9b716a0f1b680c0b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Jan 11 16:28:01 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 11 16:28:01 2010 -0800"
      },
      "message": "tcp: Generalized TTL Security Mechanism\n\nThis patch adds the kernel portions needed to implement\nRFC 5082 Generalized TTL Security Mechanism (GTSM).\nIt is a lightweight security measure against forged\npackets causing DoS attacks (for BGP). \n\nThis is already implemented the same way in BSD kernels.\nFor the necessary Quagga patch \n  http://www.gossamer-threads.com/lists/quagga/dev/17389\n\nDescription from Cisco\n  http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gt_btsh.html\n\nIt does add one byte to each socket structure, but I did\na little rearrangement to reuse a hole (on 64 bit), but it\ndoes grow the structure on 32 bit\n\nThis should be documented on ip(4) man page and the Glibc in.h\nfile also needs update.  IPV6_MINHOPLIMIT should also be added\n(although BSD doesn\u0027t support that).  \n\nOnly TCP is supported, but could also be added to UDP, DCCP, SCTP\nif desired.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4a66e752d0b19934dd208884f8605fe385aaaa9",
      "tree": "72fb727be1d7636aae9cddfe9aa93ac9dec75daf",
      "parents": [
        "bdbec4b86ee99b020e159f9bd604003a3ae3b0ab",
        "fa15e99b6bb44aa86b241a43ca8c509e91f80153"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 10 22:55:03 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 10 22:55:03 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/benet/be_cmds.h\n\tinclude/linux/sysctl.h\n"
    },
    {
      "commit": "fea93ecef619b5779ca6984568517b1685079b05",
      "tree": "9894ba0ea3f8f4a1191697fecb0f63a45767a90f",
      "parents": [
        "fc6a110754476362f9f4fa3199a637f2331c5993"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Jan 04 02:02:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 00:24:55 2010 -0800"
      },
      "message": "Phonet: zero-copy GPRS TX\n\nSend aligned pipe payload if requested to do so. Then, the socket buffer\nneeds not be fragmented anymore.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc6a110754476362f9f4fa3199a637f2331c5993",
      "tree": "2b1457da4758751121ec396767e200dc2a28c2ed",
      "parents": [
        "f6de7acc42de909ccc7f00916ddb4d2064f42b67"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Jan 04 02:02:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 00:24:54 2010 -0800"
      },
      "message": "Phonet: zero-copy aligned GPRS RX\n\nNewer Nokia cellular modems can use aligned payload for their GPRS pipe.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ad6848c7e81a603605fad3f3575841aab004eea",
      "tree": "c95cc3473a2c47d6dedbbe5bc1a298546fc4127f",
      "parents": [
        "58933c643f86651decc4818cf680f9ec3b0460d2"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Jan 06 20:37:01 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 06 20:37:01 2010 -0800"
      },
      "message": "ip: fix mc_loop checks for tunnels with multicast outer addresses\n\nWhen we have L3 tunnels with different inner/outer families\n(i.e. IPV4/IPV6) which use a multicast address as the outer tunnel\ndestination address, multicast packets will be loopbacked back to the\nsending socket even if IP*_MULTICAST_LOOP is set to disabled.\n\nThe mc_loop flag is present in the family specific part of the socket\n(e.g. the IPv4 or IPv4 specific part).  setsockopt sets the inner\nfamily mc_loop flag. When the packet is pushed through the L3 tunnel\nit will eventually be processed by the outer family which if different\nwill check the flag in a different part of the socket then it was set.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a999e6eb5d277cd6a321dcda3fc43c3d9e4e4b8",
      "tree": "b0ad8d03710ee556e97515ba1c949233859391ce",
      "parents": [
        "6cd9b49d7328c4656bfc17fcb47fb814955d40d2",
        "891dc5e73783eeabd2a704a9425e2a199b39c9f9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 30 13:51:29 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 30 13:51:29 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "c3bf4906fba0d8871572b3f50fc036aade093e4d",
      "tree": "90d673b38febfa503085bba10515f6bc51b490a0",
      "parents": [
        "f39edadd1533713a5ed8ba31887ea6c93d137083",
        "7f9d3577e2603ca279c3176b696eba392f21cbe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 12:37:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 30 12:37:35 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (74 commits)\n  Revert \"b43: Enforce DMA descriptor memory constraints\"\n  iwmc3200wifi: fix array out-of-boundary access\n  wl1251: timeout one too soon in wl1251_boot_run_firmware()\n  mac80211: fix propagation of failed hardware reconfigurations\n  mac80211: fix race with suspend and dynamic_ps_disable_work\n  ath9k: fix missed error codes in the tx status check\n  ath9k: wake hardware during AMPDU TX actions\n  ath9k: wake hardware for interface IBSS/AP/Mesh removal\n  ath9k: fix suspend by waking device prior to stop\n  cfg80211: fix error path in cfg80211_wext_siwscan\n  wl1271_cmd.c: cleanup char \u003d\u003e u8\n  iwlwifi: Storage class should be before const qualifier\n  ath9k: Storage class should be before const qualifier\n  cfg80211: fix race between deauth and assoc response\n  wireless: remove remaining qual code\n  rt2x00: Add USB ID for Linksys WUSB 600N rev 2.\n  ath5k: fix SWI calibration interrupt storm\n  mac80211: fix ibss join with fixed-bssid\n  libertas: Remove carrier signaling from the scan code\n  orinoco: fix GFP_KERNEL in orinoco_set_key with interrupts disabled\n  ...\n"
    },
    {
      "commit": "891dc5e73783eeabd2a704a9425e2a199b39c9f9",
      "tree": "9b4478941c486d47a71bfce455b896c5dda7e811",
      "parents": [
        "e1781ed33a8809c58ad6c3b6d432d656446efa43",
        "55afc80b2ab100618c17af77915f75307b6bd5d1"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 30 15:25:08 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 30 15:25:08 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/libertas/scan.c\n"
    },
    {
      "commit": "7f9d3577e2603ca279c3176b696eba392f21cbe2",
      "tree": "e2135eddba600910cdebb54c8b01de53473ecefb",
      "parents": [
        "96c5340147584481ef0c0afbb5423f7563c1d24a",
        "55afc80b2ab100618c17af77915f75307b6bd5d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 29 19:44:25 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 29 19:44:25 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "e1781ed33a8809c58ad6c3b6d432d656446efa43",
      "tree": "4d272bc5bf25263a67b8431e7cfac6f9bbbcb690",
      "parents": [
        "095d5ef608b58ece49f4131925700d27314ecdd8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Wed Dec 23 13:15:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:10 2009 -0500"
      },
      "message": "mac80211: annotate sleeping driver ops\n\nTo make it easier to notice cases of calling sleeping ops in atomic context,\nannotate driver-ops.h with appropiate might_sleep() calls. At the same time,\nalso document in mac80211.h the op functions with missing contexts.\n\nmac80211 doesn\u0027t seem to use get_tx_stats anywhere currently. Just to be on\nthe safe side, I documented it to be atomic, but hopefully the op can be\nremoved in the future.\n\nCompile-tested only.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1ed32e4fc8cfc9656cc1101e7f9617d485fcbe7b",
      "tree": "81697637a36eb4776df39c81a77a9e09ec951a1a",
      "parents": [
        "98b6218388e345064c3f2d3c161383a18274c638"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:45 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:07 2009 -0500"
      },
      "message": "mac80211: remove struct ieee80211_if_init_conf\n\nAll its members (vif, mac_addr, type) are now available\nin the vif struct directly, so we can pass that instead\nof the conf struct. I generated this patch (except the\nmac80211 and header file changes) with this semantic\npatch:\n\n@@\nidentifier conf, fn, hw;\ntype tp;\n@@\ntp fn(struct ieee80211_hw *hw,\n-struct ieee80211_if_init_conf *conf)\n+struct ieee80211_vif *vif)\n{\n\u003c...\n(\n-conf-\u003etype\n+vif-\u003etype\n|\n-conf-\u003emac_addr\n+vif-\u003eaddr\n|\n-conf-\u003evif\n+vif\n)\n...\u003e\n}\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "98b6218388e345064c3f2d3c161383a18274c638",
      "tree": "3df881c8e15947aeefe31da7fa83980a1530aed3",
      "parents": [
        "e4da8c37af626001ff704fb29ea14eb58f5f7208"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:44 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:06 2009 -0500"
      },
      "message": "mac80211/cfg80211: add station events\n\nWhen, for instance, a new IBSS peer is found, userspace\nwants to be notified. Add events for all new stations\nthat mac80211 learns about.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9588bbd5529461a3dacd435bf239c84c3508f569",
      "tree": "dd00011714bdefdef1f818ac7caf53682253a515",
      "parents": [
        "b203ffc3a447eb8d9e6120b783ddee081b143061"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Wed Dec 23 13:15:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:02 2009 -0500"
      },
      "message": "cfg80211: add remain-on-channel command\n\nAdd new commands for requesting the driver to remain awake\non a specified channel for the specified amount of time\n(and another command to cancel such an operation). This\ncan be used to implement userspace-controlled off-channel\noperations, like Public Action frame exchange on another\nchannel than the operation channel.\n\nThe off-channel operation should behave similarly to scan,\ni.e. the local station (if associated) moves into power\nsave mode to request the AP to buffer frames for it and\nthen moves to the other channel to allow the off-channel\noperation to be completed. The duration parameter can be\nused to request enough time to receive a response from\nthe target station.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a80f7c0b088187c8471b441d461e937991870661",
      "tree": "f673c08009a03f2e988a638510b112a5584bea11",
      "parents": [
        "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:32 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:51 2009 -0500"
      },
      "message": "mac80211: introduce flush operation\n\nWe\u0027ve long lacked a good confirmation that frames\nhave really gone out, e.g. before going off-channel\nfor a scan. Add a flush() operation that drivers\ncan implement to provide that confirmation, and use\nit in a few places:\n * before scanning sends the nullfunc frames\n * after scanning sends the nullfunc frames, if any\n * when going idle, to send any pending frames\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "671adc93b6472eaa0142a88d096c945f7b07893a",
      "tree": "fb30cd3cc5e9fa25815e4eccf13bff4a9e6c6b74",
      "parents": [
        "5e31258945f60dff65952575625cac214a75893e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:12:04 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:19:45 2009 -0500"
      },
      "message": "wireless: remove remaining qual code\n\nThis removes the remaining users of the rx status\n\u0027qual\u0027 field and the field itself.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea1e4b842049fcc4741096538114871a74859314",
      "tree": "c2336ab480ac0fd62e0dc41b391d99c97158dc9c",
      "parents": [
        "b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6",
        "92c6f8d849178582fc527aaf1e51dd37a74767d3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "8beb9ab6c2df203e8d68cb1f48cf42604a6bed86",
      "tree": "f342d582af0dd5f62016edcd2a50d2873ebcdbf2",
      "parents": [
        "52d58aef5ee460fedd7f250f05e79081019f2c79"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:46:28 2009 -0800"
      },
      "message": "llc: convert llc_sap_list to RCU\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52d58aef5ee460fedd7f250f05e79081019f2c79",
      "tree": "9c8d2bf8374570038820a47325a2305bcb83111d",
      "parents": [
        "6d2e3ea284463d5ab34e9cf2a41d0b8627b95d02"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:45:32 2009 -0800"
      },
      "message": "llc: replace the socket list with a local address based hash\n\nFor the cases where a lot of interfaces are used in conjunction with a\nlot of LLC sockets bound to the same SAP, the iteration of the socket\nlist becomes prohibitively expensive.\n\nReplacing the list with a a local address based hash significantly\nimproves the bind and listener lookup operations as well as the\ndatagram delivery.\n\nConnected sockets delivery is also improved, but this patch does not\naddress the case where we have lots of sockets with the same local\naddress connected to different remote addresses.\n\nIn order to keep the socket sanity checks alive and fast a socket\ncounter was added to the SAP structure.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d2e3ea284463d5ab34e9cf2a41d0b8627b95d02",
      "tree": "86ee780b06adfe388ac64dd66ece598be69b29ec",
      "parents": [
        "0f7b67dd9e1192976f5e5a78934c7a339ff7c45f"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:43:57 2009 -0800"
      },
      "message": "llc: use a device based hash table to speed up multicast delivery\n\nThis patch adds a per SAP device based hash table to solve the\nmulticast delivery scalability issue when we have large number of\ninterfaces and a large number of sockets bound to the same SAP.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b76f5a8427ac2928c07fa4ff2144bb8db072c240",
      "tree": "542d64a8bd28baf69f87b199a0156f865a06551d",
      "parents": [
        "abf9d537fea225af60762640361af7fb233b3103"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:41:43 2009 -0800"
      },
      "message": "llc: convert the socket list to RCU locking\n\nFor the reclamation phase we use the SLAB_DESTROY_BY_RCU mechanism,\nwhich require some extra checks in the lookup code:\n\na) If the current socket was released, reallocated \u0026 inserted in\nanother list it will short circuit the iteration for the current list,\nthus we need to restart the lookup.\n\nb) If the current socket was released, reallocated \u0026 inserted in the\nsame list we just need to recheck it matches the look-up criteria and\nif not we can skip to the next element.\n\nIn this case there is no need to restart the lookup, since sockets are\ninserted at the start of the list and the worst that will happen is\nthat we will iterate throught some of the list elements more then\nonce.\n\nNote that the /proc and multicast delivery was not yet converted to\nRCU, it still uses spinlocks for protection.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5cd6fe391aa8c93560bb7ffdfe334cf4d0a02e4",
      "tree": "018cf6c943ba0292c33118920a356a0b0a31e00d",
      "parents": [
        "bf9ae5386bca8836c16e69ab8fdbe46767d7452a"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:40:34 2009 -0800"
      },
      "message": "llc: add support for LLC_OPT_PKTINFO\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d346f49d0badd80aa9fc699fa9c6d5b23e778eb6",
      "tree": "9e9698ffe7966fbe7ce924a30843f87cdfa2646e",
      "parents": [
        "d87fd25d5ac4cd044e21b749a8f6cac90f093c71",
        "b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 25 16:34:56 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 25 16:34:56 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "31d12926e37291970dd4f6e9940df3897766a81d",
      "tree": "7f20713b70fc2c9e03aa1f7fcf71ffa651c464fc",
      "parents": [
        "068a2de57ddf4f472e32e7af868613c574ad1d88"
      ],
      "author": {
        "name": "laurent chavey",
        "email": "chavey@google.com",
        "time": "Tue Dec 15 11:15:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:13:30 2009 -0800"
      },
      "message": "net: Add rtnetlink init_rcvwnd to set the TCP initial receive window\n\nAdd rtnetlink init_rcvwnd to set the TCP initial receive window size\nadvertised by passive and active TCP connections.\nThe current Linux TCP implementation limits the advertised TCP initial\nreceive window to the one prescribed by slow start. For short lived\nTCP connections used for transaction type of traffic (i.e. http\nrequests), bounding the advertised TCP initial receive window results\nin increased latency to complete the transaction.\nSupport for setting initial congestion window is already supported\nusing rtnetlink init_cwnd, but the feature is useless without the\nability to set a larger TCP initial receive window.\nThe rtnetlink init_rcvwnd allows increasing the TCP initial receive\nwindow, allowing TCP connection to advertise larger TCP receive window\nthan the ones bounded by slow start.\n\nSigned-off-by: Laurent Chavey \u003cchavey@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12d50c46dc0f7fd2e625c4befaa5fa5740a7a594",
      "tree": "03e0179cd2d0e7d02f67623ee2760a5fe6c3fcac",
      "parents": [
        "7ef8a2127a64d131c4dbe5b843e5708f6e75552b"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Tue Dec 08 22:26:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:13:28 2009 -0800"
      },
      "message": "tcp: Remove check in __tcp_push_pending_frames\n\ntcp_push checks tcp_send_head and calls __tcp_push_pending_frames,\nwhich again checks tcp_send_head, and this unnecessary check is\ndone for every other caller of __tcp_push_pending_frames.\n\nRemove tcp_send_head check in __tcp_push_pending_frames and add\nthe check to tcp_push_pending_frames. Other functions call\n__tcp_push_pending_frames only when tcp_send_head would evaluate\nto true.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4de921ae6f7bb211868be4f7d56e80ac6da676c",
      "tree": "d0d740c43519d0e2b290f1499f82e2c03d6520a6",
      "parents": [
        "17a3be341e55b49e4579634281b86f1eb0bad8e8",
        "ed4b2019a62e2208a8370461dd91ed4de2c9fc8f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:09:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:09:17 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "0f78231bffb868a30e8533aace142213266bb811",
      "tree": "317f65dc6d89e9a89ad83f94fadd780dd1e0ca83",
      "parents": [
        "18974b5b0b5e758d416c550553b143e5c8038281"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 01 13:37:02 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:16 2009 -0500"
      },
      "message": "mac80211: enable spatial multiplexing powersave\n\nEnable spatial multiplexing in mac80211 by telling the\ndriver what to do and, where necessary, sending action\nframes to the AP to update the requested SMPS mode.\n\nAlso includes a trivial implementation for hwsim that\njust logs the requested mode.\n\nFor now, the userspace interface is in debugfs only,\nand let you toggle the requested mode at any time.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eaf85ca7fecb218fc41ff57c1642ca73b097aabb",
      "tree": "ad7965715f0cd67fe8946980ae2d1e9f3ea231a1",
      "parents": [
        "ca99861d5421c91f5a8fd3a77acb4b7be14f119d"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Tue Dec 01 10:18:37 2009 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:15 2009 -0500"
      },
      "message": "wireless: add ieee80211_amsdu_to_8023s\n\nMove the A-MSDU handling code from mac80211 to cfg80211 so that more\ndrivers can use it. The new created function ieee80211_amsdu_to_8023s\nconverts an A-MSDU frame to a list of 802.3 frames.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47846c9b0c10808d9337d2e7d09361f3e0a0a71a",
      "tree": "8e5d0dbf3309b7868fa73a888f9561ffea1580e3",
      "parents": [
        "abe60632f311d515b082b450504ee24006023951"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:52 2009 -0500"
      },
      "message": "mac80211: reduce reliance on netdev\n\nFor bluetooth 3, we will most likely not have\na netdev for a virtual interface (sdata), so\nprepare for that by reducing the reliance on\nhaving a netdev. This patch moves the name\nand address fields into the sdata struct and\nuses them from there all over. Some work is\nneeded to keep them sync\u0027ed, but that\u0027s not\na lot of work and in slow paths anyway.\n\nIn doing so, this also reduces the number of\npointer dereferences in many places, because\nof things like sdata-\u003edev-\u003edev_addr becoming\nsdata-\u003evif.addr.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ed4b2019a62e2208a8370461dd91ed4de2c9fc8f",
      "tree": "2910816b23718e9cebd20be9eae2b6876edd849b",
      "parents": [
        "b74665606962456af7f92b1e448cee30ce70967b",
        "92c6f8d849178582fc527aaf1e51dd37a74767d3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 21 11:54:49 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 21 11:54:49 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "59be2e04e50ac9947e4356c10099f49977f5f74d",
      "tree": "56aa00a4499a1543da8728cb84b10bec5b211280",
      "parents": [
        "e69381b4175ba162229646f6753ff1d87c24d468",
        "503914cf4a4b5dbe3f844e0a92f412ae99fde70e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:33:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:33:18 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (26 commits)\n  net: sh_eth alignment fix for sh7724 using NET_IP_ALIGN V2\n  ixgbe: allow tx of pre-formatted vlan tagged packets\n  ixgbe: Fix 82598 premature copper PHY link indicatation\n  ixgbe: Fix tx_restart_queue/non_eop_desc statistics counters\n  bcm63xx_enet: fix compilation failure after get_stats_count removal\n  packet: dont call sleeping functions while holding rcu_read_lock()\n  tcp: Revert per-route SACK/DSACK/TIMESTAMP changes.\n  ipvs: zero usvc and udest\n  netfilter: fix crashes in bridge netfilter caused by fragment jumps\n  ipv6: reassembly: use seperate reassembly queues for conntrack and local delivery\n  sky2: leave PCI config space writeable\n  sky2: print Optima chip name\n  x25: Update maintainer.\n  ipvs: fix synchronization on connection close\n  netfilter: xtables: document minimal required version\n  drivers/net/bonding/: : use pr_fmt\n  can: CAN_MCP251X should depend on HAS_DMA\n  drivers/net/usb: Correct code taking the size of a pointer\n  drivers/net/cpmac.c: Correct code taking the size of a pointer\n  drivers/net/sfc: Correct code taking the size of a pointer\n  ...\n"
    },
    {
      "commit": "81e839efc22361e3fa7ee36f99fd57c57d0d1871",
      "tree": "eac3550c8773ff0e6ccb91c280b930efc50b0e42",
      "parents": [
        "bb5b7c11263dbbe78253cd05945a6bf8f55add8e",
        "258c889362aa95d0ab534b38ce8c15d3009705b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 21:08:53 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 21:08:53 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "bb5b7c11263dbbe78253cd05945a6bf8f55add8e",
      "tree": "7a639cbd6d6ad968ca22427f2b8697aadb37a907",
      "parents": [
        "166a0fd4c788ec7f10ca8194ec6d526afa12db75"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 20:56:42 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 20:56:42 2009 -0800"
      },
      "message": "tcp: Revert per-route SACK/DSACK/TIMESTAMP changes.\n\nIt creates a regression, triggering badness for SYN_RECV\nsockets, for example:\n\n[19148.022102] Badness at net/ipv4/inet_connection_sock.c:293\n[19148.022570] NIP: c02a0914 LR: c02a0904 CTR: 00000000\n[19148.023035] REGS: eeecbd30 TRAP: 0700   Not tainted  (2.6.32)\n[19148.023496] MSR: 00029032 \u003cEE,ME,CE,IR,DR\u003e  CR: 24002442  XER: 00000000\n[19148.024012] TASK \u003d eee9a820[1756] \u0027privoxy\u0027 THREAD: eeeca000\n\nThis is likely caused by the change in the \u0027estab\u0027 parameter\npassed to tcp_parse_options() when invoked by the functions\nin net/ipv4/tcp_minisocks.c\n\nBut even if that is fixed, the -\u003econn_request() changes made in\nthis patch series is fundamentally wrong.  They try to use the\nlistening socket\u0027s \u0027dst\u0027 to probe the route settings.  The\nlistening socket doesn\u0027t even have a route, and you can\u0027t\nget the right route (the child request one) until much later\nafter we setup all of the state, and it must be done by hand.\n\nThis stuff really isn\u0027t ready, so the best thing to do is a\nfull revert.  This reverts the following commits:\n\nf55017a93f1a74d50244b1254b9a2bd7ac9bbf7d\n022c3f7d82f0f1c68018696f2f027b87b9bb45c2\n1aba721eba1d84a2defce45b950272cee1e6c72a\ncda42ebd67ee5fdf09d7057b5a4584d36fe8a335\n345cda2fd695534be5a4494f1b59da9daed33663\ndc343475ed062e13fc260acccaab91d7d80fd5b2\n05eaade2782fb0c90d3034fd7a7d5a16266182bb\n6a2a2d6bf8581216e08be15fcb563cfd6c430e1e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fa9ff6849bb86c59cc2ea9faadf3cb2d5223497",
      "tree": "42c1cc382a9cfbb2907ab1471418404f874d53f2",
      "parents": [
        "0b5ccb2ee250136dd7385b1c7da28417d0d4d32d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 15 16:59:59 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 15 16:59:59 2009 +0100"
      },
      "message": "netfilter: fix crashes in bridge netfilter caused by fragment jumps\n\nWhen fragments from bridge netfilter are passed to IPv4 or IPv6 conntrack\nand a reassembly queue with the same fragment key already exists from\nreassembling a similar packet received on a different device (f.i. with\nmulticasted fragments), the reassembled packet might continue on a different\ncodepath than where the head fragment originated. This can cause crashes\nin bridge netfilter when a fragment received on a non-bridge device (and\nthus with skb-\u003enf_bridge \u003d\u003d NULL) continues through the bridge netfilter\ncode.\n\nAdd a new reassembly identifier for packets originating from bridge\nnetfilter and use it to put those packets in insolated queues.\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d14805\n\nReported-and-Tested-by: Chong Qiao \u003cqiaochong@loongson.cn\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0b5ccb2ee250136dd7385b1c7da28417d0d4d32d",
      "tree": "b0630141672471d5c800867cd8dbee425308bc73",
      "parents": [
        "9abfe315de96aa5c9878b2f627542bc54901c6e9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 15 16:59:18 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 15 16:59:18 2009 +0100"
      },
      "message": "ipv6: reassembly: use seperate reassembly queues for conntrack and local delivery\n\nCurrently the same reassembly queue might be used for packets reassembled\nby conntrack in different positions in the stack (PREROUTING/LOCAL_OUT),\nas well as local delivery. This can cause \"packet jumps\" when the fragment\ncompleting a reassembled packet is queued from a different position in the\nstack than the previous ones.\n\nAdd a \"user\" identifier to the reassembly queue key to seperate the queues\nof each caller, similar to what we do for IPv4.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d24deb2580823ab0b8425790c6f5d18e2ff749d8",
      "tree": "e19fa93ccf306ea54508492a141721a1e4cc3a30",
      "parents": [
        "b2ec153a637409bd87952d44409905b7d98418b8"
      ],
      "author": {
        "name": "Gertjan van Wingerde",
        "email": "gwingerde@gmail.com",
        "time": "Fri Dec 04 23:46:54 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 14 14:22:31 2009 -0500"
      },
      "message": "mac80211: Add define for TX headroom reserved by mac80211 itself.\n\nAdd a definition of the amount of TX headroom reserved by mac80211 itself\nfor its own purposes. Also add BUILD_BUG_ON to validate the value.\nThis define can then be used by drivers to request additional TX headroom\nin the most efficient manner.\n\nSigned-off-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "501706565b2d4d2d40d0d301d5411ede099b8a6f",
      "tree": "142a18bf1f1e74a09dbfa27540b893ade0fd797d",
      "parents": [
        "e93737b0f0159a61772894943199fd3b6f315641",
        "2fe77b81c77eed92c4c0439f74c8148a295b4a86"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "60c2ffd3d2cf12008747d920ae118df119006003",
      "tree": "7b4e86de5eed6a5377bba5a875b326420fe3503b",
      "parents": [
        "ccdddf500f2b1b8e88ac8e3d4dfc15cce9f73886"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Dec 09 20:58:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 15:07:56 2009 -0800"
      },
      "message": "net: fix compat_sys_recvmmsg parameter type\n\ncompat_sys_recvmmsg has a compat_timespec parameter and not a\ntimespec parameter. This way we also get rid of an odd cast.\n\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "2f7de5710a4d394920405febc2a9937c69e16dda",
      "tree": "8f038451b643f68ab399009e769a74678feb5546",
      "parents": [
        "07f29bc5bbae4e53e982ab956fed7207990a7786"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Mon Dec 07 06:06:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:56:11 2009 -0800"
      },
      "message": "tcp: Stalling connections: Move timeout calculation routine\n\nThis patch moves retransmits_timed_out() from include/net/tcp.h\nto tcp_timer.c, where it is used.\n\nReported-by: Frederic Leroy \u003cfredo@starox.org\u003e\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07f29bc5bbae4e53e982ab956fed7207990a7786",
      "tree": "b44506c37ce4886220439b38ef647c3cd7fbc6ce",
      "parents": [
        "cb19054697e92a793f336380fd72c588521178ff"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Mon Dec 07 06:06:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:56:11 2009 -0800"
      },
      "message": "tcp: Stalling connections: Fix timeout calculation routine\n\nThis patch fixes a problem in the TCP connection timeout calculation.\nCurrently, timeout decisions are made on the basis of the current\ntcp_time_stamp and retrans_stamp, which is usually set at the first\nretransmission.\nHowever, if the retransmission fails in tcp_retransmit_skb(),\nretrans_stamp is not updated and remains zero. This leads to wrong\ndecisions in retransmits_timed_out() if tcp_time_stamp is larger than\nthe specified timeout, which is very likely.\nIn this case, the TCP connection dies after the first attempted\n(and unsuccessful) retransmission.\n\nWith this patch, tcp_skb_cb-\u003ewhen is used instead, when retrans_stamp\nis not available.\n\nThis bug has been introduced together with retransmits_timed_out() in\n2.6.32, as the number of retransmissions has been used for timeout\ndecisions before. The corresponding commit was\n6fa12c85031485dff38ce550c24f10da23b0adaa (Revert Backoff [v3]:\nCalculate TCP\u0027s connection close threshold as a time value.).\n\nThanks to Ilpo Järvinen for code suggestions and Frederic Leroy for\ntesting.\n\nReported-by: Frederic Leroy \u003cfredo@starox.org\u003e\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cdaedae635b17ce23c738ce7d364b442310cdec",
      "tree": "af07cdf6c31cca8d1a094bd104efa65e1e95e270",
      "parents": [
        "9327f7053e3993c125944fdb137a0618319ef2a0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 04 03:47:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:17:51 2009 -0800"
      },
      "message": "tcp: Fix a connect() race with timewait sockets\n\nWhen we find a timewait connection in __inet_hash_connect() and reuse\nit for a new connection request, we have a race window, releasing bind\nlist lock and reacquiring it in __inet_twsk_kill() to remove timewait\nsocket from list.\n\nAnother thread might find the timewait socket we already chose, leading to\nlist corruption and crashes.\n\nFix is to remove timewait socket from bind list before releasing the bind lock.\n\nNote: This problem happens if sysctl_tcp_tw_reuse is set.\n\nReported-by: kapil dakhane \u003ckdakhane@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9327f7053e3993c125944fdb137a0618319ef2a0",
      "tree": "3cee7de049a2468bef930b1832c42bd1b2e69e9a",
      "parents": [
        "74757d49016a8b06ca028196886641d7aeb78de5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 04 03:46:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:17:51 2009 -0800"
      },
      "message": "tcp: Fix a connect() race with timewait sockets\n\nFirst patch changes __inet_hash_nolisten() and __inet6_hash()\nto get a timewait parameter to be able to unhash it from ehash\nat same time the new socket is inserted in hash.\n\nThis makes sure timewait socket wont be found by a concurrent\nwriter in __inet_check_established()\n\nReported-by: kapil dakhane \u003ckdakhane@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "1557d33007f63dd96e5d15f33af389378e5f2e54",
      "tree": "06d05722b2ba5d2a67532f779fa8a88efe3c88f1",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "c656ae95d1c5c8ed5763356263ace2d03087efec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits)\n  security/tomoyo: Remove now unnecessary handling of security_sysctl.\n  security/tomoyo: Add a special case to handle accesses through the internal proc mount.\n  sysctl: Drop \u0026 in front of every proc_handler.\n  sysctl: Remove CTL_NONE and CTL_UNNUMBERED\n  sysctl: kill dead ctl_handler definitions.\n  sysctl: Remove the last of the generic binary sysctl support\n  sysctl net: Remove unused binary sysctl code\n  sysctl security/tomoyo: Don\u0027t look at ctl_name\n  sysctl arm: Remove binary sysctl support\n  sysctl x86: Remove dead binary sysctl support\n  sysctl sh: Remove dead binary sysctl support\n  sysctl powerpc: Remove dead binary sysctl support\n  sysctl ia64: Remove dead binary sysctl support\n  sysctl s390: Remove dead sysctl binary support\n  sysctl frv: Remove dead binary sysctl support\n  sysctl mips/lasat: Remove dead binary sysctl support\n  sysctl drivers: Remove dead binary sysctl support\n  sysctl crypto: Remove dead binary sysctl support\n  sysctl security/keys: Remove dead binary sysctl support\n  sysctl kernel: Remove binary sysctl logic\n  ...\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "8f56874bd7e8bee73ed6a1cf80dcec2753616262",
      "tree": "aebd15dea662ef5efd89402b8fd92fec540a98eb",
      "parents": [
        "47e1c323069bcef0acb8a2b48921688573f5ca63",
        "159bcfeb9123c91f0dc885a42b6387a98192f896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "13475a30b66cdb9250a34052c19ac98847373030",
      "tree": "5f28f671092c2948726fdde92e20c3371cfceb77",
      "parents": [
        "ff33a6e2ab97f4cde484cdf1a41778af6d6b7cff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 02 22:31:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 16:17:43 2009 -0800"
      },
      "message": "tcp: connect() race with timewait reuse\n\nIts currently possible that several threads issuing a connect() find\nthe same timewait socket and try to reuse it, leading to list\ncorruptions.\n\nCondition for bug is that these threads bound their socket on same\naddress/port of to-be-find timewait socket, and connected to same\ntarget. (SO_REUSEADDR needed)\n\nTo fix this problem, we could unhash timewait socket while holding\nehash lock, to make sure lookups/changes will be serialized. Only\nfirst thread finds the timewait socket, other ones find the\nestablished socket and return an EADDRNOTAVAIL error.\n\nThis second version takes into account Evgeniy\u0027s review and makes sure\ninet_twsk_put() is called outside of locked sections.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7fca0ccecd3f5a111e08df8439f0b884099ad59",
      "tree": "44b360a8f367e2414daf3ad92622ab2544ac0fbd",
      "parents": [
        "424eff975192553a9ea8bfd51bf65039ffb356ef",
        "2861453b1b5e022fd5e1294b8fbf39254440b661"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:51:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:51:02 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "b099ce2602d806deb41caaa578731848995cdb2a",
      "tree": "7541d0d59c73e6b6274d420b8a3ec35d85ca5f2d",
      "parents": [
        "575f4cd5a5b639457747434dbe18d175fa767db4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:23:47 2009 -0800"
      },
      "message": "net: Batch inet_twsk_purge\n\nThis function walks the whole hashtable so there is no point in\npassing it a network namespace.  Instead I purge all timewait\nsockets from dead network namespaces that I find.  If the namespace\nis one of the once I am trying to purge I am guaranteed no new timewait\nsockets can be formed so this will get them all.  If the namespace\nis one I am not acting for it might form a few more but I will\ncall inet_twsk_purge again and  shortly to get rid of them.  In\nany even if the network namespace is dead timewait sockets are\nuseless.\n\nMove the calls of inet_twsk_purge into batch_exit routines so\nthat if I am killing a bunch of namespaces at once I will just\ncall inet_twsk_purge once and save a lot of redundant unnecessary\nwork.\n\nMy simple 4k network namespace exit test the cleanup time dropped from\nroughly 8.2s to 1.6s.  While the time spent running inet_twsk_purge fell\nto about 2ms.  1ms for ipv4 and 1ms for ipv6.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9c5158ac26affd5d8ce006521bdfb7148090e18",
      "tree": "a8d43fb446a1908175923f4109c977dcb84e4f91",
      "parents": [
        "3a765edadb28cc736d185f67d1ba6bedcc85f4b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "message": "net: Allow fib_rule_unregister to batch\n\nRefactor the code so fib_rules_register always takes a template instead\nof the actual fib_rules_ops structure that will be used.  This is\nrequired for network namespace support so 2 out of the 3 callers already\ndo this, it allows the error handling to be made common, and it allows\nfib_rules_unregister to free the template for hte caller.\n\nModify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu\nto allw multiple namespaces to be cleaned up in the same rcu grace\nperiod.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d79d792ef9f99cca463b6619a93e860d1c833a6e",
      "tree": "06d8a085701546be48ac104fd4f2413a6371180c",
      "parents": [
        "04dc7f6be3a7b308f8545bb45772c9fb75f71aca"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:03 2009 -0800"
      },
      "message": "net: Allow xfrm_user_net_exit to batch efficiently.\n\nxfrm.nlsk is provided by the xfrm_user module and is access via rcu from\nother parts of the xfrm code.  Add xfrm.nlsk_stash a copy of xfrm.nlsk that\nwill never be set to NULL.  This allows the synchronize_net and\nnetlink_kernel_release to be deferred until a whole batch of xfrm.nlsk sockets\nhave been set to NULL.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72ad937abd0a43b7cf2c557ba1f2ec75e608c516",
      "tree": "ac81af750df170a46ed001fb5647b83dc20f8422",
      "parents": [
        "8153a10c08f1312af563bb92532002e46d3f504a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:01 2009 -0800"
      },
      "message": "net: Add support for batching network namespace cleanups\n\n- Add exit_list to struct net to support building lists of network\n  namespaces to cleanup.\n\n- Add exit_batch to pernet_operations to allow running operations only\n  once during a network namespace exit.  Instead of once per network\n  namespace.\n\n- Factor opt ops_exit_list and ops_exit_free so the logic with cleanup\n  up a network namespace does not need to be duplicated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b038a5e60c7812f19818e8a5df96d029e49c38f",
      "tree": "eea09368802178a64429beb656a03a2cc71e2f42",
      "parents": [
        "491deb24bf5bf7124141287aaf02c3219783ceab"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:36 2009 -0800"
      },
      "message": "net 03/05: fib_rules: add oif classification\n\ncommit 68144d350f4f6c348659c825cde6a82b34c27a91\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:05:25 2009 +0100\n\n    net: fib_rules: add oif classification\n\n    Support routing table lookup based on the flow\u0027s oif. This is useful to\n    classify packets originating from sockets bound to interfaces differently.\n\n    The route cache already includes the oif and needs no changes.\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "491deb24bf5bf7124141287aaf02c3219783ceab",
      "tree": "f0465107e0994c89a1f8afa0091d9e7dd19f52d8",
      "parents": [
        "d285834001df372f81045bb41092e54943e93c84"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:36 2009 -0800"
      },
      "message": "net 02/05: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME\n\ncommit 229e77eec406ad68662f18e49fda8b5d366768c5\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:05:23 2009 +0100\n\n    net: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME\n\n    The next patch will add oif classification, rename interface related members\n    and attributes to reflect that they\u0027re used for iif classification.\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d285834001df372f81045bb41092e54943e93c84",
      "tree": "171c1e6c6a90874cab7cd3ed592e3688ae1cfb79",
      "parents": [
        "ff236f7af82fae0818d7cbb5a0717d3218d00bdd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:34 2009 -0800"
      },
      "message": "net 01/05: fib_rules: rearrange struct fib_rule\n\ncommit b8952893d5d86f69c4e499d191b98c6658f64b0f\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:05:22 2009 +0100\n\n    net: fib_rules: rearrange struct fib_rule\n\n    The ifname member is only used to resolve interface names and is not needed\n    during rule lookups. The target and ctarget members however are used during\n    rule lookups and are currently located in a second cacheline.\n\n    Move ifname further to the end to make sure both target and ctarget are\n    located in the same cacheline as other members used during rule lookups.\n\n    The layout on 64 bit changes from:\n\n    struct fib_rule {\n    \t...\n            u32                        table;                /*    56     4 */\n            u8                         action;               /*    60     1 */\n\n            /* XXX 3 bytes hole, try to pack */\n\n            /* --- cacheline 1 boundary (64 bytes) --- */\n            u32                        target;               /*    64     4 */\n\n            /* XXX 4 bytes hole, try to pack */\n\n            struct fib_rule *          ctarget;              /*    72     8 */\n            struct rcu_head            rcu;                  /*    80    16 */\n            struct net *               fr_net;               /*    96     8 */\n    };\n\n    to:\n\n    struct fib_rule {\n    \t...\n            u32                        table;                /*    40     4 */\n            u8                         action;               /*    44     1 */\n\n            /* XXX 3 bytes hole, try to pack */\n\n            u32                        target;               /*    48     4 */\n\n            /* XXX 4 bytes hole, try to pack */\n\n            struct fib_rule *          ctarget;              /*    56     8 */\n            /* --- cacheline 1 boundary (64 bytes) --- */\n            char                       ifname[16];           /*    64    16 */\n            struct rcu_head            rcu;                  /*    80    16 */\n            struct net *               fr_net;               /*    96     8 */\n\n    };\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ec10d9720ef78cd81d8bcc30a3238665744569f",
      "tree": "a4be8b2201f9e7acac689443d10cb30a3287972f",
      "parents": [
        "9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:39 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:24 2009 +0100"
      },
      "message": "Bluetooth: Implement RejActioned flag\n\nRejActioned is used to prevent retransmission when a entity is on the\nWAIT_F state, i.e., waiting for a frame with F-bit set due local busy\ncondition or a expired retransmission timer. (When these two events raise\nthey send a frame with the Poll bit set and enters in the WAIT_F state to\nwait for a frame with the Final bit set.)\nThe local entity doesn\u0027t send I-frames(the data frames) until the receipt\nof a frame with F-bit set. When that happens it also set RejActioned to false.\nRejActioned is a mandatory feature of ERTM spec.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d",
      "tree": "8e01df10e3e640c0f76b4c3f380db351543900bb",
      "parents": [
        "889a3ca466018ab68363c3168993793bc2d984f1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:38 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:23 2009 +0100"
      },
      "message": "Bluetooth: Fix sending ReqSeq on I-frames\n\nAs specified by ERTM spec an ERTM channel can acknowledge received\nI-frames(the data frames) by sending an I-frame with the proper ReqSeq\nvalue (i.e. ReqSeq is set to BufferSeq).  Until now we aren\u0027t setting the\nReqSeq value on I-frame control bits. That way we can save sending\nS-frames(Supervise frames) only to acknowledge receipt of I-frames. It\nis very helpful to the full-duplex channel.\nReqSeq is the packet sequence number sent in an acknowledgement frame to\nacknowledge receipt of frames up to (ReqSeq - 1).\nBufferSeq controls the receiver buffer, it is used to delay\nacknowledgement of new frames to not cause buffer overflow. BufferSeq\nvalue is not increased until frames are pulled by reassembly function.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c78ae283145d3a8799b2fb01650166a66af3bff8",
      "tree": "1da35006397e33e1ff9f3941a19a6cb2aa585c75",
      "parents": [
        "76bca88012e1d27de794f32cc551d6314d38b6d9"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Nov 18 01:02:54 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:21 2009 +0100"
      },
      "message": "Bluetooth: Unobfuscate tasklet_schedule usage\n\nThe tasklet schedule function helpers are just an obfuscation. So remove\nthem and call the schedule functions directly.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "76bca88012e1d27de794f32cc551d6314d38b6d9",
      "tree": "b2c78fd6f9946ea67abd5b4d0fe5a66061990fa8",
      "parents": [
        "7e21addcd0ad87696c17409399e56e874931da57"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Nov 18 00:40:39 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:20 2009 +0100"
      },
      "message": "Bluetooth: Turn hci_recv_frame into an exported function\n\nFor future simplification it is important that the hci_recv_frame\nfunction is no longer an inline function. So move it into the module\nitself and export it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8818a9d884e3a589899be3303958fff182e98e55",
      "tree": "3ad83fc6fe8b4c1633437f5c5415ff34c566ce8b",
      "parents": [
        "e6b09ccada2e4ab8ee25a7c3ac72fcd1bc7101c4"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Dec 02 22:24:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:24:02 2009 -0800"
      },
      "message": "tcp: clear hints to avoid a stale one (nfs only affected?)\n\nEric Dumazet mentioned in a context of another problem:\n\n\"Well, it seems NFS reuses its socket, so maybe we miss some\ncleaning as spotted in this old patch\"\n\nI\u0027ve not check under which conditions that actually happens but\nif true, we need to make sure we don\u0027t accidently leave stale\nhints behind when the write queue had to be purged (whether reusing\nwith NFS can actually happen if purging took place is something I\u0027m\nnot sure of).\n\n...At least it compiles.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4957faade11b3a278c3b3cade3411ddc20afa791",
      "tree": "57f994bab69353baf5f554b89cf9107c3372ecce",
      "parents": [
        "bd0388ae77075026d6a9f9eb6026dfd1d52ce0e9"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:25:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:26 2009 -0800"
      },
      "message": "TCPCT part 1g: Responder Cookie \u003d\u003e Initiator\n\nParse incoming TCP_COOKIE option(s).\n\nCalculate \u003cSYN,ACK\u003e TCP_COOKIE option.\n\nSend optional \u003cSYN,ACK\u003e data.\n\nThis is a significantly revised implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nRequires:\n   TCPCT part 1a: add request_values parameter for sending SYNACK\n   TCPCT part 1b: generate Responder Cookie secret\n   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n   TCPCT part 1d: define TCP cookie option, extend existing struct\u0027s\n   TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS\n   TCPCT part 1f: Initiator Cookie \u003d\u003e Responder\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "435cf559f02ea3a3159eb316f97dc88bdebe9432",
      "tree": "0b2a7e9110c46b193176b0a59fe5689eae7c18f3",
      "parents": [
        "519855c508b9a17878c0977a3cdefc09b59b30df"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:17:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:25 2009 -0800"
      },
      "message": "TCPCT part 1d: define TCP cookie option, extend existing struct\u0027s\n\nData structures are carefully composed to require minimal additions.\nFor example, the struct tcp_options_received cookie_plus variable fits\nbetween existing 16-bit and 8-bit variables, requiring no additional\nspace (taking alignment into consideration).  There are no additions to\ntcp_request_sock, and only 1 pointer in tcp_sock.\n\nThis is a significantly revised implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nThe principle difference is using a TCP option to carry the cookie nonce,\ninstead of a user configured offset in the data.  This is more flexible and\nless subject to user configuration error.  Such a cookie option has been\nsuggested for many years, and is also useful without SYN data, allowing\nseveral related concepts to use the same extension option.\n\n    \"Re: SYN floods (was: does history repeat itself?)\", September 9, 1996.\n    http://www.merit.net/mail.archives/nanog/1996-09/msg00235.html\n\n    \"Re: what a new TCP header might look like\", May 12, 1998.\n    ftp://ftp.isi.edu/end2end/end2end-interest-1998.mail\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nRequires:\n   TCPCT part 1a: add request_values parameter for sending SYNACK\n   TCPCT part 1b: generate Responder Cookie secret\n   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "519855c508b9a17878c0977a3cdefc09b59b30df",
      "tree": "df6840c5c1560a84cb777b1855ec22c90c3df8d9",
      "parents": [
        "da5c78c82629a167794436e4306b4cf1faddea90"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:14:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:24 2009 -0800"
      },
      "message": "TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n\nDefine sysctl (tcp_cookie_size) to turn on and off the cookie option\ndefault globally, instead of a compiled configuration option.\n\nDefine per socket option (TCP_COOKIE_TRANSACTIONS) for setting constant\ndata values, retrieving variable cookie values, and other facilities.\n\nMove inline tcp_clear_options() unchanged from net/tcp.h to linux/tcp.h,\nnear its corresponding struct tcp_options_received (prior to changes).\n\nThis is a straightforward re-implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nRequires:\n   net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da5c78c82629a167794436e4306b4cf1faddea90",
      "tree": "c933fdc0583b592c01885890ebf770840555d28b",
      "parents": [
        "e6b4d11367519bc71729c09d05a126b133c755be"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:12:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:23 2009 -0800"
      },
      "message": "TCPCT part 1b: generate Responder Cookie secret\n\nDefine (missing) hash message size for SHA1.\n\nDefine hashing size constants specific to TCP cookies.\n\nAdd new function: tcp_cookie_generator().\n\nMaintain global secret values for tcp_cookie_generator().\n\nThis is a significantly revised implementation of earlier (15-year-old)\nPhoturis [RFC-2522] code for the KA9Q cooperative multitasking platform.\n\nLinux RCU technique appears to be well-suited to this application, though\nneither of the circular queue items are freed.\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6b4d11367519bc71729c09d05a126b133c755be",
      "tree": "b5d99b115a6ca9564d367b243a826d8b09da237e",
      "parents": [
        "e00484023ebe94dce03fdd1270edf3e191c2bc79"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:07:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:23 2009 -0800"
      },
      "message": "TCPCT part 1a: add request_values parameter for sending SYNACK\n\nAdd optional function parameters associated with sending SYNACK.\nThese parameters are not needed after sending SYNACK, and are not\nused for retransmission.  Avoids extending struct tcp_request_sock,\nand avoids allocating kernel memory.\n\nAlso affects DCCP as it uses common struct request_sock_ops,\nbut this parameter is currently reserved for future use.\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff9c38bba37937adb909cceb2a6521f2e92e17c6",
      "tree": "93bd6152d9fa28348be99ef1c788040cc7b7a94d",
      "parents": [
        "65c0cfafce9575319fb6f70080fbe226e5617e3b",
        "b2722b1c3a893ec6021508da15b32282ec79f4da"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/ht.c\n"
    },
    {
      "commit": "65c0cfafce9575319fb6f70080fbe226e5617e3b",
      "tree": "e1e0a276860f74ee0fe6747c8455a8ec0e7c2d03",
      "parents": [
        "671011720baa222b6de667cd688aed4dc8908924"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:16:00 2009 -0800"
      },
      "message": "net: remove [un]register_pernet_gen_... and update the docs.\n\nNo that all of the callers have been updated to set fields in\nstruct pernet_operations, and simplified to let the network\nnamespace core handle the allocation and freeing of the storage\nfor them, remove the surpurpflous methods and update the docs\nto the new style.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f875bae065334907796da12523f9df85c89f5712",
      "tree": "6f14819d128e3fa7b4cc8c274c6eff5326622fc8",
      "parents": [
        "2b035b39970740722598f7a9d548835f9bdd730f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 22:25:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:51 2009 -0800"
      },
      "message": "net: Automatically allocate per namespace data.\n\nTo get the full benefit of batched network namespace cleanup netowrk\ndevice deletion needs to be performed by the generic code.  When\nusing register_pernet_gen_device and freeing the data in exit_net\nit is impossible to delay allocation until after exit_net has called\nas the device uninit methods are no longer safe.\n\nTo correct this, and to simplify working with per network namespace data\nI have moved allocation and deletion of per network namespace data into\nthe network namespace core.  The core now frees the data only after\nall of the network namespace exit routines have run.\n\nNow it is only required to set the new fields .id and .size\nin the pernet_operations structure if you want network namespace\ndata to be managed for you automatically.\n\nThis makes the current register_pernet_gen_device and\nregister_pernet_gen_subsys routines unnecessary.  For the moment\nI have left them as compatibility wrappers in net_namespace.h\nThey will be removed once all of the users have been updated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b035b39970740722598f7a9d548835f9bdd730f",
      "tree": "a240b595c380b50f783fe8b3d3d4e9cb612cbb30",
      "parents": [
        "dcbccbd4f1f6ad0f0e169d4b2e816e42bde06f82"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "eric@conroxe.ebiederm.org",
        "time": "Sun Nov 29 22:25:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:51 2009 -0800"
      },
      "message": "net: Batch network namespace destruction.\n\nIt is fairly common to kill several network namespaces at once.  Either\nbecause they are nested one inside the other or because they are cooperating\nin multiple machine networking experiments.  As the network stack control logic\ndoes not parallelize easily batch up multiple network namespaces existing\ntogether.\n\nTo get the full benefit of batching the virtual network devices to be\nremoved must be all removed in one batch.  For that purpose I have added\na loop after the last network device operations have run that batches\nup all remaining network devices and deletes them.\n\nAn extra benefit is that the reorganization slightly shrinks the size\nof the per network namespace data structures replaceing a work_struct\nwith a list_head.\n\nIn a trivial test with 4K namespaces this change reduced the cost of\na destroying 4K namespaces from 7+ minutes (at 12% cpu) to 44 seconds\n(at 60% cpu).  The bulk of that 44s was spent in inet_twsk_purge.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5ee155136b4a8f4ab0e4c9c064b661da475e298",
      "tree": "10c113756ff0dcc860735d96ed141701bffa3476",
      "parents": [
        "5a5b6f6f62ac684a5856121d8cffd3c3253dc890"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:45:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:50 2009 -0800"
      },
      "message": "net: NETDEV_UNREGISTER_PERNET -\u003e NETDEV_UNREGISTER_BATCH\n\nThe motivation for an additional notifier in batched netdevice\nnotification (rt_do_flush) only needs to be called once per batch not\nonce per namespace.\n\nFor further batching improvements I need a guarantee that the\nnetdevices are unregistered in order allowing me to unregister an all\nof the network devices in a network namespace at the same time with\nthe guarantee that the loopback device is really and truly\nunregistered last.\n\nAdditionally it appears that we moved the route cache flush after\nthe final synchronize_net, which seems wrong and there was no\nexplanation.  So I have restored the original location of the final\nsynchronize_net.\n\nCc: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29e553631b2a0d4eebd23db630572e1027a9967a",
      "tree": "a891e02cc245ac9c14dc47528120e262d0298698",
      "parents": [
        "ed9fd93e9a0c327e5d02313ba6e233c8e76da118",
        "827d42c9ac91ddd728e4f4a31fefb906ef2ceff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 16:47:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 16:47:16 2009 -0800"
      },
      "message": "Merge branch \u0027security\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\n* \u0027security\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6:\n  mac80211: fix spurious delBA handling\n  mac80211: fix two remote exploits\n"
    },
    {
      "commit": "827d42c9ac91ddd728e4f4a31fefb906ef2ceff7",
      "tree": "e29371d79d63d0a3ec2cb6d010b71147853fc771",
      "parents": [
        "4253119acf412fd686ef4bd8749b5a4d70ea3a51"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Nov 22 12:28:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 30 13:55:51 2009 -0500"
      },
      "message": "mac80211: fix spurious delBA handling\n\nLennert Buytenhek noticed that delBA handling in mac80211\nwas broken and has remotely triggerable problems, some of\nwhich are due to some code shuffling I did that ended up\nchanging the order in which things were done -- this was\n\n  commit d75636ef9c1af224f1097941879d5a8db7cd04e5\n  Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n  Date:   Tue Feb 10 21:25:53 2009 +0100\n\n    mac80211: RX aggregation: clean up stop session\n\nand other parts were already present in the original\n\n  commit d92684e66091c0f0101819619b315b4bb8b5bcc5\n  Author: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\n  Date:   Mon Jan 28 14:07:22 2008 +0200\n\n      mac80211: A-MPDU Tx add delBA from recipient support\n\nThe first problem is that I moved a BUG_ON before various\nchecks -- thereby making it possible to hit. As the comment\nindicates, the BUG_ON can be removed since the ampdu_action\ncallback must already exist when the state is !\u003d IDLE.\n\nThe second problem isn\u0027t easily exploitable but there\u0027s a\nrace condition due to unconditionally setting the state to\nOPERATIONAL when a delBA frame is received, even when no\naggregation session was ever initiated. All the drivers\naccept stopping the session even then, but that opens a\nrace window where crashes could happen before the driver\naccepts it. Right now, a WARN_ON may happen with non-HT\ndrivers, while the race opens only for HT drivers.\n\nFor this case, there are two things necessary to fix it:\n 1) don\u0027t process spurious delBA frames, and be more careful\n    about the session state; don\u0027t drop the lock\n\n 2) HT drivers need to be prepared to handle a session stop\n    even before the session was really started -- this is\n    true for all drivers (that support aggregation) but\n    iwlwifi which can be fixed easily. The other HT drivers\n    (ath9k and ar9170) are behaving properly already.\n\nReported-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9b963e5d0e01461099a40117b05480f24b63381f",
      "tree": "4756d554e37bf4ab7202f2c564cbe629af98b576",
      "parents": [
        "3b8626ba01a8a745a3fdf22dd347edd708b0af13",
        "5fdd4baef6195a1f2960e901c8877e2105f832ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:57:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:57:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/ieee802154/fakehard.c\n\tdrivers/net/e1000e/ich8lan.c\n\tdrivers/net/e1000e/phy.c\n\tdrivers/net/netxen/netxen_nic_init.c\n\tdrivers/net/wireless/ath/ath9k/main.c\n"
    },
    {
      "commit": "2f5517aefcfbdd7fdf0f03b13d292a10d445887f",
      "tree": "dfceca6e5ce5a6de91f33f1d0f20e50fd55361ed",
      "parents": [
        "9f950f72e57fe4bf9b16ace67e4cc5ffcee79d00"
      ],
      "author": {
        "name": "andrew hendry",
        "email": "andrew.hendry@gmail.com",
        "time": "Tue Nov 24 15:15:26 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:24:59 2009 -0800"
      },
      "message": "X25: Move SYSCTL ifdefs into header\n\nMoves the CONFIG_SYSCTL ifdefs in x25_init into header.\n\nSigned-off-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5656b6ca19c602a7074effae360e5a4dcfdc8170",
      "tree": "13eb8138999a3c6a8e6f92fb98b0cc54b7240c6a",
      "parents": [
        "c1ac403bfa240617da2bce861ea5c3a907a65612",
        "4814326b59db0cfd18ac652626d955ad3f57fb0f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:16:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:16:22 2009 -0800"
      },
      "message": "Merge branch \u0027net-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev\n"
    },
    {
      "commit": "5fdd4baef6195a1f2960e901c8877e2105f832ca",
      "tree": "198a3f2df2bea3c5239c95957e21f3680908ddf6",
      "parents": [
        "3e9848403ad59c53b31facb30b43ca80135ae0b9"
      ],
      "author": {
        "name": "Andrei Pelinescu-Onciul",
        "email": "andrei@iptel.org",
        "time": "Sun Nov 29 00:14:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:14:02 2009 -0800"
      },
      "message": "sctp: on T3_RTX retransmit all the in-flight chunks\n\nWhen retransmitting due to T3 timeout, retransmit all the\nin-flight chunks for the corresponding  transport/path, including\nchunks sent less then 1 rto ago.\nThis is the correct behaviour according to rfc4960 section 6.3.3\nE3 and\n\"Note: Any DATA chunks that were sent to the address for which the\n T3-rtx timer expired but did not fit in one MTU (rule E3 above)\n should be marked for retransmission and sent as soon as cwnd\n allows (normally, when a SACK arrives). \".\n\nThis fixes problems when more then one path is present and the T3\nretransmission of the first chunk that timeouts stops the T3 timer\nfor the initial active path, leaving all the other in-flight\nchunks waiting forever or until a new chunk is transmitted on the\nsame path and timeouts (and this will happen only if the cwnd\nallows sending new chunks, but since cwnd was dropped to MTU by\nthe timeout \u003d\u003e it will wait until the first heartbeat).\n\nExample: 10 packets in flight, sent at 0.1 s intervals on the\nprimary path. The primary path is down and the first packet\ntimeouts. The first packet is retransmitted on another path, the\nT3 timer for the primary path is stopped and cwnd is set to MTU.\nAll the other 9 in-flight packets will not be retransmitted\n(unless more new packets are sent on the primary path which depend\non cwnd allowing it, and even in this case the 9 packets will be\nretransmitted only after a new packet timeouts which even in the\nbest case would be more then RTO).\n\nThis commit reverts d0ce92910bc04e107b2f3f2048f07e94f570035d and\nalso removes the now unused transport-\u003elast_rto, introduced in\n b6157d8e03e1e780660a328f7183bcbfa4a93a19.\n\np.s  The problem is not only when multiple paths are there.  It\ncan happen in a single homed environment.  If the application\nstops sending data, it possible to have a hung association.\n\nSigned-off-by: Andrei Pelinescu-Onciul \u003candrei@iptel.org\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67fbb16be69d138a3b6645ec5395b487cb915c58",
      "tree": "8dde9e1c42db515a5703e3bc142279cf2280c9ae",
      "parents": [
        "a830df0714117574fd0d5fe98477059b3e9fd5bf"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Tue Nov 24 23:59:15 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Sat Nov 28 15:05:05 2009 -0500"
      },
      "message": "nl80211: PMKSA caching support\n\nThis is an interface to set, delete and flush PMKIDs through nl80211.\nMain users would be fullmac devices which firmwares are capable of\ngenerating the RSN IEs for the re-association requests, e.g. iwmc3200wifi.\n\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "8c0c709eea5cbab97fb464cd68b06f24acc58ee1"
}
