)]}'
{
  "log": [
    {
      "commit": "6c0bce37ffc8f000a516fadf6dee84579c4c8f9b",
      "tree": "273af34d6f777b1ecb0fce7b2685e868064e6cf9",
      "parents": [
        "e243455d345ef62751723671bc2605a2f6032ceb",
        "a1eb5fe319beb9e181aa52c8adf75ad9aab56a89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:05:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:05:11 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "2baf8a2daab65cdd3f20bfeb4676a2f6aff7c3bf",
      "tree": "957eb111fad4ce334ff8d49861a08d1fcf14e64a",
      "parents": [
        "f757fec4b0d45dfcb52f9a914a12225a6a0a3e05"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Fri Nov 21 16:34:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 16:34:18 2008 -0800"
      },
      "message": "netdevice hdlc: Convert directly reference of netdev-\u003epriv\n\nFor killing directly reference of netdev-\u003epriv, use netdev-\u003eml_priv to replace it.\nBecause the private pvc data comes from add_pvc() and can\u0027t be allocated in\nalloc_netdev().\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nAcked-by: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f757fec4b0d45dfcb52f9a914a12225a6a0a3e05",
      "tree": "d8fbf1095f723f8ad19014910a92a44ff2058c16",
      "parents": [
        "98aa9c80f1fee01e98dfdc484ab7316af45f8f17"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 21 15:49:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 15:49:19 2008 -0800"
      },
      "message": "net: use net_eq() in INET_MATCH and INET_TW_MATCH\n\nWe can avoid some useless instructions if !CONFIG_NET_NS\n\nBecause of RCU, we use INET_MATCH or INET_TW_MATCH twice for the found\nsocket, so thats six instructions less per incoming TCP packet.\n\nYet another tbench speedup :)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1eb5fe319beb9e181aa52c8adf75ad9aab56a89",
      "tree": "779aa91d24bd658b0e0e801462c49826c94f1cc7",
      "parents": [
        "3461fc12a423c09169c6bb350319808ca4ec4b86"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "roszenrami@gmail.com",
        "time": "Wed Nov 19 09:37:43 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:42:55 2008 -0500"
      },
      "message": "wireless: missing include in lib80211.h\n\nThis patch adds #include \u003clinux/timer.h\u003e in lib80211.h to avoid\nthese compilation erros.\n\n\u003e In file included from /work/src/wireless-testing/net/wireless/lib80211.c:24:\n\u003e /work/src/wireless-testing/include/net/lib80211.h:113: error: field\n\u003e \u0027crypt_deinit_timer\u0027 has incomplete type\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c: In function\n\u003e \u0027lib80211_crypt_info_init\u0027:\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c:83: error: implicit\n\u003e declaration of function \u0027setup_timer\u0027\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c: In function\n\u003e \u0027lib80211_crypt_info_free\u0027:\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c:95: error: implicit\n\u003e declaration of function \u0027del_timer_sync\u0027\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c: In function\n\u003e \u0027lib80211_crypt_deinit_handler\u0027:\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c:157: error:\n\u003e implicit declaration of function \u0027add_timer\u0027\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c: In function\n\u003e \u0027lib80211_crypt_delayed_deinit\u0027:\n\u003e /work/src/wireless-testing/net/wireless/lib80211.c:182: error:\n\u003e implicit declaration of function \u0027timer_pending\u0027\n\u003e make[3]: *** [net/wireless/lib80211.o] Error 1\n\u003e make[2]: *** [net/wireless] Error 2\n\u003e make[1]: *** [net] Error 2\n\u003e make: *** [sub-make] Error 2\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "627271018df75c8861b9e75b39d5995842e6ec95",
      "tree": "9f77eecc9fa2093f0b114f00ee6356c1ececdb47",
      "parents": [
        "beb2a7f331361bfe81e71acdb0739eae570475a2"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 12 10:01:41 2008 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:18 2008 -0500"
      },
      "message": "mac80211: add explicit padding in struct ieee80211_tx_info\n\nOtherwise, the BUILD_BUG_ON calls in ieee80211_tx_info_clear_status can\nfail on some architectures.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2ba4b32ecf748d5f45f298fc9677fa46d1dd9aff",
      "tree": "ebdf68be060014d9f5c799cf1cb54462bc896140",
      "parents": [
        "274bfb8dc5ffa16cb073801bebe76ab7f4e2e73d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 11 16:00:06 2008 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:17 2008 -0500"
      },
      "message": "lib80211: consolidate crypt init routines\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "274bfb8dc5ffa16cb073801bebe76ab7f4e2e73d",
      "tree": "04cd3f6a062496911b56737daa6a0858b769ccd6",
      "parents": [
        "dfe1bafdbac1c7b48b636fb7ace799e78170e0d6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 29 11:35:05 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:17 2008 -0500"
      },
      "message": "lib80211: absorb crypto bits from net/ieee80211\n\nThese bits are shared already between ipw2x00 and hostap, and could\nprobably be shared both more cleanly and with other drivers.  This\ncommit simply relocates the code to lib80211 and adjusts the drivers\nappropriately.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0ed94eaaed618634f68197161203aac9f849471e",
      "tree": "daa650a6f9272f21c2dd5f3e6ed33fbd1a2e639c",
      "parents": [
        "e4e58cf8cc646d93de852f32f972448a95387c60"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Nov 07 19:50:42 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:08:15 2008 -0500"
      },
      "message": "mac80211: remove more excess kernel-doc\n\nDelete kernel-doc struct descriptions for fields that don\u0027t exist:\n\nWarning(include/net/mac80211.h:1263): Excess struct/union/enum/typedef member \u0027conf_ht\u0027 description in \u0027ieee80211_ops\u0027\nWarning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member \u0027addr\u0027 description in \u0027sta_info\u0027\nWarning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member \u0027aid\u0027 description in \u0027sta_info\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\ncc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\ncc: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4821277f36e008b531728e359fbbedb229117f4b",
      "tree": "7e73197e8f5ae76133c84f8c6cd0bab3d97ad5f8",
      "parents": [
        "8b0162a3dc5c30e862b7a73da29e32de3170f5e4"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Nov 03 21:05:01 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 21 11:06:05 2008 -0500"
      },
      "message": "mac80211: fix BUILD_BUG_ON() caused by misalignment on arm\n\nOn ARM alignment is done slightly different from other architectures.\nstruct ieee80211_tx_rate is aligned to word size, even though it only has 3\nsingle-byte members, which triggers the BUILD_BUG_ON in\nieee80211_tx_info_clear_status\n\nThis patch marks the struct ieee80211_tx_rate as packed, so that ARM\nbehaves like the other architectures.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "859ee3c43812051e21816c6d6d4cc04fb7ce9b2e",
      "tree": "ef3c3717038b5d4600065550f422fd8abf72de35",
      "parents": [
        "0eb3aa9bab20217fb42244ccdcb5bf8a002f504c"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:10:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:10:23 2008 -0800"
      },
      "message": "DCB: Add support for DCB BCN\n\nAdds an interface to configure the Backward Congestion Notification\n(BCN) feature.  In a BCN capabale network, congestion notifications\nfrom congested points out in the network can cause the end station\nlimit the rate of a given traffic flow.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eb3aa9bab20217fb42244ccdcb5bf8a002f504c",
      "tree": "b7d5a846b674a4f26ce4c1aa3b90f72fe9ce83d0",
      "parents": [
        "33dbabc4a7f7bd72313c73a3c199f31f3900336f"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:09:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:09:23 2008 -0800"
      },
      "message": "DCB: Add interface to query the state of PFC feature.\n\nAdds a netlink interface for Data Center Bridging (DCB) to get and set\nthe enable state of the Priority Flow Control (PFC) feature.\nPrimarily, this is a way to turn off PFC in the driver while DCB\nremains enabled.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33dbabc4a7f7bd72313c73a3c199f31f3900336f",
      "tree": "f56e24fec9369ca1d1ef12eb18e4000a09fb5c3e",
      "parents": [
        "46132188bf72e22ef097f16ed5c969ee8cea1e8b"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:08:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:08:19 2008 -0800"
      },
      "message": "DCB: Add interface to query # of TCs supported by device\n\nAdds interface for Data Center Bridging (DCB) to query (and set if\nsupported) the number of traffic classes currently supported by the\ndevice for the two (DCB) features: priority groups (PG) and priority\nflow control (PFC).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46132188bf72e22ef097f16ed5c969ee8cea1e8b",
      "tree": "e776ed8011b8314ff08abf4f3467c07d037fec4f",
      "parents": [
        "2f90b8657ec942d1880f720e0177ee71df7c8e3c"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:05:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:05:08 2008 -0800"
      },
      "message": "DCB: Add interface to query for the DCB capabilities of an device.\n\nAdds to the netlink interface for Data Center Bridging (DCB), allowing\nthe DCB capabilities supported by a device to be queried.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f90b8657ec942d1880f720e0177ee71df7c8e3c",
      "tree": "844114b22c548fedbab67e53b09b2efcf170563a",
      "parents": [
        "9db66bdcc83749affe61c61eb8ff3cf08f42afec"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "message": "ixgbe: this patch adds support for DCB to the kernel and ixgbe driver\n\nThis adds support for Data Center Bridging (DCB) features in the ixgbe\ndriver and adds an rtnetlink interface for configuring DCB to the\nkernel.  The DCB feature support included are Priority Grouping (PG) -\nwhich allows bandwidth guarantees to be allocated to groups to traffic\nbased on the 802.1q priority, and Priority Based Flow Control (PFC) -\nwhich introduces a new MAC control PAUSE frame which works at\ngranularity of the 802.1p priority instead of the link (IEEE 802.3x).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9db66bdcc83749affe61c61eb8ff3cf08f42afec",
      "tree": "81bb20e4f569d3b44731498428277db9d77fa7a9",
      "parents": [
        "b8c26a33c8b6f0a150e9cb38ed80b890be55395c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Nov 20 20:39:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:39:09 2008 -0800"
      },
      "message": "net: convert TCP/DCCP ehash rwlocks to spinlocks\n\nNow TCP \u0026 DCCP use RCU lookups, we can convert ehash rwlocks to spinlocks.\n\n/proc/net/tcp and other seq_file \u0027readers\u0027 can safely be converted to \u0027writers\u0027.\n\nThis should speedup writers, since spin_lock()/spin_unlock()\nonly use one atomic operation instead of two for write_lock()/write_unlock()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "748ff68fad9600593c6abe47856037602bd5d133",
      "tree": "96bc5e90ba9f66932562a7061f7403d17b316b61",
      "parents": [
        "fd8f4997e35f2c9a8bfc4d797ec09a6ae7858e04"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:32:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:32:15 2008 -0800"
      },
      "message": "hippi: convert driver to net_device_ops\n\nConvert the HIPPI infrastructure for use with net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "145186a39570244aead77dc2efc559e5cac90548",
      "tree": "fbb9797afeccbc27578d43fcc51737e273f10027",
      "parents": [
        "007c3838d9fdcc8fdaea87e4879ec3759f016ed5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:29:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:29:48 2008 -0800"
      },
      "message": "fddi: convert to new network device ops\n\nSimilar to ethernet. Convert infrastructure and the one lone FDDI\ndriver (for the one lone user of that hardware??). Compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "4dd61d92d7204788b93b064a679c9068fc5b8a5f",
      "tree": "90dc522b71d06a336773f919def0fd99d59156c9",
      "parents": [
        "95763dd52b4b9b3578d3428001ece1e11b016ffc",
        "5ece6c2ddd6f7da9e95dc325c742c0f5afbcecbe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:12:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:12:14 2008 -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: (23 commits)\n  net: fix tiny output corruption of /proc/net/snmp6\n  atl2: don\u0027t request irq on resume if netif running\n  ipv6: use seq_release_private for ip6mr.c /proc entries\n  pkt_sched: fix missing check for packet overrun in qdisc_dump_stab()\n  smc911x: Fix printf format typo in smc911x driver.\n  asix: Fix asix-based cards connecting to 10/100Mbs LAN.\n  mv643xx_eth: fix recycle check bound\n  mv643xx_eth: fix the order of mdiobus_{unregister, free}() calls\n  sh: sh_eth: Update to change of mii_bus\n  TPROXY: supply a struct flowi-\u003eflags argument in inet_sk_rebuild_header()\n  TPROXY: fill struct flowi-\u003eflags in udp_sendmsg()\n  net: ipg.c fix bracing on endian swapping\n  phylib: Fix auto-negotiation restart avoidance\n  net: jme.c rxdesc.flags is __le16, other missing endian swaps\n  phylib: fix phy name example in documentation\n  net: Do not fire linkwatch events until the device is registered.\n  phonet: fix compilation with gcc-3.4\n  ixgbe: fix compilation with gcc-3.4\n  pktgen: fix multiple queue warning\n  net: fix ip_mr_init() error path\n  ...\n"
    },
    {
      "commit": "13d2a1d2b032de08d7dcab6a1edcd47802681f96",
      "tree": "a60915e015f1dc7a9b5681ef5c5135c59167edb3",
      "parents": [
        "0c19b0adb8dd33dbd10ff48e41971231c486855c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:10:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:10:00 2008 -0800"
      },
      "message": "pkt_sched: add DRR scheduler\n\nAdd classful DRR scheduler as a more flexible replacement for SFQ.\n\nThe main difference to the algorithm described in \"Efficient Fair Queueing\nusing Deficit Round Robin\" is that this implementation doesn\u0027t drop packets\nfrom the longest queue on overrun because its classful and limits are\nhandled by each individual child qdisc.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c19b0adb8dd33dbd10ff48e41971231c486855c",
      "tree": "8cbc7b353824647f3662aeb23c3849324bffac28",
      "parents": [
        "c0103606b7e3db191dcbaf988f28fa26aa711230"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:08:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:08:29 2008 -0800"
      },
      "message": "netlink: avoid memset of 0 bytes sparse warning\n\nA netlink attribute padding of zero triggers this sparse warning:\n\ninclude/linux/netlink.h:245:8: warning: memset with byte count of 0\n\nAvoid the memset when the size parameter is constant and requires no padding.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7f65d1e8bfaa92c1a419c2a52faeca835659295",
      "tree": "b616a113bddb2728fca89ef3062c16b220cee620",
      "parents": [
        "eafdcb433f854c8cb06747a80fa3df7c72147be6",
        "4018517a1a69a85c3d61b20fa02f187b80773137"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:01:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:01:29 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "d214c7537bbf2f247991fb65b3420b0b3d712c67",
      "tree": "11c26aa8c7c93d0bc15f206d65b3ddac3a6a8c33",
      "parents": [
        "68fd991020fdf51bc94327d288ae4ae5d0b8dced"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Nov 20 00:49:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 00:49:27 2008 -0800"
      },
      "message": "filter: add SKF_AD_NLATTR_NEST to look for nested attributes\n\nSKF_AD_NLATTR allows us to find the first matching attribute in a\nstream of netlink attributes from one offset to the end of the\nnetlink message. This is not suitable to look for a specific\nmatching inside a set of nested attributes.\n\nFor example, in ctnetlink messages, if we look for the CTA_V6_SRC\nattribute in a message that talks about an IPv4 connection,\nSKF_AD_NLATTR returns the offset of CTA_STATUS which has the same\nvalue of CTA_V6_SRC but outside the nest. To differenciate\nCTA_STATUS and CTA_V6_SRC, we would have to make assumptions on the\nsize of the attribute and the usual offset, resulting in horrible\nBSF code.\n\nThis patch adds SKF_AD_NLATTR_NEST, which is a variant of\nSKF_AD_NLATTR, that looks for an attribute inside the limits of\na nested attributes, but not further.\n\nThis patch validates that we have enough room to look for the\nnested attributes - based on a suggestion from Patrick McHardy.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5caea4ea7088e80ac5410d04660346094608b909",
      "tree": "fad95133683c002d24ff5de7fb756dad806b41ed",
      "parents": [
        "d8b83c57a7e497cba9b5cb156e63176323035785"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Nov 20 00:40:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 00:40:07 2008 -0800"
      },
      "message": "net: listening_hash get a spinlock per bucket\n\nThis patch prepares RCU migration of listening_hash table for\nTCP/DCCP protocols.\n\nlistening_hash table being small (32 slots per protocol), we add\na spinlock for each slot, instead of a single rwlock for whole table.\n\nThis should reduce hold time of readers, and writers concurrency.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccad637b0c57de1825ffd34c311bf71487545ac2",
      "tree": "fa5e54d6a4d8a414754efb7904685e5a83bff601",
      "parents": [
        "eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 22:42:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:31 2008 -0800"
      },
      "message": "netdev: expose ethernet address primitives\n\nWhen ethernet devices are converted, the function pointer setup\nby eth_setup() need to be done during intialization.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0",
      "tree": "082d1921a5783ef5b07b4cf666804d6509f25f1a",
      "parents": [
        "d314774cf2cd5dfeb39a00d37deee65d4c627927"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "message": "netdev: introduce dev_get_stats()\n\nIn order for the network device ops get_stats call to be immutable, the handling\nof the default internal network device stats block has to be changed. Add a new\nhelper function which replaces the old use of internal_get_stats.\n\nNote: change return code to make it clear that the caller should not\ngo changing the returned statistics.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d314774cf2cd5dfeb39a00d37deee65d4c627927",
      "tree": "1c7778b509cea814aa2b7115949667941037d07c",
      "parents": [
        "6b41e7dd90c6a628ab5fb8d781302d60a243b2ce"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:32:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:32:24 2008 -0800"
      },
      "message": "netdev: network device operations infrastructure\n\nThis patch changes the network device internal API to move adminstrative\noperations out of the network device structure and into a separate structure.\n\nThis patch involves some hackery to maintain compatablity between the\nnew and old model, so all 300+ drivers don\u0027t have to be changed at once.\nFor drivers that aren\u0027t converted yet, the netdevice_ops virt function list\nstill resides in the net_device structure. For old protocols, the new\nnet_device_ops are copied out to the old net_device pointers.\n\nAfter the transistion is completed the nag message can be changed to\nan WARN_ON, and the compatiablity code can be made configurable.\n\nSome function pointers aren\u0027t moved:\n* destructor can\u0027t be in net_device_ops because\n  it may need to be referenced after the module is unloaded.\n* neighbor setup is manipulated in a couple of places that need special\n  consideration\n* hard_start_xmit is in the fast path for transmit.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f7dbc7ff4ec19b40ec083f7c54a87d3ece0089d",
      "tree": "c37f34eee23ae96c78f72e445ad20f8fbcab010e",
      "parents": [
        "9f92f4719764acf1c9185a5958200887a43e3483",
        "73f56c0d35e6427081a4eabd620d8b8d8a35bd09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:51:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:51:56 2008 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: more general identifier for Phoenix BIOS\n  AMD IOMMU: check for next_bit also in unmapped area\n  AMD IOMMU: fix fullflush comparison length\n  AMD IOMMU: enable device isolation per default\n  AMD IOMMU: add parameter to disable device isolation\n  x86, PEBS/DS: fix code flow in ds_request()\n  x86: add rdtsc barrier to TSC sync check\n  xen: fix scrub_page()\n  x86: fix es7000 compiling\n  x86, bts: fix unlock problem in ds.c\n  x86, voyager: fix smp generic helper voyager breakage\n  x86: move iomap.h to the new include location\n"
    },
    {
      "commit": "f481891fdc49d3d1b8a9674a1825d183069a805f",
      "tree": "4f027a1321dcd06165394d0a23e49df51c8befc1",
      "parents": [
        "ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Nov 19 15:36:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:58 2008 -0800"
      },
      "message": "cpuset: update top cpuset\u0027s mems after adding a node\n\nAfter adding a node into the machine, top cpuset\u0027s mems isn\u0027t updated.\n\nBy reviewing the code, we found that the update function\n\n  cpuset_track_online_nodes()\n\nwas invoked after node_states[N_ONLINE] changes.  It is wrong because\nN_ONLINE just means node has pgdat, and if node has/added memory, we use\nN_HIGH_MEMORY.  So, We should invoke the update function after\nnode_states[N_HIGH_MEMORY] changes, just like its commit says.\n\nThis patch fixes it.  And we use notifier of memory hotplug instead of\ndirect calling of cpuset_track_online_nodes().\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Paul Menage \u003cmenage@google.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de11defebf00007677fb7ee91d9b089b78786fbb",
      "tree": "8219faf1b7992be77a612e778c2573c55f56cf19",
      "parents": [
        "cf7ee554f3a324e98181b0ea249d9d5be3a0acb8"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Nov 19 15:36:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:57 2008 -0800"
      },
      "message": "reintroduce accept4\n\nIntroduce a new accept4() system call.  The addition of this system call\nmatches analogous changes in 2.6.27 (dup3(), evenfd2(), signalfd4(),\ninotify_init1(), epoll_create1(), pipe2()) which added new system calls\nthat differed from analogous traditional system calls in adding a flags\nargument that can be used to access additional functionality.\n\nThe accept4() system call is exactly the same as accept(), except that\nit adds a flags bit-mask argument.  Two flags are initially implemented.\n(Most of the new system calls in 2.6.27 also had both of these flags.)\n\nSOCK_CLOEXEC causes the close-on-exec (FD_CLOEXEC) flag to be enabled\nfor the new file descriptor returned by accept4().  This is a useful\nsecurity feature to avoid leaking information in a multithreaded\nprogram where one thread is doing an accept() at the same time as\nanother thread is doing a fork() plus exec().  More details here:\nhttp://udrepper.livejournal.com/20407.html \"Secure File Descriptor Handling\",\nUlrich Drepper).\n\nThe other flag is SOCK_NONBLOCK, which causes the O_NONBLOCK flag\nto be enabled on the new open file description created by accept4().\n(This flag is merely a convenience, saving the use of additional calls\nfcntl(F_GETFL) and fcntl (F_SETFL) to achieve the same result.\n\nHere\u0027s a test program.  Works on x86-32.  Should work on x86-64, but\nI (mtk) don\u0027t have a system to hand to test with.\n\nIt tests accept4() with each of the four possible combinations of\nSOCK_CLOEXEC and SOCK_NONBLOCK set/clear in \u0027flags\u0027, and verifies\nthat the appropriate flags are set on the file descriptor/open file\ndescription returned by accept4().\n\nI tested Ulrich\u0027s patch in this thread by applying against 2.6.28-rc2,\nand it passes according to my test program.\n\n/* test_accept4.c\n\n  Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk\n       \u003cmtk.manpages@gmail.com\u003e\n\n  Licensed under the GNU GPLv2 or later.\n*/\n#define _GNU_SOURCE\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstring.h\u003e\n\n#define PORT_NUM 33333\n\n#define die(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n\n/**********************************************************************/\n\n/* The following is what we need until glibc gets a wrapper for\n  accept4() */\n\n/* Flags for socket(), socketpair(), accept4() */\n#ifndef SOCK_CLOEXEC\n#define SOCK_CLOEXEC    O_CLOEXEC\n#endif\n#ifndef SOCK_NONBLOCK\n#define SOCK_NONBLOCK   O_NONBLOCK\n#endif\n\n#ifdef __x86_64__\n#define SYS_accept4 288\n#elif __i386__\n#define USE_SOCKETCALL 1\n#define SYS_ACCEPT4 18\n#else\n#error \"Sorry -- don\u0027t know the syscall # on this architecture\"\n#endif\n\nstatic int\naccept4(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)\n{\n   printf(\"Calling accept4(): flags \u003d %x\", flags);\n   if (flags !\u003d 0) {\n       printf(\" (\");\n       if (flags \u0026 SOCK_CLOEXEC)\n           printf(\"SOCK_CLOEXEC\");\n       if ((flags \u0026 SOCK_CLOEXEC) \u0026\u0026 (flags \u0026 SOCK_NONBLOCK))\n           printf(\" \");\n       if (flags \u0026 SOCK_NONBLOCK)\n           printf(\"SOCK_NONBLOCK\");\n       printf(\")\");\n   }\n   printf(\"\\n\");\n\n#if USE_SOCKETCALL\n   long args[6];\n\n   args[0] \u003d fd;\n   args[1] \u003d (long) sockaddr;\n   args[2] \u003d (long) addrlen;\n   args[3] \u003d flags;\n\n   return syscall(SYS_socketcall, SYS_ACCEPT4, args);\n#else\n   return syscall(SYS_accept4, fd, sockaddr, addrlen, flags);\n#endif\n}\n\n/**********************************************************************/\n\nstatic int\ndo_test(int lfd, struct sockaddr_in *conn_addr,\n       int closeonexec_flag, int nonblock_flag)\n{\n   int connfd, acceptfd;\n   int fdf, flf, fdf_pass, flf_pass;\n   struct sockaddr_in claddr;\n   socklen_t addrlen;\n\n   printf(\"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\\n\");\n\n   connfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n   if (connfd \u003d\u003d -1)\n       die(\"socket\");\n   if (connect(connfd, (struct sockaddr *) conn_addr,\n               sizeof(struct sockaddr_in)) \u003d\u003d -1)\n       die(\"connect\");\n\n   addrlen \u003d sizeof(struct sockaddr_in);\n   acceptfd \u003d accept4(lfd, (struct sockaddr *) \u0026claddr, \u0026addrlen,\n                      closeonexec_flag | nonblock_flag);\n   if (acceptfd \u003d\u003d -1) {\n       perror(\"accept4()\");\n       close(connfd);\n       return 0;\n   }\n\n   fdf \u003d fcntl(acceptfd, F_GETFD);\n   if (fdf \u003d\u003d -1)\n       die(\"fcntl:F_GETFD\");\n   fdf_pass \u003d ((fdf \u0026 FD_CLOEXEC) !\u003d 0) \u003d\u003d\n              ((closeonexec_flag \u0026 SOCK_CLOEXEC) !\u003d 0);\n   printf(\"Close-on-exec flag is %sset (%s); \",\n           (fdf \u0026 FD_CLOEXEC) ? \"\" : \"not \",\n           fdf_pass ? \"OK\" : \"failed\");\n\n   flf \u003d fcntl(acceptfd, F_GETFL);\n   if (flf \u003d\u003d -1)\n       die(\"fcntl:F_GETFD\");\n   flf_pass \u003d ((flf \u0026 O_NONBLOCK) !\u003d 0) \u003d\u003d\n              ((nonblock_flag \u0026 SOCK_NONBLOCK) !\u003d0);\n   printf(\"nonblock flag is %sset (%s)\\n\",\n           (flf \u0026 O_NONBLOCK) ? \"\" : \"not \",\n           flf_pass ? \"OK\" : \"failed\");\n\n   close(acceptfd);\n   close(connfd);\n\n   printf(\"Test result: %s\\n\", (fdf_pass \u0026\u0026 flf_pass) ? \"PASS\" : \"FAIL\");\n   return fdf_pass \u0026\u0026 flf_pass;\n}\n\nstatic int\ncreate_listening_socket(int port_num)\n{\n   struct sockaddr_in svaddr;\n   int lfd;\n   int optval;\n\n   memset(\u0026svaddr, 0, sizeof(struct sockaddr_in));\n   svaddr.sin_family \u003d AF_INET;\n   svaddr.sin_addr.s_addr \u003d htonl(INADDR_ANY);\n   svaddr.sin_port \u003d htons(port_num);\n\n   lfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n   if (lfd \u003d\u003d -1)\n       die(\"socket\");\n\n   optval \u003d 1;\n   if (setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, \u0026optval,\n                  sizeof(optval)) \u003d\u003d -1)\n       die(\"setsockopt\");\n\n   if (bind(lfd, (struct sockaddr *) \u0026svaddr,\n            sizeof(struct sockaddr_in)) \u003d\u003d -1)\n       die(\"bind\");\n\n   if (listen(lfd, 5) \u003d\u003d -1)\n       die(\"listen\");\n\n   return lfd;\n}\n\nint\nmain(int argc, char *argv[])\n{\n   struct sockaddr_in conn_addr;\n   int lfd;\n   int port_num;\n   int passed;\n\n   passed \u003d 1;\n\n   port_num \u003d (argc \u003e 1) ? atoi(argv[1]) : PORT_NUM;\n\n   memset(\u0026conn_addr, 0, sizeof(struct sockaddr_in));\n   conn_addr.sin_family \u003d AF_INET;\n   conn_addr.sin_addr.s_addr \u003d htonl(INADDR_LOOPBACK);\n   conn_addr.sin_port \u003d htons(port_num);\n\n   lfd \u003d create_listening_socket(port_num);\n\n   if (!do_test(lfd, \u0026conn_addr, 0, 0))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, SOCK_CLOEXEC, 0))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, 0, SOCK_NONBLOCK))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, SOCK_CLOEXEC, SOCK_NONBLOCK))\n       passed \u003d 0;\n\n   close(lfd);\n\n   exit(passed ? EXIT_SUCCESS : EXIT_FAILURE);\n}\n\n[mtk.manpages@gmail.com: rewrote changelog, updated test program]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nTested-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \u003clinux-api@vger.kernel.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07f0757a6808f2f36a0e58c3a54867ccffdb8dc9",
      "tree": "e04b573c3f1471ff21c6b2499682a620f4db7eae",
      "parents": [
        "a7a0d6a87b70f7b2bab5281fc0fd443772bd0795"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Nov 19 15:44:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 15:44:53 2008 -0800"
      },
      "message": "include/net net/ - csum_partial - remove unnecessary casts\n\nThe first argument to csum_partial is const void *\ncasts to char/u8 * are not necessary\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "198d6ba4d7f48c94f990f4604f0b3d73925e0ded",
      "tree": "56bbdf8ba2553c23c8099da9344a8f1d1aba97ab",
      "parents": [
        "9a57f7fabd383920585ed8b74eacd117c6551f2d",
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/isdn/i4l/isdn_net.c\n\tfs/cifs/connect.c\n"
    },
    {
      "commit": "8e3bad65a59915f2ddc40f62a180ad81695d8440",
      "tree": "d54daf1d8d09192afdccfe913c0a22a6b0c0c5f5",
      "parents": [
        "9b44fb89cab6e01816cdc05d6b59fdcf8100b8c3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 17 10:59:59 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 18 17:26:26 2008 -0500"
      },
      "message": "mac80211: remove ieee80211_notify_mac\n\nBefore ieee80211_notify_mac() was added, it was presented with the\nuse case of using it to tell mac80211 that the association may\nhave been lost because the firmware crashed/reset.\n\nSince then, it has also been used by iwlwifi to (slightly) speed\nup re-association after resume, a workaround around the fact that\nmac80211 has no suspend/resume handling yet. It is also not used\nby any other drivers, so clearly it cannot be necessary for \"good\nenough\" suspend/resume.\n\nUnfortunately, the callback suffers from a severe problem: It only\nworks for station mode. If suspend/resume happens while in IBSS or\nany other mode (but station), then the callback is pointless.\n\nRecently, it has created a number of locking issues, first because\nit required rtnl locking rather than RCU due to calling sleeping\nfunctions within the critical section, and now because it\u0027s called\nby iwlwifi from the mac80211 workqueue that may not use the rtnl\nbecause it is flushed under rtnl.\n(cf. http://bugzilla.kernel.org/show_bug.cgi?id\u003d12046)\n\nI think, therefore, that we should take a step back, remove it\nentirely for now and add the small feature it provided properly.\nFor suspend and resume we will need to introduce new hooks, and for\nthe case where the firmware was reset the driver will probably\nsimply just pretend it has done a suspend/resume cycle to get\nmac80211 to reprogram the hardware completely, not just try to\nconnect to the current AP again in station mode. When doing so, we\nwill need to take into account locking issues and possibly defer\nto schedule_work from within mac80211 for the resume operation,\nwhile the suspend operation must be done directly.\n\nProper suspend/resume should also not necessarily try to reconnect\nto the current AP, the time spent in suspend may have been short\nenough to not be disconnected from the AP, mac80211 will detect\nthat the AP went out of range quickly if it did, and if the\nassociation is lost then the AP will disassoc as soon as a data\nframe is sent. We might also take into account WWOL then, and\nhave mac80211 program the hardware into such a mode where it is\navailable and requested.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7f0f598a0069d1ab072375965a4b69137233169c",
      "tree": "00cb9320e0caef179d6075b54fa611de6551e3e2",
      "parents": [
        "a6a0c4ca7edb378a8a7332501f097089cb1051c4",
        "c26156b2534c75bb3cdedf76f6ad1340971cf5bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:07:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:07:51 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: hold extra reference to bio in blk_rq_map_user_iov()\n  relay: fix cpu offline problem\n  Release old elevator on change elevator\n  block: fix boot failure with CONFIG_DEBUG_BLOCK_EXT_DEVT\u003dy and nash\n  block/md: fix md autodetection\n  block: make add_partition() return pointer to hd_struct\n  block: fix add_partition() error path\n"
    },
    {
      "commit": "72b51a6b4d803381f16d819df392dd1efd1c7181",
      "tree": "7e27a03c10cb2f5e6593dd599b3c8b0bcd0f9ee9",
      "parents": [
        "8c60bfb0666952728b3be73ef9bc133d686aebba",
        "e270219f4372b58bd3eeac12bd9f7edc592b8f6b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:06:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:06:35 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kernel/profile.c: fix section mismatch warning\n  function tracing: fix wrong pos computing when read buffer has been fulfilled\n  tracing: fix mmiotrace resizing crash\n  ring-buffer: no preempt for sched_clock()\n  ring-buffer: buffer record on/off switch\n"
    },
    {
      "commit": "73f56c0d35e6427081a4eabd620d8b8d8a35bd09",
      "tree": "9fe1a2577baea03f3a6ec4a5e79f3ff26c4ee0ae",
      "parents": [
        "0af40a4b1050c050e62eb1dc30b82d5ab22bf221",
        "8501c45cc32c311ae755a2d5ac8c4a5f04908d42"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 16:48:49 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 16:48:49 2008 +0100"
      },
      "message": "Merge branch \u0027iommu-fixes-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent\n"
    },
    {
      "commit": "ba32929a91fe2c0628f5be62d1597b379c8d3062",
      "tree": "09ea54ed2d2299d25b92fee6a6dde4d7527a3d37",
      "parents": [
        "eb60fa1066622ddb2278732cf61e0c4544e82c6f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 15:29:58 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "block: make add_partition() return pointer to hd_struct\n\nMake add_partition() return pointer to the new hd_struct on success\nand ERR_PTR() value on failure.  This change will be used to fix md\nautodetection bug.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "847e9170c77d3b4f57822ae1f4cf4f65c65a8254",
      "tree": "23f931fa2c3f9cf967deb638fed9804806d07357",
      "parents": [
        "72eb8c6747b49e41fd2b042510f03ac7c13426fc",
        "5f9021cfdc3524a4c5e3d7ae2d049eb7adcd6776"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 17 07:53:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 17 07:53:25 2008 -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: (27 commits)\n  rtnetlink: propagate error from dev_change_flags in do_setlink()\n  isdn: remove extra byteswap in isdn_net_ciscohdlck_slarp_send_reply\n  Phonet: refuse to send bigger than MTU packets\n  e1000e: fix IPMI traffic\n  e1000e: fix warn_on reload after phy_id error\n  phy: fix phy address bug\n  e100: fix dma error in direction for mapping\n  igb: use dev_printk instead of printk\n  qla3xxx: Cleanup: Fix link print statements.\n  igb: Use device_set_wakeup_enable\n  e1000: Use device_set_wakeup_enable\n  e1000e: Use device_set_wakeup_enable\n  via-velocity: enable perfect filtering for multicast packets\n  phy: Add support for Marvell 88E1118 PHY\n  mlx4_en: Pause parameters per port\n  phylib: fix premature freeing of struct mii_bus\n  atl1: Do not enumerate options unsupported by chip\n  atl1e: fix broken multicast by removing unnecessary crc inversion\n  gianfar: Fix DMA unmap invocations\n  net/ucc_geth: Fix oops in uec_get_ethtool_stats()\n  ...\n"
    },
    {
      "commit": "4d24b52ac5085ef8a264d044f1b302b7c029887a",
      "tree": "3842c484d49f97bc441ef9e6a31de09fa2f683f5",
      "parents": [
        "6eba6a372b501aa3cdfb7df21a8364099125b9c4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Nov 16 23:01:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 23:01:49 2008 -0800"
      },
      "message": "ematch: simpler tcf_em_unregister()\n\nSimply delete ops from list and let list debugging do the job.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd9c0e363cef32b7d6f23d4c87e8dfe4f91fd1c5",
      "tree": "2ae48a033a925169f0fd71bdc18a683a308f46c4",
      "parents": [
        "29450559849da7066813601effb7666966869853"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:55:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:55:08 2008 -0800"
      },
      "message": "dccp: Deprecate Ack Ratio sysctl\n\nThis patch deprecates the Ack Ratio sysctl, since\n * Ack Ratio is entirely ignored by CCID-3 and CCID-4,\n * Ack Ratio currently doesn\u0027t work in CCID-2 (i.e. is always set to 1);\n * even if it would work in CCID-2, there is no point for a user to change it:\n   - Ack Ratio is constrained by cwnd (RFC 4341, 6.1.2),\n   - if Ack Ratio \u003e cwnd, the system resorts to spurious RTO timeouts\n     (since waiting for Acks which will never arrive in this window),\n   - cwnd is not a user-configurable value.\n\nThe only reasonable place for Ack Ratio is to print it for debugging. It is\nplanned to do this later on, as part of e.g. dccp_probe.\n\nWith this patch Ack Ratio is now under full control of feature negotiation:\n * Ack Ratio is resolved as a dependency of the selected CCID;\n * if the chosen CCID supports it (i.e. CCID \u003d\u003d CCID-2), Ack Ratio is set to\n   the default of 2, following RFC 4340, 11.3 - \"New connections start with Ack\n   Ratio 2 for both endpoints\";\n * what happens then is part of another patch set, since it concerns the\n   dynamic update of Ack Ratio while the connection is in full flight.\n\nThanks to Tomasz Grobelny for discussion leading up to this patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29450559849da7066813601effb7666966869853",
      "tree": "5a55d997460a85da733e1960bc74de0f170e8106",
      "parents": [
        "49aebc66d6b896f9c7c5739d85c4548c00015aa7"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:53:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:53:48 2008 -0800"
      },
      "message": "dccp: Feature negotiation for minimum-checksum-coverage\n\nThis provides feature negotiation for server minimum checksum coverage\nwhich so far has been missing.\n\nSince sender/receiver coverage values range only from 0...15, their\ntype has also been reduced in size from u16 to u4.\n\nFeature-negotiation options are now generated for both sender and receiver\ncoverage, i.e. when the peer has `forgotten\u0027 to enable partial coverage\nthen feature negotiation will automatically enable (negotiate) the partial\ncoverage value for this connection.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49aebc66d6b896f9c7c5739d85c4548c00015aa7",
      "tree": "0b12afdd2e742c3eb481aef8d2adcb7b1aeca9f1",
      "parents": [
        "0c1168398ecbfacbb27203b281bde20ec9f78017"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:51:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:51:23 2008 -0800"
      },
      "message": "dccp: Deprecate old setsockopt framework\n\nThe previous setsockopt interface, which passed socket options via struct\ndccp_so_feat, is complicated/difficult to use. Continuing to support it leads to\nugly code since the old approach did not distinguish between NN and SP values.\n\nThis patch removes the old setsockopt interface and replaces it with two new\nfunctions to register NN/SP values for feature negotiation. \nThese are essentially wrappers around the internal __feat_register functions,\nwith checking added to avoid\n\n * wrong usage (type);\n * changing values while the connection is in progress.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f2c31d90327f21d76d296af34aa4ca547932ff4",
      "tree": "fbcccc1ab9af94982dd2a98fae6b32c7a0e14e3a",
      "parents": [
        "0276b4972e932ea8bf2941dcd37e9caac5652ed7"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Sun Nov 16 22:41:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:41:34 2008 -0800"
      },
      "message": "virtio_net: VIRTIO_NET_F_MSG_RXBUF (imprive rcv buffer allocation)\n\nIf segmentation offload is enabled by the host, we currently allocate\nmaximum sized packet buffers and pass them to the host. This uses up\n20 ring entries, allowing us to supply only 20 packet buffers to the\nhost with a 256 entry ring. This is a huge overhead when receiving\nsmall packets, and is most keenly felt when receiving MTU sized\npackets from off-host.\n\nThe VIRTIO_NET_F_MRG_RXBUF feature flag is set by hosts which support\nusing receive buffers which are smaller than the maximum packet size.\nIn order to transfer large packets to the guest, the host merges\ntogether multiple receive buffers to form a larger logical buffer.\nThe number of merged buffers is returned to the guest via a field in\nthe virtio_net_hdr.\n\nMake use of this support by supplying single page receive buffers to\nthe host. On receive, we extract the virtio_net_hdr, copy 128 bytes of\nthe payload to the skb\u0027s linear data buffer and adjust the fragment\noffset to point to the remaining data. This ensures proper alignment\nand allows us to not use any paged data for small packets. If the\npayload occupies multiple pages, we simply append those pages as\nfragments and free the associated skbs.\n\nThis scheme allows us to be efficient in our use of ring entries\nwhile still supporting large packets. Benchmarking using netperf from\nan external machine to a guest over a 10Gb/s network shows a 100%\nimprovement from ~1Gb/s to ~2Gb/s. With a local host-\u003eguest benchmark\nwith GSO disabled on the host side, throughput was seen to increase\nfrom 700Mb/s to 1.7Gb/s.\n\nBased on a patch from Herbert Xu.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (use netdev_priv)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5635c10d976716ef47ae441998aeae144c7e7387",
      "tree": "03cb08b634fba283bbde42ea290c92048045d2fd",
      "parents": [
        "536533e69e3e4a9f0174509813f8df28970d6ebe"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:46:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:46:36 2008 -0800"
      },
      "message": "net: make sure struct dst_entry refcount is aligned on 64 bytes\n\nAs found in the past (commit f1dd9c379cac7d5a76259e7dffcd5f8edc697d17\n[NET]: Fix tbench regression in 2.6.25-rc1), it is really\nimportant that struct dst_entry refcount is aligned on a cache line.\n\nWe cannot use __atribute((aligned)), so manually pad the structure\nfor 32 and 64 bit arches.\n\nfor 32bit : offsetof(truct dst_entry, __refcnt) is 0x80\nfor 64bit : offsetof(truct dst_entry, __refcnt) is 0xc0\n\nAs it is not possible to guess at compile time cache line size,\nwe use a generic value of 64 bytes, that satisfies many current arches.\n(Using 128 bytes alignment on 64bit arches would waste 64 bytes)\n\nAdd a BUILD_BUG_ON to catch future updates to \"struct dst_entry\" dont\nbreak this alignment.\n\n\"tbench 8\" is 4.4 % faster on a dual quad core (HP BL460c G1), Intel E5450 @3.00GHz\n(2350 MB/s instead of 2250 MB/s)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ab5aee7fe840b5b1b35a8d1ac11c3de5281e611",
      "tree": "468296b7be813643248d4ca67497d6ddb6934fc6",
      "parents": [
        "88ab1932eac721c6e7336708558fa5ed02c85c80"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:40:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:40:17 2008 -0800"
      },
      "message": "net: Convert TCP \u0026 DCCP hash tables to use RCU / hlist_nulls\n\nRCU was added to UDP lookups, using a fast infrastructure :\n- sockets kmem_cache use SLAB_DESTROY_BY_RCU and dont pay the\n  price of call_rcu() at freeing time.\n- hlist_nulls permits to use few memory barriers.\n\nThis patch uses same infrastructure for TCP/DCCP established\nand timewait sockets.\n\nThanks to SLAB_DESTROY_BY_RCU, no slowdown for applications\nusing short lived TCP connections. A followup patch, converting\nrwlocks to spinlocks will even speedup this case.\n\n__inet_lookup_established() is pretty fast now we dont have to\ndirty a contended cache line (read_lock/read_unlock)\n\nOnly established and timewait hashtable are converted to RCU\n(bind table and listen table are still using traditional locking)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88ab1932eac721c6e7336708558fa5ed02c85c80",
      "tree": "c8788a1e3de08100bca341fa4180adfe5d02880f",
      "parents": [
        "bbaffaca4810de1a25e32ecaf836eeaacc7a3d11"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:39:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:39:21 2008 -0800"
      },
      "message": "udp: Use hlist_nulls in UDP RCU code\n\nThis is a straightforward patch, using hlist_nulls infrastructure.\n\nRCUification already done on UDP two weeks ago.\n\nUsing hlist_nulls permits us to avoid some memory barriers, both\nat lookup time and delete time.\n\nPatch is large because it adds new macros to include/net/sock.h.\nThese macros will be used by TCP \u0026 DCCP in next patch.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbaffaca4810de1a25e32ecaf836eeaacc7a3d11",
      "tree": "f0b215577427ab12ab4ae7b3f45cd6ad3fe16499",
      "parents": [
        "e8b2dfe9b4501ed0047459b2756ba26e5a940a69"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:37:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:37:55 2008 -0800"
      },
      "message": "rcu: Introduce hlist_nulls variant of hlist\n\nhlist uses NULL value to finish a chain.\n\nhlist_nulls variant use the low order bit set to 1 to signal an end-of-list marker.\n\nThis allows to store many different end markers, so that some RCU lockless\nalgos (used in TCP/UDP stack for example) can save some memory barriers in\nfast paths.\n\nTwo new files are added :\n\ninclude/linux/list_nulls.h\n  - mimics hlist part of include/linux/list.h, derived to hlist_nulls variant\n\ninclude/linux/rculist_nulls.h\n  - mimics hlist part of include/linux/rculist.h, derived to hlist_nulls variant\n\n   Only four helpers are declared for the moment :\n\n     hlist_nulls_del_init_rcu(), hlist_nulls_del_rcu(),\n     hlist_nulls_add_head_rcu() and hlist_nulls_for_each_entry_rcu()\n\nprefetches() were removed, since an end of list is not anymore NULL value.\nprefetches() could trigger useless (and possibly dangerous) memory transactions.\n\nExample of use (extracted from __udp4_lib_lookup())\n\n\tstruct sock *sk, *result;\n        struct hlist_nulls_node *node;\n        unsigned short hnum \u003d ntohs(dport);\n        unsigned int hash \u003d udp_hashfn(net, hnum);\n        struct udp_hslot *hslot \u003d \u0026udptable-\u003ehash[hash];\n        int score, badness;\n\n        rcu_read_lock();\nbegin:\n        result \u003d NULL;\n        badness \u003d -1;\n        sk_nulls_for_each_rcu(sk, node, \u0026hslot-\u003ehead) {\n                score \u003d compute_score(sk, net, saddr, hnum, sport,\n                                      daddr, dport, dif);\n                if (score \u003e badness) {\n                        result \u003d sk;\n                        badness \u003d score;\n                }\n        }\n        /*\n         * if the nulls value we got at the end of this lookup is\n         * not the expected one, we must restart lookup.\n         * We probably met an item that was moved to another chain.\n         */\n        if (get_nulls_value(node) !\u003d hash)\n                goto begin;\n\n        if (result) {\n                if (unlikely(!atomic_inc_not_zero(\u0026result-\u003esk_refcnt)))\n                        result \u003d NULL;\n                else if (unlikely(compute_score(result, net, saddr, hnum, sport,\n                                  daddr, dport, dif) \u003c badness)) {\n                        sock_put(result);\n                        goto begin;\n                }\n        }\n        rcu_read_unlock();\n        return result;\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8b2dfe9b4501ed0047459b2756ba26e5a940a69",
      "tree": "6f7d497284a8951b8681517f7866851b32a7b02e",
      "parents": [
        "8164f1b79731ad8ad9c713dc53d587a3b746f82f"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Sun Nov 16 19:32:39 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:32:39 2008 -0800"
      },
      "message": "TPROXY: implemented IP_RECVORIGDSTADDR socket option\n\nIn case UDP traffic is redirected to a local UDP socket,\nthe originally addressed destination address/port\ncannot be recovered with the in-kernel tproxy.\n\nThis patch adds an IP_RECVORIGDSTADDR sockopt that enables\na IP_ORIGDSTADDR ancillary message in recvmsg(). This\nancillary message contains the original destination address/port\nof the packet being received.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f004f3ea34209d8b836426b26ade3dc502631b18",
      "tree": "bf58002618bc3dd98db2416bb20cbeb016ecdd23",
      "parents": [
        "72af187f216ed83c77ca3e6f22dfc9caf72e9347"
      ],
      "author": {
        "name": "Paulius Zaleckas",
        "email": "paulius.zaleckas@teltonika.lt",
        "time": "Fri Nov 14 00:24:34 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 18:59:45 2008 -0800"
      },
      "message": "phylib: make mdio-gpio work without OF (v4)\n\nmake mdio-gpio work with non OpenFirmware gpio implementation.\n\nAditional changes to mdio-gpio:\n- use gpio_request() and gpio_free()\n- place irq[] array in struct mdio_gpio_info\n- add module description, author and license\n- add note about compiling this driver as module\n- rename mdc and mdio function (were ugly names)\n- change MII to MDIO in bus name\n- add __init __exit to module (un)loading functions\n- probe fails if no phys added to the bus\n- kzalloc bitbang with sizeof(*bitbang)\n\nChanges since v3:\n- keep bus naming \"%x\" to be compatible with existing drivers.\n\nChanges since v2:\n- more #ifdefs reduction\n- platform driver will be registered on OF platforms also\n- unified platform and OF bus_id to phy%i\n\nChanges since v1:\n- removed NO_IRQ\n- reduced #idefs\n\nLaurent, please test this driver under OF.\n\nSigned-off-by: Paulius Zaleckas \u003cpaulius.zaleckas@teltonika.lt\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b42ccbc521f2acad48eb96b32883efe2f3e16b45",
      "tree": "85f45ef13f3c409850431a52fd5e04ff3e826e0c",
      "parents": [
        "d659fc14cbd39fef625072819c6968044975fda7",
        "131d3a7a009d56a96cc7117b4e9d0c90c2e2a1dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 19:02:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 19:02:48 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: don\u0027t grab devices with no input\n  HID: fix radio-mr800 hidquirks\n  HID: fix kworld fm700 radio hidquirks\n  HID: fix start/stop cycle in usbhid driver\n  HID: use single threaded work queue for hid_compat\n  HID: map macbook keys for \"Expose\" and \"Dashboard\"\n  HID: support for new unibody macbooks\n  HID: fix locking in hidraw_open()\n"
    },
    {
      "commit": "8f7b0ba1c853919b85b54774775f567f30006107",
      "tree": "1acd2b7ed5ed0de3eecfff9da5da4e779731f8a8",
      "parents": [
        "0d3b71009737511ea937ac405205fd8214b898bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sat Nov 15 01:15:43 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:26:44 2008 -0800"
      },
      "message": "Fix inotify watch removal/umount races\n\nInotify watch removals suck violently.\n\nTo kick the watch out we need (in this order) inode-\u003einotify_mutex and\nih-\u003emutex.  That\u0027s fine if we have a hold on inode; however, for all\nother cases we need to make damn sure we don\u0027t race with umount.  We can\n*NOT* just grab a reference to a watch - inotify_unmount_inodes() will\nhappily sail past it and we\u0027ll end with reference to inode potentially\noutliving its superblock.\n\nIdeally we just want to grab an active reference to superblock if we\ncan; that will make sure we won\u0027t go into inotify_umount_inodes() until\nwe are done.  Cleanup is just deactivate_super().\n\nHowever, that leaves a messy case - what if we *are* racing with\numount() and active references to superblock can\u0027t be acquired anymore?\nWe can bump -\u003es_count, grab -\u003es_umount, which will almost certainly wait\nuntil the superblock is shut down and the watch in question is pining\nfor fjords.  That\u0027s fine, but there is a problem - we might have hit the\nwindow between -\u003es_active getting to 0 / -\u003es_count - below S_BIAS (i.e.\nthe moment when superblock is past the point of no return and is heading\nfor shutdown) and the moment when deactivate_super() acquires\n-\u003es_umount.\n\nWe could just do drop_super() yield() and retry, but that\u0027s rather\nantisocial and this stuff is luser-triggerable.  OTOH, having grabbed\n-\u003es_umount and having found that we\u0027d got there first (i.e.  that\n-\u003es_root is non-NULL) we know that we won\u0027t race with\ninotify_umount_inodes().\n\nSo we could grab a reference to watch and do the rest as above, just\nwith drop_super() instead of deactivate_super(), right? Wrong.  We had\nto drop ih-\u003emutex before we could grab -\u003es_umount.  So the watch\ncould\u0027ve been gone already.\n\nThat still can be dealt with - we need to save watch-\u003ewd, do idr_find()\nand compare its result with our pointer.  If they match, we either have\nthe damn thing still alive or we\u0027d lost not one but two races at once,\nthe watch had been killed and a new one got created with the same -\u003ewd\nat the same address.  That couldn\u0027t have happened in inotify_destroy(),\nbut inotify_rm_wd() could run into that.  Still, \"new one got created\"\nis not a problem - we have every right to kill it or leave it alone,\nwhatever\u0027s more convenient.\n\nSo we can use idr_find(...) \u003d\u003d watch \u0026\u0026 watch-\u003einode-\u003ei_sb \u003d\u003d sb as\n\"grab it and kill it\" check.  If it\u0027s been our original watch, we are\nfine, if it\u0027s a newcomer - nevermind, just pretend that we\u0027d won the\nrace and kill the fscker anyway; we are safe since we know that its\nsuperblock won\u0027t be going away.\n\nAnd yes, this is far beyond mere \"not very pretty\"; so\u0027s the entire\nconcept of inotify to start with.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "537a2f889ac847468c9aa040910c247b218302a7",
      "tree": "ea21b1dfd11e4234b108059c84c2a42887dc9254",
      "parents": [
        "fab349cceb25f92bac1400601c5ef8345a166958",
        "272966c070237c8cb540fe67e06df51bc6ea9cc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:10:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:10:32 2008 -0800"
      },
      "message": "Merge branch \u0027sh/for-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  serial: sh-sci: Reorder the SCxTDR write after the TDxE clear.\n  sh: __copy_user function can corrupt the stack in case of exception\n  sh: Fixed the TMU0 reload value on resume\n  sh: Don\u0027t factor in PAGE_OFFSET for valid_phys_addr_range() check.\n  sh: early printk port type fix\n  i2c: fix i2c-sh_mobile rx underrun\n  sh: Provide a sane valid_phys_addr_range() to prevent TLB reset with PMB.\n  usb: r8a66597-hcd: fix wrong data access in SuperH on-chip USB\n  fix sci type for SH7723\n  serial: sh-sci: fix cannot work SH7723 SCIFA\n  sh: Handle fixmap TLB eviction more coherently.\n"
    },
    {
      "commit": "d091c2f58ba32029495a933b721e8e02fbd12caa",
      "tree": "9f20dc4cc77e7178270fb1d5946918fe44d4e3eb",
      "parents": [
        "4d41e121664893e5e338f41fbd36be4a2578c8d6"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Nov 12 21:16:43 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 11:43:37 2008 -0800"
      },
      "message": "Add \u0027pr_fmt()\u0027 format modifier to pr_xyz macros.\n\nA common reason for device drivers to implement their own printk macros\nis the lack of a printk prefix with the standard pr_xyz macros.\nIntroduce a pr_fmt() macro that is applied for every pr_xyz macro to the\nformat string.\n\nThe most common use of the pr_fmt macro would be to add the name of the\ndevice driver to all pr_xyz messages in a source file.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8f6fbf62de37cbc2e179176ac7010d5f4396b67",
      "tree": "ac22d719c3c93d24b7eeda395b3271be60bfc661",
      "parents": [
        "1fa989e80a9a104bf3b81842a5f4c1867d7aa9c4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 01:38:36 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 13 23:19:10 2008 -0800"
      },
      "message": "lockdep: include/linux/lockdep.h - fix warning in net/bluetooth/af_bluetooth.c\n\nfix this warning:\n\n  net/bluetooth/af_bluetooth.c:60: warning: ‘bt_key_strings’ defined but not used\n  net/bluetooth/af_bluetooth.c:71: warning: ‘bt_slock_key_strings’ defined but not used\n\nthis is a lockdep macro problem in the !LOCKDEP case.\n\nWe cannot convert it to an inline because the macro works on multiple types,\nbut we can mark the parameter used.\n\n[ also clean up a misaligned tab in sock_lock_init_class_and_name() ]\n\n[ also remove #ifdefs from around af_family_clock_key strings - which\n  were certainly added to get rid of the ugly build warnings. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f30ab418a1d3c5a8b83493e7d70d6876a74aa0ce",
      "tree": "271f0d093d2436b0d0ebdff151fc4f5b1fb15f21",
      "parents": [
        "38a7ddffa4b79d7b1fbc9bf2fa82b21b72622858"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Nov 13 22:56:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 13 22:56:30 2008 -0800"
      },
      "message": "pkt_sched: Remove qdisc-\u003eops-\u003erequeue() etc.\n\nAfter implementing qdisc-\u003eops-\u003epeek() and changing sch_netem into\nclassless qdisc there are no more qdisc-\u003eops-\u003erequeue() users. This\npatch removes this method with its wrappers (qdisc_requeue()), and\nalso unused qdisc-\u003erequeue structure. There are a few minor fixes of\nwarnings (htb_enqueue()) and comments btw.\n\nThe idea to kill -\u003erequeue() and a similar patch were first developed\nby David S. Miller.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38a7ddffa4b79d7b1fbc9bf2fa82b21b72622858",
      "tree": "6711f02448d77e748f416dc7f66b1e38fbd226ba",
      "parents": [
        "00bcd522ea0a62f5e2a9c6ad4924cbbd8d05b026"
      ],
      "author": {
        "name": "Petr Tesarik",
        "email": "ptesarik@suse.cz",
        "time": "Thu Nov 13 22:44:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 13 22:44:11 2008 -0800"
      },
      "message": "tcp: remove an unnecessary field in struct tcp_skb_cb\n\nThe urg_ptr field is not used anywhere and is merely confusing.\n\nSigned-off-by: Petr Tesarik \u003cptesarik@suse.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "352d026338378b1f13f044e33c1047da6e470056",
      "tree": "92e178cc234bfd19f15e8623b1b92d21918cb3fa",
      "parents": [
        "0047ca0a45c6a481abd467fb52d2a480ffc8c6b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 29 15:16:58 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 13 14:45:00 2008 -0800"
      },
      "message": "USB: don\u0027t register endpoints for interfaces that are going away\n\nThis patch (as1155) fixes a bug in usbcore.  When interfaces are\ndeleted, either because the device was disconnected or because of a\nconfiguration change, the extra attribute files and child endpoint\ndevices may get left behind.  This is because the core removes them\nbefore calling device_del().  But during device_del(), after the\ndriver is unbound the core will reinstall altsetting 0 and recreate\nthose extra attributes and children.\n\nThe patch prevents this by adding a flag to record when the interface\nis in the midst of being unregistered.  When the flag is set, the\nattribute files and child devices will not be created.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e [2.6.27, 2.6.26, 2.6.25]\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "d7de4c1dc3a2faca0bf05d9e342f885cb2696766",
      "tree": "c7ea498a84b9319443af8cafba5deb6602dfb3a5",
      "parents": [
        "02f5621042e3f7e2fb6c741cbe5ee7c1f3caf354"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Nov 13 20:40:12 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Nov 13 20:49:02 2008 +0200"
      },
      "message": "slab: document SLAB_DESTROY_BY_RCU\n\nExplain this SLAB_DESTROY_BY_RCU thing...\n\n[hugh@veritas.com: add a pointer to comment in mm/slab.c]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "437184ae8bd1ef923a40b009e37801deae66ad55",
      "tree": "9b9fc2b295998135334c9a6fa32efff589486187",
      "parents": [
        "a96d6ef34751093797c3a6c6080733dd7af23d35"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Tue Nov 04 13:31:38 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Nov 13 10:31:36 2008 +0100"
      },
      "message": "HID: map macbook keys for \"Expose\" and \"Dashboard\"\n\nOn macbooks there are specific keys for the user-space functions Expose\nand Dashboard, which currently has no counterpart in input.h. This patch\nadds KEY_SCALE and KEY_DASHBOARD, and maps the keyboard accordingly.\n\nAcked-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "2378982487c492541d17adc0a870e7e83b07ba43",
      "tree": "0763aee8034a2db3c3949a6b9d7952263420335e",
      "parents": [
        "e4412cb8a6b4190cf73ae44c859fd7e3727d8b13"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Nov 12 23:25:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 23:25:32 2008 -0800"
      },
      "message": "net: ifdef struct sock::sk_async_wait_queue\n\nEvery user is under CONFIG_NET_DMA already, so ifdef field as well.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e17e1db96474af5620e3259754df4cb1c46521c",
      "tree": "cc662ebf5158b407495a4939b0ea3d16b93a1b7e",
      "parents": [
        "e0a29382c6f51c278a7e9a788917ff9182f3dba6"
      ],
      "author": {
        "name": "Rodolfo Giometti",
        "email": "giometti@linux.it",
        "time": "Wed Nov 12 13:27:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:18 2008 -0800"
      },
      "message": "Add c2 port support\n\nC2port implements a two wire serial communication protocol (bit\nbanging) designed to enable in-system programming, debugging, and\nboundary-scan testing on low pin-count Silicon Labs devices.\n\nCurrently this code supports only flash programming through sysfs\ninterface but extensions shoud be easy to add.\n\nSigned-off-by: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "077eaf5b40ecb2c345d82f02275c20e965dfa3e5",
      "tree": "9f29121591ffb69cef527e4de11d183b6bf01f6d",
      "parents": [
        "a412ae3fb90ab49072b82c8cfa1e3e60d2b27005"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 12 13:27:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:18 2008 -0800"
      },
      "message": "rtc: rtc-wm8350: add support for WM8350 RTC\n\nThis adds support for the RTC provided by the Wolfson Microelectronics\nWM8350.\n\nThis driver was originally written by Graeme Gregory and Liam Girdwood,\nthough it has been modified since then to update it to current mainline\ncoding standards and for API completeness.\n\n[akpm@linux-foundation.org: s/schedule_timeout_interruptible/schedule_timeout_uninterruptible/ to prevent bogus timeout when signal_pending()]\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Liam Girdwood \u003clinux@wolfsonmicro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b76f90b526737070302a127c710263e2ac707676",
      "tree": "360e2151e924c45dbac7a41fb77b0ec1cc5a91f8",
      "parents": [
        "afef80b3d87cae574b8c6b763505f25b74d254ef"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Nov 12 13:26:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:17 2008 -0800"
      },
      "message": "remove ratelimt()\n\nIt mistakenly assumes that a static local in an inlined function is a\nkernel-wide singleton.  It also has no callers, so let\u0027s remove it.\n\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "722faccc7eb0a9b248fba3e7020b1c3770c41aef",
      "tree": "b892e6d530d0b722b007a9cec116d8efdfaed15f",
      "parents": [
        "468cc0320ed083e26364d9febde2679d981ed6a6"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Wed Nov 12 13:24:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:16 2008 -0800"
      },
      "message": "atmel_lcdfb: change irq_base definition to allow error reporting\n\nChanged because old the definition of unsigned long cannot be negative.\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nReported-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Andrew Victor \u003clinux@maxim.org.za\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45a9524a61267a60aef3c273b97284e93b15f4d7",
      "tree": "80e7ceee6758bd7ea76cf5505aa2f41d3376b0ba",
      "parents": [
        "4416662ece4e88aca687b28d7c059336b47478ba",
        "621a0d5207c18012cb39932f2d9830a11a6cb03d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 12:00:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 12:00:15 2008 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: clean up unused callback modes\n"
    },
    {
      "commit": "08c1184fa2b785f23453b8cbb43f86b409cde3a6",
      "tree": "f3d529d72ecdbf3f6ee1d245a6d9b099408fc259",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10",
        "d1876ba4dead6ace7e9fbf16f83397e6486d0dfe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 10:24:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 10:24:46 2008 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (47 commits)\n  ACPI: pci_link: remove acpi_irq_balance_set() interface\n  fujitsu-laptop: Add DMI callback for Lifebook S6420\n  ACPI: EC: Don\u0027t do transaction from GPE handler in poll mode.\n  ACPI: EC: lower interrupt storm treshold\n  ACPICA: Use spinlock for acpi_{en|dis}able_gpe\n  ACPI: EC: restart failed command\n  ACPI: EC: wait for last write gpe\n  ACPI: EC: make kernel messages more useful when GPE storm is detected\n  ACPI: EC: revert msleep patch\n  thinkpad_acpi: fingers off backlight if video.ko is serving this functionality\n  sony-laptop: fingers off backlight if video.ko is serving this functionality\n  msi-laptop: fingers off backlight if video.ko is serving this functionality\n  fujitsu-laptop: fingers off backlight if video.ko is serving this functionality\n  eeepc-laptop: fingers off backlight if video.ko is serving this functionality\n  compal: fingers off backlight if video.ko is serving this functionality\n  asus-acpi: fingers off backlight if video.ko is serving this functionality\n  Acer-WMI: fingers off backlight if video.ko is serving this functionality\n  ACPI video: if no ACPI backlight support, use vendor drivers\n  ACPI: video: Ignore devices that aren\u0027t present in hardware\n  Delete an unwanted return statement at evgpe.c\n  ...\n"
    },
    {
      "commit": "e42ea986e4a4cab4209d982feffcaf50f21e80e3",
      "tree": "da674327f247cf325320caef87df6af5a0af8fd6",
      "parents": [
        "7a9546ee354ec6f23af403992b8c07baa50a23d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 12 00:54:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:54:54 2008 -0800"
      },
      "message": "net: Cleanup of neighbour code\n\nUsing read_pnet() and write_pnet() in neighbour code ease the reading\nof code.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "621a0d5207c18012cb39932f2d9830a11a6cb03d",
      "tree": "0e18c30c91620108b413197f9bc153ceb6e430ec",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 12 09:36:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 09:54:40 2008 +0100"
      },
      "message": "hrtimer: clean up unused callback modes\n\nImpact: cleanup\n\ngit grep HRTIMER_CB_IRQSAFE revealed half the callback modes are actually\nunused.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a9546ee354ec6f23af403992b8c07baa50a23d2",
      "tree": "8536e2f4aa79921c0b2666795cdff91be80a2057",
      "parents": [
        "8f424b5f32d78b4f353b3cddca9804808ef063eb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 12 00:54:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:54:20 2008 -0800"
      },
      "message": "net: ib_net pointer should depends on CONFIG_NET_NS\n\nWe can shrink size of \"struct inet_bind_bucket\" by 50%, using\nread_pnet() and write_pnet()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f424b5f32d78b4f353b3cddca9804808ef063eb",
      "tree": "4e481fd6ed7ab82c5d70c30a66842fa432065f64",
      "parents": [
        "9eca0a47dee201a73967026985b5f0a79a46bd36"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 12 00:53:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:53:30 2008 -0800"
      },
      "message": "net: Introduce read_pnet() and write_pnet() helpers\n\nThis patch introduces two helpers that deal with reading and writing\nstruct net pointers in various network structures.\n\nTheir implementation depends on CONFIG_NET_NS\n\nFor symmetry, both functions work with \"struct net **pnet\".\n\nTheir usage should reduce the number of #ifdef CONFIG_NET_NS,\nwithout adding many helpers for each network structure\nthat hold a \"struct net *pointer\"\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d90ebcbfa7f5a8b4e20518c9f94c5c4e4cd3c2e5",
      "tree": "b1fb407c7ee1adbe8215311675d133a83a2d55b5",
      "parents": [
        "e8ef967a54f401ac5e8637b7f7f8bddb006144c4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Nov 12 00:47:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:47:26 2008 -0800"
      },
      "message": "dccp: Query supported CCIDs\n\nThis provides a data structure to record which CCIDs are locally supported\nand three accessor functions:\n - a test function for internal use which is used to validate CCID requests\n   made by the user;\n - a copy function so that the list can be used for feature-negotiation;   \n - documented getsockopt() support so that the user can query capabilities.\n\nThe data structure is a table which is filled in at compile-time with the\nlist of available CCIDs (which in turn depends on the Kconfig choices).\n\nUsing the copy function for cloning the list of supported CCIDs is useful for\nfeature negotiation, since the negotiation is now with the full list of available\nCCIDs (e.g. {2, 3}) instead of the default value {2}. This means negotiation \nwill not fail if the peer requests to use CCID3 instead of CCID2. \n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a22f08dbd0e77c7cf45b5f527f93131d0b591b6",
      "tree": "c3f1309b26c6c8072b1194d387931ad331a36599",
      "parents": [
        "acca4f4d9bd657e8bc7e1665ba5077465138f133"
      ],
      "author": {
        "name": "Yoshihiro Shimoda",
        "email": "shimoda.yoshihiro@renesas.com",
        "time": "Tue Nov 11 12:19:05 2008 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Nov 12 12:29:56 2008 +0900"
      },
      "message": "serial: sh-sci: fix cannot work SH7723 SCIFA\n\nSH7723 has SCIFA. This module is similer SCI register map, but it has FIFO.\nSo this patch adds new type(PORT_SCIFA) and change some type checking.\n\nSigned-off-by: Yoshihiro Shimoda \u003cshimoda.yoshihiro@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "d1876ba4dead6ace7e9fbf16f83397e6486d0dfe",
      "tree": "ecf9a5b65c51ec3c8fd19a1ebe9cf70aac949aaa",
      "parents": [
        "547f7847472c097a54adf38e6576f95ab512e27c",
        "8517934ef6aaa28d6e055b98df65b31cedbd1372"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:17:26 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:17:26 2008 -0500"
      },
      "message": "Merge branch \u0027ec\u0027 into release\n"
    },
    {
      "commit": "547f7847472c097a54adf38e6576f95ab512e27c",
      "tree": "f52a5cc4ce033d50b161506bf1b7d929f301dde2",
      "parents": [
        "f398778aa336a2919ee04ba45d915007230c6957",
        "5b53ed69158eeff115004f246193d07a083445f6"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:17:03 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:17:03 2008 -0500"
      },
      "message": "Merge branch \u0027processor-256\u0027 into release\n"
    },
    {
      "commit": "f398778aa336a2919ee04ba45d915007230c6957",
      "tree": "c7244cd1d4af8d99c861b21ebcaeabf23e355b9f",
      "parents": [
        "9b5a56ddfd615a27e3a0856ceae1592a24021e42",
        "2dba1b5d87e08a294da5cdfa4d32908000e9b085"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:15:50 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:15:50 2008 -0500"
      },
      "message": "Merge branch \u0027video\u0027 into release\n\nConflicts:\n\tDocumentation/kernel-parameters.txt\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3e0fe364835cecc8560cf32bb9609f4c56c5d9fa",
      "tree": "be2236bd4f6f16aee24cca5217449dc03a6c1e85",
      "parents": [
        "e911d27af43e7d28d59a96a4682e8942f0661469",
        "32836259ff25ce97010569706cd33ba94de81d62"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:14:11 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:14:11 2008 -0500"
      },
      "message": "Merge branch \u0027misc\u0027 into release\n"
    },
    {
      "commit": "597e4fabb0b0c7fdfa7c2d551fd0a797aab7e53b",
      "tree": "2864bd6b9a5919698bc497892927849fed53618a",
      "parents": [
        "3ad4f597058301c97f362e500a32f63f5c950a45",
        "ed206fac87d65917280b6c3edd3f01125d4095c9"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:13:50 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:13:50 2008 -0500"
      },
      "message": "Merge branch \u0027bugzilla-11312\u0027 into release\n"
    },
    {
      "commit": "6bb3ce25d05f2990c8a19adaf427531430267c1f",
      "tree": "38c19e4776b36163b9d100258139d58287475f6b",
      "parents": [
        "9b739ba5e66c96938fbc07a4dbd9da5b81eac56f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 11 17:25:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 17:25:22 2008 -0800"
      },
      "message": "net: remove struct dst_entry::entry_size\n\nUnused after kmem_cache_zalloc() conversion.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b739ba5e66c96938fbc07a4dbd9da5b81eac56f",
      "tree": "7a9fe83f69aac8b870144ee90a2b6071a3f96165",
      "parents": [
        "7e452baf6b96b5aeba097afd91501d33d390cc97"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 11 16:47:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 16:47:44 2008 -0800"
      },
      "message": "net: remove struct neigh_table::pde\n\n-\u003epde isn\u0027t actually needed, since name is stashed in -\u003eid.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e452baf6b96b5aeba097afd91501d33d390cc97",
      "tree": "9b0e062d3677d50d731ffd0fba47423bfdee9253",
      "parents": [
        "3ac38c3a2e7dac3f8f35a56eb85c27881a4c3833",
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/message/fusion/mptlan.c\n\tdrivers/net/sfc/ethtool.c\n\tnet/mac80211/debugfs_sta.c\n"
    },
    {
      "commit": "0b7084ac67fb84f0cf2f8bc02d7e0dea8521dd2d",
      "tree": "0a619ac7a700543e6ba69aa5a568e5678ec0603d",
      "parents": [
        "a2f93aeadf97e870ff385030633a73e21146815d"
      ],
      "author": {
        "name": "Alexey Starikovskiy",
        "email": "astarikovskiy@suse.de",
        "time": "Sat Oct 25 21:48:46 2008 +0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 18:35:42 2008 -0500"
      },
      "message": "ACPICA: Use spinlock for acpi_{en|dis}able_gpe\n\nDisabling gpe might interfere with gpe detection/handling,\nthus producing \"interrupt not handled\" errors.\nIronically, disabling of GPE from interrupt context is already\nunder spinlock, so only userspace needs to start using it.\n\nSigned-off-by: Alexey Starikovskiy \u003castarikovskiy@suse.de\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c1e7abbc7afc97367cd77c8f2895c2169a8f9c87",
      "tree": "826aa8fff448bc3dcd167d3623fbcc311a768c1f",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10",
        "a358324466b171e145df20bdb74fe81759906de6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "message": "Merge branch \u0027devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "a358324466b171e145df20bdb74fe81759906de6",
      "tree": "50b2b0b72ff40da6be232eb85d33a203612f3164",
      "parents": [
        "4143c5cb36331155a1823af8b3a8c761a59fed71"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:01:42 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:02:04 2008 -0500"
      },
      "message": "ring-buffer: buffer record on/off switch\n\nImpact: enable/disable ring buffer recording API added\n\nSeveral kernel developers have requested that there be a way to stop\nrecording into the ring buffers with a simple switch that can also\nbe enabled from userspace. This patch addes a new kernel API to the\nring buffers called:\n\n tracing_on()\n tracing_off()\n\nWhen tracing_off() is called, all ring buffers will not be able to record\ninto their buffers.\n\ntracing_on() will enable the ring buffers again.\n\nThese two act like an on/off switch. That is, there is no counting of the\nnumber of times tracing_off or tracing_on has been called.\n\nA new file is added to the debugfs/tracing directory called\n\n  tracing_on\n\nThis allows for userspace applications to also flip the switch.\n\n  echo 0 \u003e debugfs/tracing/tracing_on\n\ndisables the tracing.\n\n  echo 1 \u003e /debugfs/tracing/tracing_on\n\nenables it.\n\nNote, this does not disable or enable any tracers. It only sets or clears\na flag that needs to be set in order for the ring buffers to write to\ntheir buffers. It is a global flag, and affects all ring buffers.\n\nThe buffers start out with tracing_on enabled.\n\nThere are now three flags that control recording into the buffers:\n\n tracing_on: which affects all ring buffer tracers.\n\n buffer-\u003erecord_disabled: which affects an allocated buffer, which may be set\n     if an anomaly is detected, and tracing is disabled.\n\n cpu_buffer-\u003erecord_disabled: which is set by tracing_stop() or if an\n     anomaly is detected. tracing_start can not reenable this if\n     an anomaly occurred.\n\nThe userspace debugfs/tracing/tracing_enabled is implemented with\ntracing_stop() but the user space code can not enable it if the kernel\ncalled tracing_stop().\n\nUserspace can enable the tracing_on even if the kernel disabled it.\nIt is just a switch used to stop tracing if a condition was hit.\ntracing_on is not for protecting critical areas in the kernel nor is\nit for stopping tracing if an anomaly occurred. This is because userspace\ncan reenable it at any time.\n\nSide effect: With this patch, I discovered a dead variable in ftrace.c\n  called tracing_on. This patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2f96cb57cde9957bac0991c712068d29364b2ac9",
      "tree": "60e3f985b9e865f3a1fdda131599fa84159cc73e",
      "parents": [
        "09eb3b5b1bcab7b25e9dd57e90ee9753adf7afe2",
        "2002c69595a092518107f7e3c1294c9710bc92ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:52:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:52:25 2008 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: release buddies on yield\n  fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n  sched: clean up debug info\n"
    },
    {
      "commit": "0906dd9df2f79042cfa82d8388895be7cbe7a51b",
      "tree": "98344a1ecf258320008846434475e58c70f479c3",
      "parents": [
        "8eb04cf3402c59e84af9d2e86149edb4044f9a9e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Nov 11 14:51:23 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:30:23 2008 -0800"
      },
      "message": "telephony: trivial: fix up email address\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eda1be631a1efa3985b408a231ba20e1ecf0a92b",
      "tree": "bc44c294343f2b8b142a041baba19b7e314756b1",
      "parents": [
        "5da38d32824eb27c325d296bf3a39b5946578789",
        "0baf823a10bd4131f70e9712d1f02de3c247f1df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:22:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:22:24 2008 -0800"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/i915: Move legacy breadcrumb out of the reserved status page area\n  drm/i915: Filter pci devices based on PCI_CLASS_DISPLAY_VGA\n  drm/radeon: map registers at load time\n  drm: Remove infrastructure for supporting i915\u0027s vblank swapping.\n  i915: Remove racy delayed vblank swap ioctl.\n  i915: Don\u0027t whine when pci_enable_msi() fails.\n  i915: Don\u0027t attempt to short-circuit object_wait_rendering by checking domains.\n  i915: Clean up sarea pointers on leavevt\n  i915: Save/restore MCHBAR_RENDER_STANDBY on GM965/GM45\n"
    },
    {
      "commit": "0a4cf2c8786219b4871c37240ab9787a61d843ee",
      "tree": "a126516733f3a757711754bbac189417c79d8bcb",
      "parents": [
        "4694516d1987303dd83bfd0efdd36fa5b65d701b",
        "df02c6ff2e3937379b31ea161b53229134fe92f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:20:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:20:29 2008 -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:\n  dsa: fix master interface allmulti/promisc handling\n  dsa: fix skb-\u003epkt_type when mac address of slave interface differs\n  net: fix setting of skb-\u003etail in skb_recycle_check()\n  net: fix /proc/net/snmp as memory corruptor\n  mac80211: fix a buffer overrun in station debug code\n  netfilter: payload_len is be16, add size of struct rather than size of pointer\n  ipv6: fix ip6_mr_init error path\n  [4/4] dca: fixup initialization dependency\n  [3/4] I/OAT: fix async_tx.callback checking\n  [2/4] I/OAT: fix dma_pin_iovec_pages() error handling\n  [1/4] I/OAT: fix channel resources free for not allocated channels\n  ssb: Fix DMA-API compilation for non-PCI systems\n  SSB: hide empty sub menu\n  vlan: Fix typos in proc output string\n  [netdrvr] usb/hso: Cleanup rfkill error handling\n  sfc: Correct address of gPXE boot configuration in EEPROM\n  el3_common_init() should be __devinit, not __init\n  hso: rfkill type should be WWAN\n  mlx4_en: Start port error flow bug fix\n  af_key: mark policy as dead before destroying\n"
    },
    {
      "commit": "afa21e0584f78964c092981fad94e45d38cda249",
      "tree": "e9902386afb4995ffcec006745c194a136813f0f",
      "parents": [
        "78538bf14995a136c2d9a22159ada49937359119"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Tue Nov 11 18:02:12 2008 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Tue Nov 11 18:02:12 2008 +1000"
      },
      "message": "drm/i915: Filter pci devices based on PCI_CLASS_DISPLAY_VGA\n\nThis fixes hangs on 855-class hardware by avoiding double attachment of the\ndriver due to the stub second head device having the same pci id as the real\ndevice.\n\nOther DRM drivers probably want this treatment as well, but I\u0027m applying it\njust to this one for safety. But we should clean up the drm_pciids.h mess\nnow so that each driver has its own pci id list header in its own directory.\nLets do that in the next release.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5d8e6bb7a20b6206e1fe44565efc383a941b81fa",
      "tree": "088f954cf9d902455b1db968954fb3aed6edb246",
      "parents": [
        "bd95e0a4a6bb9485fe35dda62719663f6ceabae1"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Tue Nov 04 18:36:29 2008 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Tue Nov 11 17:44:26 2008 +1000"
      },
      "message": "drm: Remove infrastructure for supporting i915\u0027s vblank swapping.\n\nIt\u0027s not used in any other drivers, and doesn\u0027t look like it will be from\ndrm.git master.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "ad474caca3e2a0550b7ce0706527ad5ab389a4d4",
      "tree": "6d4e5cbcee3a85230317a33d66655ece0c873f5c",
      "parents": [
        "5ac5c4d604bf894ef672a7971d03fefdc7ea7e49"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Nov 10 15:39:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 08:01:43 2008 +0100"
      },
      "message": "fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n\nImpact: fix hang/crash on ia64 under high load\n\nThis is ugly, but the simplest patch by far.\n\nUnlike other similar routines, account_group_exec_runtime() could be\ncalled \"implicitly\" from within scheduler after exit_notify(). This\nmeans we can race with the parent doing release_task(), we can\u0027t just\ncheck -\u003esignal !\u003d NULL.\n\nChange __exit_signal() to do spin_unlock_wait(\u0026task_rq(tsk)-\u003elock)\nbefore __cleanup_signal() to make sure -\u003esignal can\u0027t be freed under\ntask_rq(tsk)-\u003elock. Note that task_rq_unlock_wait() doesn\u0027t care\nabout the case when tsk changes cpu/rq under us, this should be OK.\n\nThanks to Ingo who nacked my previous buggy patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Doug Chapman \u003cdoug.chapman@hp.com\u003e\n"
    },
    {
      "commit": "fb28ad35906af2f042c94e2f9c0f898ef9acfa37",
      "tree": "ee3d535ab38d680b424a857406789f8c28bf5266",
      "parents": [
        "23779897546c1effb546ff89b89803d9d955d517"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon Nov 10 13:55:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 10 13:55:14 2008 -0800"
      },
      "message": "net: struct device - replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd0fcf5c29dd0339c5f5d86eb2cbe9fdad5bcd73",
      "tree": "3c03b581b0e069d45d4d35f234c16b663cdfa2af",
      "parents": [
        "9581483444d002e0b3807d9e66f552f372a6fc5e"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu Nov 06 10:49:21 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 10 13:50:19 2008 -0800"
      },
      "message": "ssb: Fix DMA-API compilation for non-PCI systems\n\nThis fixes compilation of the SSB DMA-API code on non-PCI platforms.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b219cee191e7cfe88a695a57249a295d0d5b22e9",
      "tree": "847fb7174520c9e6aa655ec7f563788336ced9aa",
      "parents": [
        "9c96477d10763d4314012425ecc8a3cff9e60ea9"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Oct 30 13:33:55 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:41 2008 -0500"
      },
      "message": "cfg80211: make use of reg macros on REG_RULE\n\nEnsure regulatory converstion macros safely accept\nmultiple arguments and make REG_RULE() use them.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fc6971d491517ba15e800540ff88caa55dc65b01",
      "tree": "fb435b91e098f8d9a10b8fb217e3d5416d0d5288",
      "parents": [
        "fbf189273926d83d71c4c321f1215162569506ac"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Oct 30 19:59:05 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:41 2008 -0500"
      },
      "message": "mac80211_hwsim: Add support for client PS mode\n\nThis introduces a debugfs file (ieee80211/phy#/hwsim/ps) that can be\nused to force a simulated radio into power save mode. Following values\ncan be written into this file to change PS mode:\n0 \u003d power save disabled (constantly awake)\n1 \u003d power save enabled (drop all frames; do not send PS-Poll)\n2 \u003d power save enabled (send PS-Poll frames automatically to receive\n    buffered unicast frames); not yet fully implemented\n3 \u003d manual PS-Poll trigger (send a single PS-Poll frame)\n\nTwo different behavior for power save mode processing can be tested:\n- move between modes 1 and 0 (i.e., receive all buffered frames at a\n  time)\n- move to mode 1 and use manual PS-Poll frames (write 3 to the \u0027ps\u0027\n  debugfs file) to fetch power save buffered frames one at a time\n\nMode 2 (automatic PS-Poll) does not yet parse Beacon frames, but\neventually, it should take a look at TIM IE and send PS-Poll if a\ntraffic bit is set for our AID.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "318884875bdddca663ecc373c813cf8e117d9e43",
      "tree": "de9cfbe0bf24bea0ab1546a0613fbc9417bb6cb8",
      "parents": [
        "1e898ff83c31c303f73c3893d1ac519e4d9b59e5"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Oct 30 16:59:24 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:40 2008 -0500"
      },
      "message": "nl80211: Add TX queue parameter configuration\n\nAdd a new attribute, NL80211_ATTR_WIPHY_TXQ_PARAMS, that can be used with\nNL80211_CMD_SET_WIPHY for userspace (e.g., hostapd) to set TX queue\nparameters (txop, cwmin, cwmax, aifs).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "90c97a040d6b08cc4890328aa262fdc37336ab01",
      "tree": "d152a2edcb55d2d7b0428721341f7b271ffe39f8",
      "parents": [
        "fe63bfa3669dbdd4985ed35d9a0ed08881f62516"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Oct 30 16:59:22 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:39 2008 -0500"
      },
      "message": "nl80211: Add basic rate configuration for AP mode\n\nAdd a new attribute, NL80211_ATTR_BSS_BASIC_RATES, that can be used with\nNL80211_CMD_SET_BSS for userspace (e.g., hostapd) to set which rates are\nin the basic rate set.\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": "bd815252720e4b667d9946d050d003ec89bda099",
      "tree": "d7bb98f512c8b48031f9df01745820b7d6dfb3ac",
      "parents": [
        "743b97caf98036ec8ee4bfc6fc6f85ad94e04783"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Oct 29 20:00:45 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:35 2008 -0500"
      },
      "message": "wireless: implement basic rate helper function\n\nThis adds a helper function that, given a bitmap of basic\nrates and a bitrate returns the response rate for this rate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8469cdef1f123e2e3e56645f1ac26c7cfb333d9c",
      "tree": "40f9cffd53ee14f16334dcb96447484eeb93e0d6",
      "parents": [
        "dca3edb88ef567671886a85c5e40d491ccecf934"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Wed Oct 29 10:19:28 2008 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:32 2008 -0500"
      },
      "message": "mac80211: Add a new event in ieee80211_ampdu_mlme_action\n\nSend a notification to the driver on succesful\nreception of an ADDBA response, add IEEE80211_AMPDU_TX_RESUME\nfor this purpose.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "41bb73eeac5ff5fb217257ba33b654747b3abf11",
      "tree": "766ebc2b0da42bb30abbc59ec9a2dd4e43f7a825",
      "parents": [
        "b23f99bcfa12c7b452f7ad201ea5921534d4e9ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Oct 29 01:09:37 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:11:56 2008 -0500"
      },
      "message": "mac80211: remove SSID driver code\n\nRemove the SSID from the driver API since now there is no\ndriver that requires knowing the SSID and I think it\u0027s\nunlikely that any hardware design that does require the\nSSID will play well with mac80211.\n\nThis also removes support for setting the SSID in master\nmode which will require a patch to hostapd to not try.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "1239cd58d237fa6ad501acaec8776262a5784ec8"
}
