)]}'
{
  "log": [
    {
      "commit": "9247744e5eaa29aecee5342a0c8694187a6aadcd",
      "tree": "74ccf6e63f2a8192502f432376b1f68136ace8b1",
      "parents": [
        "1f1900f935e810d01c716fa2aaf8c9d25caa4151"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sat Mar 21 13:39:26 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 21 13:39:26 2009 -0700"
      },
      "message": "skb: expose and constify hash primitives\n\nSome minor changes to queue hashing:\n 1. Use const on accessor functions\n 2. Export skb_tx_hash for use in drivers (see ixgbe)\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e140dfc1fe87eae27846f193086724806b33c7d",
      "tree": "a38240220f71ac128576cd8f432248442bac2deb",
      "parents": [
        "408896d508794c98a2ac6b6e1dcd7a4888a4d32b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Mar 20 01:33:32 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 20 01:33:32 2009 -0700"
      },
      "message": "net: reorder struct Qdisc for better SMP performance\n\ndev_queue_xmit() needs to dirty fields \"state\", \"q\", \"bstats\" and \"qstats\"\n\nOn x86_64 arch, they currently span three cache lines, involving more\ncache line ping pongs than necessary, making longer holding of queue spinlock.\n\nWe can reduce this to one cache line, by grouping all read-mostly fields\nat the beginning of structure. (Or should I say, all highly modified fields\nat the end :) )\n\nBefore patch :\n\noffsetof(struct Qdisc, state)\u003d0x38\noffsetof(struct Qdisc, q)\u003d0x48\noffsetof(struct Qdisc, bstats)\u003d0x80\noffsetof(struct Qdisc, qstats)\u003d0x90\nsizeof(struct Qdisc)\u003d0xc8\n\nAfter patch :\n\noffsetof(struct Qdisc, state)\u003d0x80\noffsetof(struct Qdisc, q)\u003d0x88\noffsetof(struct Qdisc, bstats)\u003d0xa0\noffsetof(struct Qdisc, qstats)\u003d0xac\nsizeof(struct Qdisc)\u003d0xc0\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e1ab634bf013792d8803ec57c7a428a76f50028",
      "tree": "f97277830d6c25483e63c32c13718cba61c20ac9",
      "parents": [
        "4826857f1bf07f9c0f1495e9b05d125552c88a85"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Mar 19 23:49:41 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 19 23:49:41 2009 -0700"
      },
      "message": "rtnetlink: add new value for DHCP added routes\n\nTo improve manageability, it would be good to be able to disambiguate routes\nadded by administrator from those added by DHCP client.  The only necessary\nkernel change is to add value to rtnetlink include file so iproute2 utility\ncan use it.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af4330631cd48987755f1a8d324dc318f60cf16b",
      "tree": "3c9233e81b450921326da13a7f8abacb58ab1f5e",
      "parents": [
        "2d6a5e9500103680464a723a4564961675652680",
        "808ff697b357cee54e214efd27921a9ec6461a94"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 17 15:04:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 17 15:04:31 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "73d54c9e74c4d8ee8a41bc516f481f0f754eca32",
      "tree": "ce190210e3a0cd00008b7aa88af6c1ebccee2193",
      "parents": [
        "7db90f4a25bd4184f3d36dfa4f512f53b0448da7"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Mon Mar 09 22:07:42 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 16 18:09:40 2009 -0400"
      },
      "message": "cfg80211: add regulatory netlink multicast group\n\nThis allows us to send to userspace \"regulatory\" events.\nFor now we just send an event when we change regulatory domains.\nWe also notify userspace when devices are using their own custom\nworld roaming regulatory domains.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7db90f4a25bd4184f3d36dfa4f512f53b0448da7",
      "tree": "839b8103801cac9342763e1b62e84730a8050ccc",
      "parents": [
        "0fee54cab7d5ebc58fad8c6a0703c4ea016405e3"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Mon Mar 09 22:07:41 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 16 18:09:40 2009 -0400"
      },
      "message": "cfg80211: move enum reg_set_by to nl80211.h\n\nWe do this so we can later inform userspace who set the\nregulatory domain and provide details of the request.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d1c76af9e2434fac3add561e26c61b06503de986",
      "tree": "cbedc7c96c4b7db3d7a5a8300117804c5e0230d9",
      "parents": [
        "afece1c6587010cc81d1a43045c855774e8234a3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 16 10:50:02 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 16 10:50:02 2009 -0700"
      },
      "message": "GRO: Move netpoll checks to correct location\n\nAs my netpoll fix for net doesn\u0027t really work for net-next, we\nneed this update to move the checks into the right place.  As it\nstands we may pass freed skbs to netpoll_receive_skb.\n\nThis patch also introduces a netpoll_rx_on function to avoid GRO\ncompletely if we\u0027re invoked through netpoll.  This might seem\nparanoid but as netpoll may have an external receive hook it\u0027s\nbetter to be safe than sorry.  I don\u0027t think we need this for\n2.6.29 though since there\u0027s nothing immediately broken by it.\n\nThis patch also moves the GRO_* return values to netdevice.h since\nVLAN needs them too (I tried to avoid this originally but alas\nthis seems to be the easiest way out).  This fixes a bug in VLAN\nwhere it continued to use the old return value 2 instead of the\ncorrect GRO_DROP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a3a041c4e2c1685e668b280c121a5a40a029a03",
      "tree": "dab327c0cbebec79968c3c2207d064a9152857f0",
      "parents": [
        "0c54b85f2828128274f319a1eb3ce7f604fe2a53"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Mar 14 22:45:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 15 20:09:55 2009 -0700"
      },
      "message": "tcp: cache result of earlier divides when mss-aligning things\n\nThe results is very unlikely change every so often so we\nhardly need to divide again after doing that once for a\nconnection. Yet, if divide still becomes necessary we\ndetect that and do the right thing and again settle for\nnon-divide state. Takes the u16 space which was previously\ntaken by the plain xmit_size_goal.\n\nThis should take care part of the tso vs non-tso difference\nwe found earlier.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c54b85f2828128274f319a1eb3ce7f604fe2a53",
      "tree": "8ff84b9aa9cd4775f244c2421e11adfbd206a7bf",
      "parents": [
        "72211e90501f954f586481c25521c3724cda3cc7"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Mar 14 14:23:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 15 20:09:54 2009 -0700"
      },
      "message": "tcp: simplify tcp_current_mss\n\nThere\u0027s very little need for most of the callsites to get\ntp-\u003exmit_goal_size updated. That will cost us divide as is,\nso slice the function in two. Also, the only users of the\ntp-\u003exmit_goal_size are directly behind tcp_current_mss(),\nso there\u0027s no need to store that variable into tcp_sock\nat all! The drop of xmit_goal_size currently leaves 16-bit\nhole and some reorganization would again be necessary to\nchange that (but I\u0027m aiming to fill that hole with u16\nxmit_goal_size_segs to cache the results of the remaining\ndivide to get that tso on regression).\n\nBring xmit_goal_size parts into tcp.c\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nCc: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8bdd663aba341c15cd2fa9dbd7061b8b387964dc",
      "tree": "9b80e3490f43477dbf42602cfc6b6d198bffc669",
      "parents": [
        "ff4fbd43fe82de28710761f2cc2ed122d716483a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 15 19:59:13 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 15 19:59:13 2009 -0700"
      },
      "message": "net: reorder fields of struct socket\n\nOn x86_64, its rather unfortunate that \"wait_queue_head_t wait\"\nfield of \"struct socket\" spans two cache lines (assuming a 64\nbytes cache line in current cpus)\n\noffsetof(struct socket, wait)\u003d0x30\nsizeof(wait_queue_head_t)\u003d0x18\n\nThis might explain why Kenny Chang noticed that his multicast workload\nwas performing bad with 64 bit kernels, since more cache lines ping pongs\nwere involved.\n\nThis litle patch moves \"wait\" field next \"fasync_list\" so that both\nfields share a single cache line, to speedup sock_def_readable()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c705260feea6ae329bc6b6d5f6d2ef0227eda0a",
      "tree": "0c8dc286ff35bbd0c75be020bee609b771084ae3",
      "parents": [
        "a2025b8b1039e5abaa38319b2eaab3b17867479a"
      ],
      "author": {
        "name": "Gabriele Paoloni",
        "email": "gabriele.paoloni@intel.com",
        "time": "Fri Mar 13 16:09:12 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 16:09:12 2009 -0700"
      },
      "message": "ppp: ppp_mp_explode() redesign\n\nI found the PPP subsystem to not work properly when connecting channels\nwith different speeds to the same bundle.\n\nProblem Description:\n\nAs the \"ppp_mp_explode\" function fragments the sk_buff buffer evenly\namong the PPP channels that are connected to a certain PPP unit to\nmake up a bundle, if we are transmitting using an upper layer protocol\nthat requires an Ack before sending the next packet (like TCP/IP for\nexample), we will have a bandwidth bottleneck on the slowest channel\nof the bundle.\n\nLet\u0027s clarify by an example. Let\u0027s consider a scenario where we have\ntwo PPP links making up a bundle: a slow link (10KB/sec) and a fast\nlink (1000KB/sec) working at the best (full bandwidth). On the top we\nhave a TCP/IP stack sending a 1000 Bytes sk_buff buffer down to the\nPPP subsystem. The \"ppp_mp_explode\" function will divide the buffer in\ntwo fragments of 500B each (we are neglecting all the headers, crc,\nflags etc?.). Before the TCP/IP stack sends out the next buffer, it\nwill have to wait for the ACK response from the remote peer, so it\nwill have to wait for both fragments to have been sent over the two\nPPP links, received by the remote peer and reconstructed. The\nresulting behaviour is that, rather than having a bundle working\n@1010KB/sec (the sum of the channels bandwidths), we\u0027ll have a bundle\nworking @20KB/sec (the double of the slowest channels bandwidth).\n\n\nProblem Solution:\n\nThe problem has been solved by redesigning the \"ppp_mp_explode\"\nfunction in such a way to make it split the sk_buff buffer according\nto the speeds of the underlying PPP channels (the speeds of the serial\ninterfaces respectively attached to the PPP channels). Referring to\nthe above example, the redesigned \"ppp_mp_explode\" function will now\ndivide the 1000 Bytes buffer into two fragments whose sizes are set\naccording to the speeds of the channels where they are going to be\nsent on (e.g .  10 Byets on 10KB/sec channel and 990 Bytes on\n1000KB/sec channel).  The reworked function grants the same\nperformances of the original one in optimal working conditions (i.e. a\nbundle made up of PPP links all working at the same speed), while\ngreatly improving performances on the bundles made up of channels\nworking at different speeds.\n\nSigned-off-by: Gabriele Paoloni \u003cgabriele.paoloni@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a390d1f379cf821248b735f43d2e1147ebb8241d",
      "tree": "8011cb8a5056055bedb4a9f4948929e2543a727d",
      "parents": [
        "34cd347cec6dba8075ceca06efd4fb0c6574cb75"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Fri Mar 13 15:41:19 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 15:41:19 2009 -0700"
      },
      "message": "phylib: convert state_queue work to delayed_work\n\nIt closes a race in phy_stop_machine when reprogramming of phy_timer\n(from phy_state_machine) happens between del_timer_sync and cancel_work_sync.\n\nWithout this change it could lead to crash if phy_device would be freed after\nphy_stop_machine (timer would fire and schedule freed work).\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "273ae44b9cb9443e0b5265cdc99f127ddb95c8db",
      "tree": "88f3aa4ceb38700451b3f95d8be789e2624992da",
      "parents": [
        "9a8afc8d3962f3ed26fd6b56db34133860ed1e72"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Mar 11 09:53:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 12:09:29 2009 -0700"
      },
      "message": "Network Drop Monitor: Adding Build changes to enable drop monitor\n\nNetwork Drop Monitor: Adding Build changes to enable drop monitor\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/linux/Kbuild |    1 +\n net/Kconfig          |   11 +++++++++++\n net/core/Makefile    |    1 +\n 3 files changed, 13 insertions(+)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a8afc8d3962f3ed26fd6b56db34133860ed1e72",
      "tree": "fb2cd994dc04e632e9af4fb2c9f6dba056e837fb",
      "parents": [
        "ead2ceb0ec9f85cff19c43b5cdb2f8a054484431"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Mar 11 09:51:26 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 12:09:29 2009 -0700"
      },
      "message": "Network Drop Monitor: Adding drop monitor implementation \u0026 Netlink protocol\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/linux/net_dropmon.h |   56 +++++++++\n net/core/drop_monitor.c     |  263 ++++++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 319 insertions(+)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ead2ceb0ec9f85cff19c43b5cdb2f8a054484431",
      "tree": "258874b824bf241698d943daa9298bb18955e451",
      "parents": [
        "4893d39e865b2897bf9fcd329697d37032d853a1"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Mar 11 09:49:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 12:09:28 2009 -0700"
      },
      "message": "Network Drop Monitor: Adding kfree_skb_clean for non-drops and modifying end-of-line points for skbs\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/linux/skbuff.h |    4 +++-\n net/core/datagram.c    |    2 +-\n net/core/skbuff.c      |   22 ++++++++++++++++++++++\n net/ipv4/arp.c         |    2 +-\n net/ipv4/udp.c         |    2 +-\n net/packet/af_packet.c |    2 +-\n 6 files changed, 29 insertions(+), 5 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e79c1ba84c68de9161d541bd2bcc8ea65c89955c",
      "tree": "9399343651e9d92fb92f0c7bd6280353cb296913",
      "parents": [
        "e31ae0508315ebf5d8b1b8a1fca8550737fb3996"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Feb 27 16:59:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 05 14:39:32 2009 -0500"
      },
      "message": "ssb: Add SPROM fallback support\n\nThis adds SSB functionality to register a fallback SPROM image from the\narchitecture setup code.\n\nWeird architectures exist that have half-assed SSB devices without SPROM attached to\ntheir PCI busses. The architecture can register a fallback SPROM image that is\nused if no SPROM is found on the SSB device.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "508827ff0ac3981d420edac64a70de7f4e304d38",
      "tree": "b0cee8ddef9f0ceab68c388e4ae46b7295eb2cb5",
      "parents": [
        "2c3c3d02f28801d7ad2da4952b2c7ca6621ef221",
        "72e2240f181871675d3a979766330c91d48a1673"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/tokenring/tmspci.c\n\tdrivers/net/ucc_geth_mii.c\n"
    },
    {
      "commit": "77827a7cf3aa415f8afec6d9d0537dda8de90ef1",
      "tree": "503ab81e2b997e3625360b380f1cd18f923a6454",
      "parents": [
        "9d40bbda599def1e1d155d7f7dca14fe8744bd2b",
        "559595a985e106d2fa9f0c79b7f5805453fed593"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 23:59:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 23:59:54 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "9d40bbda599def1e1d155d7f7dca14fe8744bd2b",
      "tree": "d246fbaec294830ecab0bb4b3b38d925abb5ffd8",
      "parents": [
        "54acd0efab072cb70e87206329d561b297f93bbb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 23:46:25 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 23:46:25 2009 -0800"
      },
      "message": "vlan: Fix vlan-in-vlan crashes.\n\nAs analyzed by Patrick McHardy, vlan needs to reset it\u0027s\nnetdev_ops pointer in it\u0027s -\u003einit() function but this\nleaves the compat method pointers stale.\n\nAdd a netdev_resync_ops() and call it from the vlan code.\n\nAny other driver which changes -\u003enetdev_ops after register_netdevice()\nwill need to call this new function after doing so too.\n\nWith help from Patrick McHardy.\n\nTested-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c5c2d3089068d4aa378f7a40d2b5ad9d4f52ce8",
      "tree": "8c7e6c54410e5730f26ea4bc634ae5c1ef47da8b",
      "parents": [
        "fc1f9ea51de726b3b8003539788d918814c9deff"
      ],
      "author": {
        "name": "Eric Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Mar 04 00:03:08 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 00:03:08 2009 -0800"
      },
      "message": "neigh: Allow for user space users of the neighbour table\n\nCurrently it is possible to do just about everything with the arp table\nfrom user space except treat an entry like you are using it.  To that end\nimplement and a flag NTF_USE that when set in a netwlink update request\ntreats the neighbour table entry like the kernel does on the output path.\n\nThis allows user space applications to share the kernel\u0027s arp cache.\n\nSigned-off-by: Eric Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "219f170a85fee524fa528ef75a0432b79af95d0b",
      "tree": "13489998c59c5d7ac6d46b7835c7f4a6ccfab2e6",
      "parents": [
        "3024e4a99744f5b59704a6570524a312f94f010f",
        "54e991242850edc8c53f71fa5aa3ba7a93ce38f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:33:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:33:20 2009 -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: don\u0027t allow setuid to succeed if the user does not have rt bandwidth\n  sched_rt: don\u0027t start timer when rt bandwidth disabled\n"
    },
    {
      "commit": "b24746c7be75384d182845375c96433d713981bb",
      "tree": "fdb0371d9e59c94e18c946a88c4aa3bcfa4af9b1",
      "parents": [
        "f41bf2ab998daaa2ac27348d5813e0ae21c57ded",
        "a682604838763981613e42015cd0e39f2989d6bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:32:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:32:04 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Teach RCU that idle task is not quiscent state at boot\n"
    },
    {
      "commit": "2d44947a56f7a567f2e9250dc458a6288d774f9c",
      "tree": "9156958b53ef544b314c9af708f43a6e425dfc72",
      "parents": [
        "359aa09be9b2b343e01306cb4a6f29d7159d7498",
        "5ce04e3de8c36ba37c56e94e3c4dc7973c7f546c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 02 15:47:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 02 15:47:01 2009 -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  fix warning in io_mapping_map_wc()\n  x86: i915 needs pgprot_writecombine() and is_io_mapping_possible()\n"
    },
    {
      "commit": "d3a21be86c178964167aa54c39a01260d33e7509",
      "tree": "4dbce3db76be1ec0bf11662d94921be2e13e7572",
      "parents": [
        "94f52cd152ce20aa72415bcf0804faee0d31d023"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Mar 02 03:15:58 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:15:58 2009 -0800"
      },
      "message": "skbuff.h: fix timestamps kernel-doc\n\nFix skbuff.h kernel-doc for timestamps: must include \"struct\" keyword,\notherwise there are kernel-doc errors:\n\nError(linux-next-20090227//include/linux/skbuff.h:161): cannot understand prototype: \u0027struct skb_shared_hwtstamps \u0027\nError(linux-next-20090227//include/linux/skbuff.h:177): cannot understand prototype: \u0027union skb_shared_tx \u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c747583d19d5d5147a9f0eae480c1fdbc84c4252",
      "tree": "e0af269356987f4096eb44b659bb874431264294",
      "parents": [
        "61b8d2688a0cc9434b18144342c719f809691d72"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Feb 28 23:42:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:10:28 2009 -0800"
      },
      "message": "wimax/i2400m: implement RX reorder support\n\nAllow the device to give the driver RX data with reorder information.\n\nWhen that is done, the device will indicate the driver if a packet has\nto be held in a (sorted) queue. It will also tell the driver when held\npackets have to be released to the OS.\n\nThis is done to improve the WiMAX-protocol level retransmission\nsupport when missing frames are detected.\n\nThe code docs provide details about the implementation.\n\nIn general, this just hooks into the RX path in rx.c; if a packet with\nthe reorder bit in the RX header is detected, the reorder information\nin the header is extracted and one of the four main reorder operations\nare executed. In one case (queue) no packet will be delivered to the\nnetworking stack, just queued, whereas in the others (reset, update_ws\nand queue_update_ws), queued packet might be delivered depending on\nthe window start for the specific queue.\n\nThe modifications to files other than rx.c are:\n\n- control.c: during device initialization, enable reordering support\n  if the rx_reorder_disabled module parameter is not enabled\n\n- driver.c: expose a rx_reorder_disable module parameter and call\n  i2400m_rx_setup/release() to initialize/shutdown RX reorder\n  support.\n\n- i2400m.h: introduce members in \u0027struct i2400m\u0027 needed for\n  implementing reorder support.\n\n- linux/i2400m.h: introduce TLVs, commands and constant definitions\n  related to RX reorder\n\nLast but not least, the rx reorder code includes an small circular log\nwhere the last N reorder operations are recorded to be displayed in\ncase of inconsistency. Otherwise diagnosing issues would be almost\nimpossible.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd5c565c0c04d2716cfdac3f1de3c2261d6a457d",
      "tree": "0f64176368c6ffb5b4f95abf37b422bfba7fdd6e",
      "parents": [
        "347707baa77d273d79258303e00200d40cf3b323"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Feb 28 23:42:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:10:26 2009 -0800"
      },
      "message": "wimax/i2400m: support extended data RX protocol (no need to reallocate skbs)\n\nNewer i2400m firmwares (\u003e\u003d v1.4) extend the data RX protocol so that\neach packet has a 16 byte header. This header is mainly used to\nimplement host reordeing (which is addressed in later commits).\n\nHowever, this header also allows us to overwrite it (once data has\nbeen extracted) with an Ethernet header and deliver to the networking\nstack without having to reallocate the skb (as it happened in fw \u003c\u003d\nv1.3) to make room for it.\n\n- control.c: indicate the device [dev_initialize()] that the driver\n  wants to use the extended data RX protocol. Also involves adding the\n  definition of the needed data types in include/linux/wimax/i2400m.h.\n\n- rx.c: handle the new payload type for the extended RX data\n  protocol. Prepares the skb for delivery to\n  netdev.c:i2400m_net_erx().\n\n- netdev.c: Introduce i2400m_net_erx() that adds the fake ethernet\n  address to a prepared skb and delivers it to the networking\n  stack.\n\n- cleanup: in most instances in rx.c, the variable \u0027single\u0027 was\n  renamed to \u0027single_last\u0027 for it better conveys its meaning.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "347707baa77d273d79258303e00200d40cf3b323",
      "tree": "fb0ebb6f2f7b063948aa30ba836d1fe3a9405512",
      "parents": [
        "8987691a4aa6622a1b58bb12c56abaf3d2098fad"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sat Feb 28 23:42:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:10:26 2009 -0800"
      },
      "message": "wimax: struct device - replace bus_id with dev_name(), dev_set_name()\n\nCc: inaky.perez-gonzalez@intel.com\nCc: linux-wimax@intel.com\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8987691a4aa6622a1b58bb12c56abaf3d2098fad",
      "tree": "92da0abdf6a29aa60ec5aff6250b1937d4c264d6",
      "parents": [
        "6a0f7ab8305cb60a43a6c4a548f57adab784e6cd"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Feb 28 23:42:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:10:25 2009 -0800"
      },
      "message": "wimax/i2400m: allow control of the base-station idle mode timeout\n\nFor power saving reasons, WiMAX links can be put in idle mode while\nconnected after a certain time of the link not being used for tx or\nrx. In this mode, the device pages the base-station regularly and when\ndata is ready to be transmitted, the link is revived.\n\nThis patch allows the user to control the time the device has to be\nidle before it decides to go to idle mode from a sysfs\ninterace.\n\nIt also updates the initialization code to acknowledge the module\nvariable \u0027idle_mode_disabled\u0027 when the firmware is a newer version\n(upcoming 1.4 vs 2.6.29\u0027s v1.3).\n\nThe method for setting the idle mode timeout in the older firmwares is\nmuch more limited and can be only done at initialization time. Thus,\nthe sysfs file will return -ENOSYS on older ones.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cabeccbd172cc305f4383f5a4808ae254745275f",
      "tree": "0504d469ae4fc1a6c1ba368b3cc99ae7f55520cb",
      "parents": [
        "758ce5c8d11d6fc57fe5f1dbc237aa8ff6386eac"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Feb 28 04:44:38 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:00:16 2009 -0800"
      },
      "message": "tcp: kill eff_sacks \"cache\", the sole user can calculate itself\n\nAlso fixes insignificant bug that would cause sending of stale\nSACK block (would occur in some corner cases).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ce04e3de8c36ba37c56e94e3c4dc7973c7f546c",
      "tree": "3a87dd2eeb07fe9fc5eaa10479a14cfbe9d07008",
      "parents": [
        "92b9af9e4f144535c65aee673cfad309f25fa465"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Sun Mar 01 08:53:27 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 02 09:43:32 2009 +0100"
      },
      "message": "fix warning in io_mapping_map_wc()\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa4abc9bcce0d2a7ec189e897f8f8c58ca04643b",
      "tree": "22ef88d84a2e06380bb6a853c3ba28657e4e5f92",
      "parents": [
        "814c01dc7c533033b4e99981a2e24a6195bfb43c",
        "52c0326beaa3cb0049d0f1c51c6ad5d4a04e4430"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 01 21:35:16 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 01 21:35:16 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-tx.c\n\tnet/8021q/vlan_core.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "709ab3261e3ed789c0bb31c6ab53c9eccb276522",
      "tree": "206e2d9fb761b01ff33c6633ed9f5a668f12422a",
      "parents": [
        "5c2522218059ca1f4174a568923b988aad3ddfda"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Fri Feb 27 10:01:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 01 00:19:36 2009 -0800"
      },
      "message": "net headers: export dcbnl.h\n\nThe DCB netlink interface is required for building the userspace tools\navailable at e1000.sourceforge.net\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c2522218059ca1f4174a568923b988aad3ddfda",
      "tree": "37f76dee62bbfb94b42a8f38b372942ef5c803c4",
      "parents": [
        "4ead443163b798661c2a2ede5e512e116a9e41e7"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Fri Feb 27 10:01:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 01 00:19:35 2009 -0800"
      },
      "message": "net headers: cleanup dcbnl.h\n\n1) add an include for \u003clinux/types.h\u003e\n2) change dcbmsg.dcb_family from unsigned char to __u8 to be more\n   consistent with use of kernel types\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8010dc306ba39a8cdb3993d1e809fcb7dfdf089a",
      "tree": "d1fa3fe2e1501a6780fc007f2f57b1fe0995e18e",
      "parents": [
        "5d242f1cee2c85721bbe9d8205e98c1c01f5d805",
        "2a07954b83a3d4dc93031d3ce030fb9380a8e15a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 28 22:32:16 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 28 22:32:16 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "18963caaf55240d6a0491bdb27b7fef2882ffb15",
      "tree": "d0e4365cae0ce401ba826809f4eef0bd755f4f2d",
      "parents": [
        "98f8948f13b4d27c3695c49ac9a970a77166f9ee",
        "778ef1e6cbb049c9bcbf405936ee6f2b6e451892"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 28 15:36:58 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 28 15:36:58 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "535d8e8f19376518e52e64f511440e502acda150",
      "tree": "06c1ab74b5e7b319a2474cae73cb1a6e77d281e0",
      "parents": [
        "6febf65b2965858507e4d55afad20b24b2ad9a91",
        "f6be37fdc62d0c0214bc49815d1180ebfbd716e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:43:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:43:05 2009 -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: enable DMAR by default\n  xen: disable interrupts early, as start_kernel expects\n  gpu/drm, x86, PAT: io_mapping_create_wc and resource_size_t\n  gpu/drm, x86, PAT: Handle io_mapping_create_wc() errors in a clean way\n  x86, Voyager: fix compile by lifting the degeneracy of phys_cpu_present_map\n  x86, doc: fix references to Documentation/x86/i386/boot.txt\n"
    },
    {
      "commit": "5170836679185357dc1b7660bad13287b39e1e33",
      "tree": "0b470820e11df7c7eef7e3161657aefe90c7c35e",
      "parents": [
        "8ca2f156b06bdcbfd1ab543355279246d05e2499"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 27 14:03:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "Fix recursive lock in free_uid()/free_user_ns()\n\nfree_uid() and free_user_ns() are corecursive when CONFIG_USER_SCHED\u003dn,\nbut free_user_ns() is called from free_uid() by way of uid_hash_remove(),\nwhich requires uidhash_lock to be held.  free_user_ns() then calls\nfree_uid() to complete the destruction.\n\nFix this by deferring the destruction of the user_namespace.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98c8a60a04316e94ccea8221cf16768ce91bd214",
      "tree": "c698e0526f7521bf0f7bd0122c0ee6a2ab08eb1c",
      "parents": [
        "fdbf7335ea1a4048ff4818bf15bdcab1925dc6df"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Feb 17 13:24:57 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:52:39 2009 -0500"
      },
      "message": "nl80211: Provide access to STA TX/RX packet counters\n\nThe TX/RX packet counters are needed to fill in RADIUS Accounting\nattributes Acct-Output-Packets and Acct-Input-Packets. We already\ncollect the needed information, but only the TX/RX bytes were\npreviously exposed through nl80211. Allow applications to fetch the\npacket counters, too, to provide more complete support for accounting.\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": "54e991242850edc8c53f71fa5aa3ba7a93ce38f5",
      "tree": "7f136214aab690a8ee4a294ca9c1a7e01de0dc49",
      "parents": [
        "cac64d00c256e65776d575e82aaf540632b66178"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Fri Feb 27 15:13:54 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 11:11:53 2009 +0100"
      },
      "message": "sched: don\u0027t allow setuid to succeed if the user does not have rt bandwidth\n\nImpact: fix hung task with certain (non-default) rt-limit settings\n\nCorey Hickey reported that on using setuid to change the uid of a\nrt process, the process would be unkillable and not be running.\nThis is because there was no rt runtime for that user group. Add\nin a check to see if a user can attach an rt task to its task group.\nOn failure, return EINVAL, which is also returned in\nCONFIG_CGROUP_SCHED.\n\nReported-by: Corey Hickey \u003cbugfood-ml@fatooh.org\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db49b9d26c1966c683efced9e1c37f391d8f8182",
      "tree": "16e33a53f35e1575805220b819d681a7e35229ca",
      "parents": [
        "8a7c4c77267b1c77296cd03e6704813cb70706d1"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Feb 24 15:30:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:42:11 2009 -0800"
      },
      "message": "RDS: Add userspace header\n\nApplications include this header in order to use RDS sockets.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a7c4c77267b1c77296cd03e6704813cb70706d1",
      "tree": "430dc9c0a602229fdc3d0df22c2466a37edad667",
      "parents": [
        "0c5f9b8830aa0ff8f97e4efdfe1e1c4fe08ec71c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Feb 26 23:41:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:41:38 2009 -0800"
      },
      "message": "RDS: Add AF and PF #defines for RDS sockets\n\nRDS is a reliable datagram protocol used for IPC on Oracle\ndatabase clusters. This adds address and protocol family numbers\nfor it.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e42807918d17e8c93bf14fbb74be84b141334c1",
      "tree": "55b15f0f6b2c666efeb938d064f24fdd268faf40",
      "parents": [
        "5e4c91c84b194b26cf592779e451f4b5be777cba"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 23 09:03:10 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "block: reduce stack footprint of blk_recount_segments()\n\nblk_recalc_rq_segments() requires a request structure passed in, which\nwe don\u0027t have from blk_recount_segments(). So the latter allocates one on\nthe stack, using \u003e 400 bytes of stack for that. This can cause us to spill\nover one page of stack from ext4 at least:\n\n 0)     4560     400   blk_recount_segments+0x43/0x62\n 1)     4160      32   bio_phys_segments+0x1c/0x24\n 2)     4128      32   blk_rq_bio_prep+0x2a/0xf9\n 3)     4096      32   init_request_from_bio+0xf9/0xfe\n 4)     4064     112   __make_request+0x33c/0x3f6\n 5)     3952     144   generic_make_request+0x2d1/0x321\n 6)     3808      64   submit_bio+0xb9/0xc3\n 7)     3744      48   submit_bh+0xea/0x10e\n 8)     3696     368   ext4_mb_init_cache+0x257/0xa6a [ext4]\n 9)     3328     288   ext4_mb_regular_allocator+0x421/0xcd9 [ext4]\n10)     3040     160   ext4_mb_new_blocks+0x211/0x4b4 [ext4]\n11)     2880     336   ext4_ext_get_blocks+0xb61/0xd45 [ext4]\n12)     2544      96   ext4_get_blocks_wrap+0xf2/0x200 [ext4]\n13)     2448      80   ext4_da_get_block_write+0x6e/0x16b [ext4]\n14)     2368     352   mpage_da_map_blocks+0x7e/0x4b3 [ext4]\n15)     2016     352   ext4_da_writepages+0x2ce/0x43c [ext4]\n16)     1664      32   do_writepages+0x2d/0x3c\n17)     1632     144   __writeback_single_inode+0x162/0x2cd\n18)     1488      96   generic_sync_sb_inodes+0x1e3/0x32b\n19)     1392      16   sync_sb_inodes+0xe/0x10\n20)     1376      48   writeback_inodes+0x69/0xb3\n21)     1328     208   balance_dirty_pages_ratelimited_nr+0x187/0x2f9\n22)     1120     224   generic_file_buffered_write+0x1d4/0x2c4\n23)      896     176   __generic_file_aio_write_nolock+0x35f/0x393\n24)      720      80   generic_file_aio_write+0x6c/0xc8\n25)      640      80   ext4_file_write+0xa9/0x137 [ext4]\n26)      560     320   do_sync_write+0xf0/0x137\n27)      240      48   vfs_write+0xb3/0x13c\n28)      192      64   sys_write+0x4c/0x74\n29)      128     128   system_call_fastpath+0x16/0x1b\n\nSplit the segment counting out into a __blk_recalc_rq_segments() helper\nto avoid allocating an onstack request just for checking the physical\nsegment count.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a682604838763981613e42015cd0e39f2989d6bb",
      "tree": "29eae425e484edc494807702696c240ce09ba3f5",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Feb 25 18:03:42 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 04:08:14 2009 +0100"
      },
      "message": "rcu: Teach RCU that idle task is not quiscent state at boot\n\nThis patch fixes a bug located by Vegard Nossum with the aid of\nkmemcheck, updated based on review comments from Nick Piggin,\nIngo Molnar, and Andrew Morton.  And cleans up the variable-name\nand function-name language.  ;-)\n\nThe boot CPU runs in the context of its idle thread during boot-up.\nDuring this time, idle_cpu(0) will always return nonzero, which will\nfool Classic and Hierarchical RCU into deciding that a large chunk of\nthe boot-up sequence is a big long quiescent state.  This in turn causes\nRCU to prematurely end grace periods during this time.\n\nThis patch changes the rcutree.c and rcuclassic.c rcu_check_callbacks()\nfunction to ignore the idle task as a quiescent state until the\nsystem has started up the scheduler in rest_init(), introducing a\nnew non-API function rcu_idle_now_means_idle() to inform RCU of this\ntransition.  RCU maintains an internal rcu_idle_cpu_truthful variable\nto track this state, which is then used by rcu_check_callback() to\ndetermine if it should believe idle_cpu().\n\nBecause this patch has the effect of disallowing RCU grace periods\nduring long stretches of the boot-up sequence, this patch also introduces\nJosh Triplett\u0027s UP-only optimization that makes synchronize_rcu() be a\nno-op if num_online_cpus() returns 1.  This allows boot-time code that\ncalls synchronize_rcu() to proceed normally.  Note, however, that RCU\ncallbacks registered by call_rcu() will likely queue up until later in\nthe boot sequence.  Although rcuclassic and rcutree can also use this\nsame optimization after boot completes, rcupreempt must restrict its\nuse of this optimization to the portion of the boot sequence before the\nscheduler starts up, given that an rcupreempt RCU read-side critical\nsection may be preeempted.\n\nIn addition, this patch takes Nick Piggin\u0027s suggestion to make the\nsystem_state global variable be __read_mostly.\n\nChanges since v4:\n\no\tChanges the name of the introduced function and variable to\n\tbe less emotional.  ;-)\n\nChanges since v3:\n\no\tWARN_ON(nr_context_switches() \u003e 0) to verify that RCU\n\tswitches out of boot-time mode before the first context\n\tswitch, as suggested by Nick Piggin.\n\nChanges since v2:\n\no\tCreated rcu_blocking_is_gp() internal-to-RCU API that\n\tdetermines whether a call to synchronize_rcu() is itself\n\ta grace period.\n\no\tThe definition of rcu_blocking_is_gp() for rcuclassic and\n\trcutree checks to see if but a single CPU is online.\n\no\tThe definition of rcu_blocking_is_gp() for rcupreempt\n\tchecks to see both if but a single CPU is online and if\n\tthe system is still in early boot.\n\n\tThis allows rcupreempt to again work correctly if running\n\ton a single CPU after booting is complete.\n\no\tAdded check to rcupreempt\u0027s synchronize_sched() for there\n\tbeing but one online CPU.\n\nTested all three variants both SMP and !SMP, booted fine, passed a short\nrcutorture test on both x86 and Power.\n\nLocated-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8fed43684174b68f04d01d1210fd00536af790df",
      "tree": "df8d5f87c68526267d0ae320173814ed3f417fd5",
      "parents": [
        "d3dd7107f4d843d0f01d0f77d49a7c5449130577"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:24 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:24 2009 +0100"
      },
      "message": "ide: fix refcounting in device drivers\n\nDuring host driver module removal del_gendisk() results in a final\nput on drive-\u003egendev and freeing the drive by drive_release_dev().\n\nConvert device drivers from using struct kref to use struct device\nso device driver\u0027s object holds reference on -\u003egendev and prevents\ndrive from prematurely going away.\n\nAlso fix -\u003eremove methods to not erroneously drop reference on a\nhost driver by using only put_device() instead of ide*_put().\n\nReported-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nTested-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "60042600c57be5737cd9d6869e7144f7fe786274",
      "tree": "8b789dd736a98e3671be6e7c405c4800625fb30d",
      "parents": [
        "6aa03ab06978e97b3e0720f83280d7841051916b",
        "084eb960e81505680a9963665722d1bfd94af6a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:31:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:31:21 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6:\n  intel-iommu: fix endless \"Unknown DMAR structure type\" loop\n  VT-d: handle Invalidation Queue Error to avoid system hang\n  intel-iommu: fix build error with INTR_REMAP\u003dy and DMAR\u003dn\n"
    },
    {
      "commit": "4ab0d47d0ab311eb181532c1ecb6d02905685071",
      "tree": "48b1a6cc01b65bab1442e05a971220366f998976",
      "parents": [
        "6644107d57a8fa82b47e4c55da4d9d91a612f29c"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Tue Feb 24 17:35:12 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 13:09:51 2009 +0100"
      },
      "message": "gpu/drm, x86, PAT: io_mapping_create_wc and resource_size_t\n\nio_mapping_create_wc should take a resource_size_t parameter in place of\nunsigned long. With unsigned long, there will be no way to map greater than 4GB\naddress in i386/32 bit.\n\nOn x86, greater than 4GB addresses cannot be mapped on i386 without PAE. Return\nerror for such a case.\n\nPatch also adds a structure for io_mapping, that saves the base, size and\ntype on HAVE_ATOMIC_IOMAP archs, that can be used to verify the offset on\nio_mapping_map calls.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Eric Anholt \u003ceric@anholt.net\u003e\nCc: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f11c179eea77b8afc2fb7cb4b9a8815b85e3c16f",
      "tree": "9edf1e86fbb91815f31d7728820d098041f03bb9",
      "parents": [
        "4545a3f2765bb7d2d93468a8ffa578ac87a2c5c7",
        "0c9a3aaaf30e1d1994de58c554ef97a719e20892"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 25 00:02:05 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 25 00:02:05 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/orinoco/orinoco.c\n"
    },
    {
      "commit": "1ce85fe402137824246bad03ff85f3913d565c17",
      "tree": "3a54c150e9616709a8f65270cd1f4aeecac4d48e",
      "parents": [
        "4fb0a54a55d34c28dc53c39567ce171166572699"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "message": "netlink: change nlmsg_notify() return value logic\n\nThis patch changes the return value of nlmsg_notify() as follows:\n\nIf NETLINK_BROADCAST_ERROR is set by any of the listeners and\nan error in the delivery happened, return the broadcast error;\nelse if there are no listeners apart from the socket that\nrequested a change with the echo flag, return the result of the\nunicast notification. Thus, with this patch, the unicast\nnotification is handled in the same way of a broadcast listener\nthat has set the NETLINK_BROADCAST_ERROR socket flag.\n\nThis patch is useful in case that the caller of nlmsg_notify()\nwants to know the result of the delivery of a netlink notification\n(including the broadcast delivery) and take any action in case\nthat the delivery failed. For example, ctnetlink can drop packets\nif the event delivery failed to provide reliable logging and\nstate-synchronization at the cost of dropping packets.\n\nThis patch also modifies the rtnetlink code to ignore the return\nvalue of rtnl_notify() in all callers. The function rtnl_notify()\n(before this patch) returned the error of the unicast notification\nwhich makes rtnl_set_sk_err() reports errors to all listeners. This\nis not of any help since the origin of the change (the socket that\nrequested the echoing) notices the ENOBUFS error if the notification\nfails and should resync itself.\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": "8b6f92b1bd187b4f57296e5cf2e43ba883dd1968",
      "tree": "c40dd93f36c1859c3cf610f1f6065ce75aedb1c0",
      "parents": [
        "467388f29fc9cebfb70e7a187107b6b5d772cb44",
        "325fb5b4d26038cba665dd0d8ee09555321061f0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 13:49:05 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 13:49:05 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d",
      "tree": "010cd2255376a95120da810a1600bbd8d4d7d1c3",
      "parents": [
        "a746b578d8406b2db0e9f0d040061bc1f78433cf"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:49 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:49 2009 +0100"
      },
      "message": "i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT\n\nThe unit in which user-space can set the bus timeout value is jiffies\nfor historical reasons (back when HZ was always 100.) This is however\nnot good because user-space doesn\u0027t know how long a jiffy lasts. The\ntimeout value should instead be set in a fixed time unit. Given the\noriginal value of HZ, this unit should be 10 ms, for compatibility.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n"
    },
    {
      "commit": "e70049b9e74267dd47e1ffa62302073487afcb48",
      "tree": "2cd000c0751ef31c9044b020d63f278cdf4f332d",
      "parents": [
        "d18921a0e319ab512f8186b1b1142c7b8634c779",
        "f7e603ad8f78cd3b59e33fa72707da0cbabdf699"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 03:50:29 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 03:50:29 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "d38e84ee39783e00bd0b83a8dd19e54709950912",
      "tree": "c98f6804c6fd7c32238602173a78b04210703042",
      "parents": [
        "20f4d6c3a2a23c5d7d9cc7f42fbb943ca7a03d1f",
        "486a87f1e5624096bd1c09e9e716239597d48dca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 23 14:36:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 23 14:36:05 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  netns: fix double free at netns creation\n  veth : add the set_mac_address capability\n  sunlance: Beyond ARRAY_SIZE of ib-\u003ebtx_ring\n  sungem: another error printed one too early\n  ISDN: fix sc/shmem printk format warning\n  SMSC: timeout reaches -1\n  smsc9420: handle magic field of ethtool_eeprom\n  sundance: missing parentheses?\n  smsc9420: fix another postfixed timeout\n  wimax/i2400m: driver loads firmware v1.4 instead of v1.3\n  vlan: Update skb-\u003emac_header in __vlan_put_tag().\n  cxgb3: Add support for PCI ID 0x35.\n  tcp: remove obsoleted comment about different passes\n  TG3: \u0026\u0026/|| confusion\n  ATM: misplaced parentheses?\n  net/mv643xx: don\u0027t disable the mib timer too early and lock properly\n  net/mv643xx: use GFP_ATOMIC while atomic\n  atl1c: Atheros L1C Gigabit Ethernet driver\n  net: Kill skb_truesize_check(), it only catches false-positives.\n  net: forcedeth: Fix wake-on-lan regression\n"
    },
    {
      "commit": "770824bdc421ff58a64db608294323571c949f4c",
      "tree": "2fbeef604fe982bf322249a53a95dd2ff851d5f4",
      "parents": [
        "936577c61d0c10b8929608a92c98d839b22053bc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Feb 22 18:38:50 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 22 10:33:44 2009 -0800"
      },
      "message": "PM: Split up sysdev_[suspend|resume] from device_power_[down|up]\n\nMove the sysdev_suspend/resume from the callee to the callers, with\nno real change in semantics, so that we can rework the disabling of\ninterrupts during suspend/hibernation.\n\nThis is based on an earlier patch from Linus.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adfafefd104d840ee4461965f22624d77532675b",
      "tree": "6c6ba553a2b11703bf5952bd789905ea37c4fc4f",
      "parents": [
        "460c1338fc05add0e8050d4945a46f207b13a5fc",
        "403f307576396f3362fbb65af190885b6036c72c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "message": "Merge branch \u0027hibernate\u0027\n\n* hibernate:\n  PM: Fix suspend_console and resume_console to use only one semaphore\n  PM: Wait for console in resume\n  PM: Fix pm_notifiers during user mode hibernation\n  swsusp: clean up shrink_all_zones()\n  swsusp: dont fiddle with swappiness\n  PM: fix build for CONFIG_PM unset\n  PM/hibernate: fix \"swap breaks after hibernation failures\"\n  PM/resume: wait for device probing to finish\n  Consolidate driver_probe_done() loops into one place\n"
    },
    {
      "commit": "216773a787c3c46ef26bf1742c1fdba37d26be45",
      "tree": "aac387553fd53cb0c06b5cc2ee86329ce793bed6",
      "parents": [
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Feb 14 01:59:06 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "Consolidate driver_probe_done() loops into one place\n\nthere\u0027s a few places that currently loop over driver_probe_done(), and\nI\u0027m about to add another one. This patch abstracts it into a helper\nto reduce duplication.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6adea334c6c89d5e6c94f9196bbf3a279cb53bd",
      "tree": "fa4360d5522309a8dd9a3fced5e0f8b53de90d85",
      "parents": [
        "3cf311409d37d904335eb720e8a6b2c17bee6698"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Feb 20 15:38:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 20 17:57:50 2009 -0800"
      },
      "message": "8250: fix boot hang with serial console when using with Serial Over Lan port\n\nIntel 8257x Ethernet boards have a feature called Serial Over Lan.\n\nThis feature works by emulating a serial port, and it is detected by\nkernel as a normal 8250 port.  However, this emulation is not perfect, as\nalso noticed on changeset 7500b1f602aad75901774a67a687ee985d85893f.\n\nBefore this patch, the kernel were trying to check if the serial TX is\ncapable of work using IRQ\u0027s.\n\nThis were done with a code similar this:\n\n        serial_outp(up, UART_IER, UART_IER_THRI);\n        lsr \u003d serial_in(up, UART_LSR);\n        iir \u003d serial_in(up, UART_IIR);\n        serial_outp(up, UART_IER, 0);\n\n        if (lsr \u0026 UART_LSR_TEMT \u0026\u0026 iir \u0026 UART_IIR_NO_INT)\n\t\tup-\u003ebugs |\u003d UART_BUG_TXEN;\n\nThis works fine for other 8250 ports, but, on 8250-emulated SoL port, the\nchip is a little lazy to down UART_IIR_NO_INT at UART_IIR register.\n\nDue to that, UART_BUG_TXEN is sometimes enabled.  However, as TX IRQ keeps\nworking, and the TX polling is now enabled, the driver miss-interprets the\nIRQ received later, hanging up the machine until a key is pressed at the\nserial console.\n\nThis is the 6 version of this patch.  Previous versions were trying to\nintroduce a large enough delay between serial_outp and serial_in(up,\nUART_IIR), but not taking forever.  However, the needed delay couldn\u0027t be\nsafely determined.\n\nAt the experimental tests, a delay of 1us solves most of the cases, but\nstill hangs sometimes.  Increasing the delay to 5us was better, but still\ndoesn\u0027t solve.  A very high delay of 50 ms seemed to work every time.\n\nHowever, poking around with delays and pray for it to be enough doesn\u0027t\nseem to be a good approach, even for a quirk.\n\nSo, instead of playing with random large arbitrary delays, let\u0027s just\ndisable UART_BUG_TXEN for all SoL ports.\n\n[akpm@linux-foundation.org: fix warnings]\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \u003cstable@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": "01b24fee285b098c74318a8be801ef3711ec18d7",
      "tree": "60403f86f2198f4c5f81a1447e4bf3f107ede7d3",
      "parents": [
        "f6fcba7014f9cc535fa75ef98c008b24e49e2212"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Feb 20 15:38:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 20 17:57:49 2009 -0800"
      },
      "message": "spi_bitbang: add more lowlevel function documentation\n\nThis adds more documentation of the lowlevel API to avoid future bugs.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ef0e5ba467366125f04b423f4638baca54a4fc1",
      "tree": "cfe7b95c7b19b1d5b2a8534fa9791d6026e49dcd",
      "parents": [
        "d9190913b71831f5e3d04de62cfb1fd069a9db35"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Fri Feb 20 15:38:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 20 17:57:48 2009 -0800"
      },
      "message": "slab: introduce kzfree()\n\nkzfree() is a wrapper for kfree() that additionally zeroes the underlying\nmemory before releasing it to the slab allocator.\n\nCurrently there is code which memset()s the memory region of an object\nbefore releasing it back to the slab allocator to make sure\nsecurity-sensitive data are really zeroed out after use.\n\nThese callsites can then just use kzfree() which saves some code, makes\nusers greppable and allows for a stupid destructor that isn\u0027t necessarily\naware of the actual object size.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be0c22a46cfb79ab2342bb28fde99afa94ef868e",
      "tree": "da112ef3066d75a7e5adcfe3355ad2b60ef1929b",
      "parents": [
        "2d96cf8cdfd625da51e5d237d564cd75d3147547"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Feb 18 01:40:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 20 01:01:08 2009 -0800"
      },
      "message": "netlink: add NETLINK_BROADCAST_ERROR socket option\n\nThis patch adds NETLINK_BROADCAST_ERROR which is a netlink\nsocket option that the listener can set to make netlink_broadcast()\nreturn errors in the delivery to the caller. This option is useful\nif the caller of netlink_broadcast() do something with the result\nof the message delivery, like in ctnetlink where it drops a network\npacket if the event delivery failed, this is used to enable reliable\nlogging and state-synchronization. If this socket option is not set,\nnetlink_broadcast() only reports ESRCH errors and silently ignore\nENOBUFS errors, which is what most netlink_broadcast() callers\nshould do.\n\nThis socket option is based on a suggestion from Patrick McHardy.\nPatrick McHardy can exchange this patch for a beer from me ;).\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": "59089d8d162ddcb5c434672e915331964d38a754",
      "tree": "2d2595beffc410caa8054922976206fb600f8750",
      "parents": [
        "3876732c12cd2b9896e8c3e86fad142112e93569"
      ],
      "author": {
        "name": "Santwona Behera",
        "email": "santwona.behera@sun.com",
        "time": "Fri Feb 20 00:58:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 20 00:58:13 2009 -0800"
      },
      "message": "ethtool: Add RX pkt classification interface\n\nSigned-off-by: Santwona Behera \u003csantwona.behera@sun.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4dd61882e2cfe47ea72ecd825671e8e5ae29038",
      "tree": "10ea65c6294aa1e2de304c4b14c828e1c42fc1d7",
      "parents": [
        "ce03aaddd4d67371494b36c8e8a57bc789e934d6"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Feb 18 23:31:11 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 18 23:31:11 2009 -0800"
      },
      "message": "vlan: Update skb-\u003emac_header in __vlan_put_tag().\n\nAfter moving mac addresses in __vlan_put_tag() skb-\u003emac_header needs\nto be updated.\n\nReported-by: Karl Hiramoto \u003ckarl@hiramoto.org\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba95fd47d177d46743ad94055908d22840370e06",
      "tree": "f29e6921fefba2728c3b7f6854ac7f7729f602b2",
      "parents": [
        "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
        "be987fdb55a4726e2fcbab7501f89276bdb57288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -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: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n  block: fix booting from partitioned md array\n  block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n  cciss: PCI power management reset for kexec\n  paride/pg.c: xs(): \u0026\u0026/|| confusion\n  fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n  block: fix bad definition of BIO_RW_SYNC\n  bsg: Fix sense buffer bug in SG_IO\n"
    },
    {
      "commit": "97bef7dd05563807539122c488a5dd93ed327722",
      "tree": "9e4d6e7bcd71a3278765f8763d399de543a80477",
      "parents": [
        "310d8c93f9f07499cd7ca82d7997774a89de00e7"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard.walle@gmx.de",
        "time": "Wed Feb 18 14:48:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "Bernhard has moved\n\nSince I don\u0027t work for SUSE any more and the bwalle@suse.de address is\ninvalid, correct it in the copyright headers and documentation.\n\nSigned-off-by: Bernhard Walle \u003cbernhard.walle@gmx.de\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": "ffa7525c13eb3db0fd19a3e1cffe2ce6f561f5f3",
      "tree": "e954d699cd7d92bb12bd4465a41c4ef8431faa9b",
      "parents": [
        "cc2559bccc72767cb446f79b071d96c30c26439b"
      ],
      "author": {
        "name": "Adam Lackorzynski",
        "email": "adam@os.inf.tu-dresden.de",
        "time": "Wed Feb 18 14:48:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "jsm: additional device support\n\nI have a Digi Neo 8 PCI card (114f:00b1) Serial controller: Digi\nInternational Digi Neo 8 (rev 05)\n\nthat works with the jsm driver after using the following patch.\n\nSigned-off-by: Adam Lackorzynski \u003cadam@os.inf.tu-dresden.de\u003e\nCc: Scott H Kilau \u003cScott_Kilau@digi.com\u003e\nCc: Wendy Xiong \u003cwendyx@us.ibm.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc2559bccc72767cb446f79b071d96c30c26439b",
      "tree": "aacdeee5368e0eef72ed1d7a7cbd7e6ee4837941",
      "parents": [
        "f2dbcfa738368c8a40d4a5f0b65dc9879577cb21"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Feb 18 14:48:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "mm: fix memmap init for handling memory hole\n\nNow, early_pfn_in_nid(PFN, NID) may returns false if PFN is a hole.\nand memmap initialization was not done. This was a trouble for\nsparc boot.\n\nTo fix this, the PFN should be initialized and marked as PG_reserved.\nThis patch changes early_pfn_in_nid() return true if PFN is a hole.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReported-by: David Miller \u003cdavem@davemlloft.net\u003e\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2dbcfa738368c8a40d4a5f0b65dc9879577cb21",
      "tree": "bdea32c637fa572a9c356cddd202a57530b2a45c",
      "parents": [
        "ada723dcd681e2dffd7d73345cc8fda0eb0df9bd"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Feb 18 14:48:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "mm: clean up for early_pfn_to_nid()\n\nWhat\u0027s happening is that the assertion in mm/page_alloc.c:move_freepages()\nis triggering:\n\n\tBUG_ON(page_zone(start_page) !\u003d page_zone(end_page));\n\nOnce I knew this is what was happening, I added some annotations:\n\n\tif (unlikely(page_zone(start_page) !\u003d page_zone(end_page))) {\n\t\tprintk(KERN_ERR \"move_freepages: Bogus zones: \"\n\t\t       \"start_page[%p] end_page[%p] zone[%p]\\n\",\n\t\t       start_page, end_page, zone);\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_zone[%p] end_zone[%p]\\n\",\n\t\t       page_zone(start_page), page_zone(end_page));\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_pfn[0x%lx] end_pfn[0x%lx]\\n\",\n\t\t       page_to_pfn(start_page), page_to_pfn(end_page));\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_nid[%d] end_nid[%d]\\n\",\n\t\t       page_to_nid(start_page), page_to_nid(end_page));\n ...\n\nAnd here\u0027s what I got:\n\n\tmove_freepages: Bogus zones: start_page[2207d0000] end_page[2207dffc0] zone[fffff8103effcb00]\n\tmove_freepages: start_zone[fffff8103effcb00] end_zone[fffff8003fffeb00]\n\tmove_freepages: start_pfn[0x81f600] end_pfn[0x81f7ff]\n\tmove_freepages: start_nid[1] end_nid[0]\n\nMy memory layout on this box is:\n\n[    0.000000] Zone PFN ranges:\n[    0.000000]   Normal   0x00000000 -\u003e 0x0081ff5d\n[    0.000000] Movable zone start PFN for each node\n[    0.000000] early_node_map[8] active PFN ranges\n[    0.000000]     0: 0x00000000 -\u003e 0x00020000\n[    0.000000]     1: 0x00800000 -\u003e 0x0081f7ff\n[    0.000000]     1: 0x0081f800 -\u003e 0x0081fe50\n[    0.000000]     1: 0x0081fed1 -\u003e 0x0081fed8\n[    0.000000]     1: 0x0081feda -\u003e 0x0081fedb\n[    0.000000]     1: 0x0081fedd -\u003e 0x0081fee5\n[    0.000000]     1: 0x0081fee7 -\u003e 0x0081ff51\n[    0.000000]     1: 0x0081ff59 -\u003e 0x0081ff5d\n\nSo it\u0027s a block move in that 0x81f600--\u003e0x81f7ff region which triggers\nthe problem.\n\nThis patch:\n\nDeclaration of early_pfn_to_nid() is scattered over per-arch include\nfiles, and it seems it\u0027s complicated to know when the declaration is used.\n I think it makes fix-for-memmap-init not easy.\n\nThis patch moves all declaration to include/linux/mm.h\n\nAfter this,\n  if !CONFIG_NODES_POPULATES_NODE_MAP \u0026\u0026 !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID\n     -\u003e Use static definition in include/linux/mm.h\n  else if !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID\n     -\u003e Use generic definition in mm/page_alloc.c\n  else\n     -\u003e per-arch back end function will be called.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReported-by: David Miller \u003cdavem@davemlloft.net\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "287d859222e0adbc67666a6154aaf42d7d5bbb54",
      "tree": "a3e00f7b42f91c0d00f9d5a8d79414939b3c566f",
      "parents": [
        "9ccf3b5e8409927835c4d38cb2f380c9e4349e76"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Feb 18 14:48:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "atmel-mci: fix initialization of dma slave data\n\nThe conversion of atmel-mci to dma_request_channel missed the\ninitialization of the channel dma_slave information.  The filter_fn passed\nto dma_request_channel is responsible for initializing the channel\u0027s\nprivate data.  This implementation has the additional benefit of enabling\na generic client-channel data passing mechanism.\n\nReviewed-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1cf6e7d83bf334cc5916137862c920a97aabc018",
      "tree": "6bdbc4a98e9b332919beaeba0649797fff544795",
      "parents": [
        "610d18f4128ebbd88845d0fc60cce67b49af881e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Feb 18 14:48:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "mm: task dirty accounting fix\n\nYAMAMOTO-san noticed that task_dirty_inc doesn\u0027t seem to be called properly for\ncases where set_page_dirty is not used to dirty a page (eg. mark_buffer_dirty).\n\nAdditionally, there is some inconsistency about when task_dirty_inc is\ncalled.  It is used for dirty balancing, however it even gets called for\n__set_page_dirty_no_writeback.\n\nSo rather than increment it in a set_page_dirty wrapper, move it down to\nexactly where the dirty page accounting stats are incremented.\n\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "610d18f4128ebbd88845d0fc60cce67b49af881e",
      "tree": "97faea373227afc42c4a8f932fb2fe3fd393a258",
      "parents": [
        "ef35ce231b3cb2a4b1808e826da263bf37ccb38a"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Feb 18 14:48:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "timerfd: add flags check\n\nAs requested by Michael, add a missing check for valid flags in\ntimerfd_settime(), and make it return EINVAL in case some extra bits are\nset.\n\nMichael said:\nIf this is to be any use to userland apps that want to check flag\nsupport (perhaps it is too late already), then the sooner we get it\ninto the kernel the better: 2.6.29 would be good; earlier stables as\nwell would be even better.\n\n[akpm@linux-foundation.org: remove unused TFD_FLAGS_SET]\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f19d472935c83d823fa4cf02bcc0a7b9952db30",
      "tree": "25cabc0b48ad0acb05fa69f92de617cf588fec8d",
      "parents": [
        "55ec82176eca52e4e0530a82a0eb59160a1a95a1"
      ],
      "author": {
        "name": "Eric Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 18 14:48:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "seq_file: properly cope with pread\n\nCurrently seq_read assumes that the offset passed to it is always the\noffset it passed to user space.  In the case pread this assumption is\nbroken and we do the wrong thing when presented with pread.\n\nTo solve this I introduce an offset cache inside of struct seq_file so we\nknow where our logical file position is.  Then in seq_read if we try to\nread from another offset we reset our data structures and attempt to go to\nthe offset user space wanted.\n\n[akpm@linux-foundation.org: restore FMODE_PWRITE]\n[pjt@google.com: seq_open needs its fmode opened up to take advantage of this]\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55ec82176eca52e4e0530a82a0eb59160a1a95a1",
      "tree": "2d052ca4cf055fbcfc4b019ec45f8df5eea13749",
      "parents": [
        "b851ee7921fabdd7dfc96ffc4e9609f5062bd12b"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Feb 18 14:48:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "vfs: separate FMODE_PREAD/FMODE_PWRITE into separate flags\n\nSeparate FMODE_PREAD and FMODE_PWRITE into separate flags to reflect the\nreality that the read and write paths may have independent restrictions.\n\nA git grep verifies that these flags are always cleared together so this\nnew behavior will only apply to interfaces that change to clear flags\nindividually.\n\nThis is required for \"seq_file: properly cope with pread\", a post-2.6.25\nregression fix.\n\n[akpm@linux-foundation.org: add comment]\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc:  Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c296861291669f305deef19b78042330d7135017",
      "tree": "a623faa7815c0eb70ea463966c8a8715e7e69246",
      "parents": [
        "5955c7a2cfb6a35429adea5dc480002b15ca8cfc"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 18 14:48:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "vmalloc: add __get_vm_area_caller()\n\nWe have get_vm_area_caller() and __get_vm_area() but not\n__get_vm_area_caller()\n\nOn powerpc, I use __get_vm_area() to separate the ranges of addresses\ngiven to vmalloc vs.  ioremap (various good reasons for that) so in order\nto be able to implement the new caller tracking in /proc/vmallocinfo, I\nneed a \"_caller\" variant of it.\n\n(akpm: needed for ongoing powerpc development, so merge it early)\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ca431f9ae8db8c6edb9c64bebe6d6521077afd6",
      "tree": "3458815f1b4ce2ff6961e99015b88f33571f0d38",
      "parents": [
        "4aa3b2ee1945ed082430ae1fb988d60eef64ca07"
      ],
      "author": {
        "name": "Eric Leblond",
        "email": "eric@inl.fr",
        "time": "Wed Feb 18 15:29:23 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 18 15:29:23 2009 +0100"
      },
      "message": "netfilter: nfnetlink_log: fix per-rule qthreshold override\n\nIn NFLOG the per-rule qthreshold should overrides per-instance only\nit is set. With current code, the per-rule qthreshold is 1 if not set\nand it overrides the per-instance qthreshold.\n\nThis patch modifies the default xt_NFLOG threshold from 1 to\n0. Thus a value of 0 means there is no per-rule setting and the instance\nparameter has to apply.\n\nSigned-off-by: Eric Leblond \u003ceric@inl.fr\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "4667ba15119fea265b79502a019a2e75b8c9dfe1",
      "tree": "1df39006489a48bb575200f41e11895cba915238",
      "parents": [
        "5955c7a2cfb6a35429adea5dc480002b15ca8cfc",
        "92a0acce186cde8ead56c6915d9479773673ea1a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 18 15:16:18 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 18 15:16:18 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-2.6\n"
    },
    {
      "commit": "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8",
      "tree": "790365e207951cf6810e8995f3141ddc0b74519b",
      "parents": [
        "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 16 10:25:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "block: fix bad definition of BIO_RW_SYNC\n\nWe can\u0027t OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO\nand BIO_RW_UNPLUG explicitly. This brings back the behaviour from before\n213d9417fec62ef4c3675621b9364a667954d4dd.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "92a0acce186cde8ead56c6915d9479773673ea1a",
      "tree": "97b7663f77f8274cb52d429c8a7db97c70daf745",
      "parents": [
        "34edaa88324004baf4884fb0388f86059d9c4878"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 17 21:24:05 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 17 21:24:05 2009 -0800"
      },
      "message": "net: Kill skb_truesize_check(), it only catches false-positives.\n\nA long time ago we had bugs, primarily in TCP, where we would modify\nskb-\u003etruesize (for TSO queue collapsing) in ways which would corrupt\nthe socket memory accounting.\n\nskb_truesize_check() was added in order to try and catch this error\nmore systematically.\n\nHowever this debugging check has morphed into a Frankenstein of sorts\nand these days it does nothing other than catch false-positives.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "886a63e865eb346ab20572e802fc3118cb9aee14",
      "tree": "6a0e5c02c613f437e4d83f8286b1f78abbfc95c9",
      "parents": [
        "9b329f18b943fb5648c10f79690918b9056dd5c5"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Sat Feb 14 11:36:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 17 17:37:40 2009 -0800"
      },
      "message": "drivers/net/hamradio: fix sparse warnings: fix signedness\n\nFix this sparse warnings:\n  drivers/net/hamradio/hdlcdrv.c:274:34: warning: incorrect type in argument 2 (different signedness)\n  drivers/net/hamradio/hdlcdrv.c:279:47: warning: incorrect type in argument 2 (different signedness)\n  drivers/net/hamradio/hdlcdrv.c:288:39: warning: incorrect type in argument 2 (different signedness)\n  drivers/net/hamradio/hdlcdrv.c:300:47: warning: incorrect type in argument 2 (different signedness)\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5955c7a2cfb6a35429adea5dc480002b15ca8cfc",
      "tree": "40b3e756177c41134539dd7fbc1281a49552edad",
      "parents": [
        "3494252d5644993f407a45f01c3e8ad5ae38f93c"
      ],
      "author": {
        "name": "Zlatko Calusic",
        "email": "zlatko.calusic@iskon.hr",
        "time": "Wed Feb 18 01:33:34 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 16:56:31 2009 -0800"
      },
      "message": "Add support for VT6415 PCIE PATA IDE Host Controller\n\nSigned-off-by: Zlatko Calusic \u003czlatko.calusic@iskon.hr\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35010334aa007480a833401b80922299cb1a15ef",
      "tree": "6e318eb89da45d37ea8dceddd1ae6858b74dee1e",
      "parents": [
        "8ce9a75a307e142a8871c649627555e0e4a1eefb",
        "be716615fe596ee117292dc615e95f707fb67fd1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:27:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:27:39 2009 -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, vm86: fix preemption bug\n  x86, olpc: fix model detection without OFW\n  x86, hpet: fix for LS21 + HPET \u003d boot hang\n  x86: CPA avoid repeated lazy mmu flush\n  x86: warn if arch_flush_lazy_mmu_cpu is called in preemptible context\n  x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption\n  x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem\n  x86/cpa: make sure cpa is safe to call in lazy mmu mode\n  x86, ptrace, mm: fix double-free on race\n"
    },
    {
      "commit": "3512a79dbcc90e6edac98717607bd821bba50a14",
      "tree": "9038e3545ccdfec77ec24d982f8cc24701fb532d",
      "parents": [
        "39a65762d4c48fd8a498f34b7fec74a6b0aebd55",
        "090542641de833c6f756895fc2f139f046e298f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:05:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:05:05 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Fix NULL dereference in ext4_ext_migrate()\u0027s error handling\n  ext4: Implement range_cyclic in ext4_da_writepages instead of write_cache_pages\n  ext4: Initialize preallocation list_head\u0027s properly\n  ext4: Fix lockdep warning\n  ext4: Fix to read empty directory blocks correctly in 64k\n  jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate()\n  Revert \"ext4: wait on all pending commits in ext4_sync_fs()\"\n  jbd2: Fix return value of jbd2_journal_start_commit()\n"
    },
    {
      "commit": "4458f04c02a46c679a90ef71f866a415c192deb4",
      "tree": "b08aa476ab4c525ab3cb33cea6114cb262cb2941",
      "parents": [
        "06e868066e3b5828383eb40ff4d1c0029100b0b5"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Feb 13 08:33:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:10 2009 -0800"
      },
      "message": "sctp: Clean up sctp checksumming code\n\nThe sctp crc32c checksum is always generated in little endian.\nSo, we clean up the code to treat it as little endian and remove\nall the __force casts.\n\nSuggested by Herbert Xu.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac45f602ee3d1b6f326f68bc0c2591ceebf05ba4",
      "tree": "c92c86bd0d89b844a3794c0e441aa2fccb36725f",
      "parents": [
        "cb9eff097831007afb30d64373f29d99825d0068"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:34 2009 -0800"
      },
      "message": "net: infrastructure for hardware time stamping\n\nThe additional per-packet information (16 bytes for time stamps, 1\nbyte for flags) is stored for all packets in the skb_shared_info\nstruct. This implementation detail is hidden from users of that\ninformation via skb_* accessor functions. A separate struct resp.\nunion is used for the additional information so that it can be\nstored/copied easily outside of skb_shared_info.\n\nCompared to previous implementations (reusing the tstamp field\ndepending on the context, optional additional structures) this\nis the simplest solution. It does not extend sk_buff itself.\n\nTX time stamping is implemented in software if the device driver\ndoesn\u0027t support hardware time stamping.\n\nThe new semantic for hardware/software time stamping around\nndo_start_xmit() is based on two assumptions about existing\nnetwork device drivers which don\u0027t support hardware time\nstamping and know nothing about it:\n - they leave the new skb_shared_tx unmodified\n - the keep the connection to the originating socket in skb-\u003esk\n   alive, i.e., don\u0027t call skb_orphan()\n\nGiven that skb_shared_tx is new, the first assumption is safe.\nThe second is only true for some drivers. As a result, software\nTX time stamping currently works with the bnx2 driver, but not\nwith the unmodified igb driver (the two drivers this patch series\nwas tested with).\n\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb9eff097831007afb30d64373f29d99825d0068",
      "tree": "823a5668c6f4b3f577a1d4cc73b3df2d7e33c5c4",
      "parents": [
        "a75244c3d519fcb490ca2bf3f123c98017f1e8d0"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:33 2009 -0800"
      },
      "message": "net: new user space API for time stamping of incoming and outgoing packets\n\nUser space can request hardware and/or software time stamping.\nReporting of the result(s) via a new control message is enabled\nseparately for each field in the message because some of the\nfields may require additional computation and thus cause overhead.\nUser space can tell the different kinds of time stamps apart\nand choose what suits its needs.\n\nWhen a TX timestamp operation is requested, the TX skb will be cloned\nand the clone will be time stamped (in hardware or software) and added\nto the socket error queue of the skb, if the skb has a socket\nassociated with it.\n\nThe actual TX timestamp will reach userspace as a RX timestamp on the\ncloned packet. If timestamping is requested and no timestamping is\ndone in the device driver (potentially this may use hardware\ntimestamping), it will be done in software after the device\u0027s\nstart_hard_xmit routine.\n\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a75244c3d519fcb490ca2bf3f123c98017f1e8d0",
      "tree": "dee5b6a3589cfaae698a11297667e9e0c8b01ef5",
      "parents": [
        "a038a353c3de4040d8445ec568acebdac144436f"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:35 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:32 2009 -0800"
      },
      "message": "timecompare: generic infrastructure to map between two time bases\n\nMapping from a struct timecounter to a time returned by functions like\nktime_get_real() is implemented. This is sufficient to use this code\nin a network device driver which wants to support hardware time\nstamping and transformation of hardware time stamps to system time.\n\nThe interface could have been made more versatile by not depending on\na time counter, but this wasn\u0027t done to avoid writing glue code\nelsewhere.\n\nThe method implemented here is the one used and analyzed under the name\n\"assisted PTP\" in the LCI PTP paper:\nhttp://www.linuxclustersinstitute.org/conferences/archive/2008/PDF/Ohly_92221.pdf\n\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a038a353c3de4040d8445ec568acebdac144436f",
      "tree": "2fac74d812b47fa2d9fabfa55261d544813b66f6",
      "parents": [
        "0a834a36ac92375cd82d9e4fe4f571e257997d6a"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:31 2009 -0800"
      },
      "message": "clocksource: allow usage independent of timekeeping.c\n\nSo far struct clocksource acted as the interface between time/timekeeping.c\nand hardware. This patch generalizes the concept so that a similar\ninterface can also be used in other contexts. For that it introduces\nnew structures and related functions *without* touching the existing\nstruct clocksource.\n\nThe reasons for adding these new structures to clocksource.[ch] are\n* the APIs are clearly related\n* struct clocksource could be cleaned up to use the new structs\n* avoids proliferation of files with similar names (timesource.h?\n  timecounter.h?)\n\nAs outlined in the discussion with John Stultz, this patch adds\n* struct cyclecounter: stateless API to hardware which counts clock cycles\n* struct timecounter: stateful utility code built on a cyclecounter which\n  provides a nanosecond counter\n* only the function to read the nanosecond counter; deltas are used internally\n  and not exposed to users of timecounter\n\nThe code does no locking of the shared state. It must be called at least\nas often as the cycle counter wraps around to detect these wrap arounds.\nBoth is the responsibility of the timecounter user.\n\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e30589521518bff36fd2638b3c3d69679c50436",
      "tree": "6ac985658a06b0787e4354d0d16d380ea9b16a5a",
      "parents": [
        "ac178ef0ae9eb44fd527d87aa9b6394e05f56e1f",
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 23:12:00 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 23:12:00 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n\tdrivers/net/wireless/iwlwifi/iwl3945-base.c\n"
    },
    {
      "commit": "ac178ef0ae9eb44fd527d87aa9b6394e05f56e1f",
      "tree": "5d6bd46ecf9ce989134d3c460e1ecf5dd1fceadc",
      "parents": [
        "f3a7c66b5ce0b75a9774a50b5dcce93e5ba28370",
        "6d08b9b9c6eb2414c4a037407dd121298a74fb36"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 23:06:44 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 23:06:44 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "f3a7c66b5ce0b75a9774a50b5dcce93e5ba28370",
      "tree": "441f02ac10cb109cbb80fbd0d964af3638541f06",
      "parents": [
        "35c26c2cf6a6a2d1c48add732d8ba002bd90784c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Feb 14 22:58:35 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 22:58:35 2009 -0800"
      },
      "message": "net: replace __constant_{endian} uses in net headers\n\nBase versions handle constant folding now.  For headers exposed to\nuserspace, we must only expose the __ prefixed versions.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35c26c2cf6a6a2d1c48add732d8ba002bd90784c",
      "tree": "ace3fb06bd279cf90ab8994d56ae12051488b2c8",
      "parents": [
        "ab46d779661d7a03b7aa00279eead5dc3f0b3901"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Feb 14 22:56:56 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 22:56:56 2009 -0800"
      },
      "message": "rndis: remove private wrapper of __constant_cpu_to_le32\n\nUse cpu_to_le32 directly as it handles constant folding now, replace direct\nuses of __constant_cpu_to_{endian} as well.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad8ba2cd44d4d39fb3fe55d5dcc565b19fc3a7fb",
      "tree": "74dfd501fc541b7d55eecec7b9469f1db8225507",
      "parents": [
        "85db06e514422ae429b5f85742d8111b70bd56f3"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Tue Jan 06 10:03:02 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Feb 15 02:47:36 2009 +0200"
      },
      "message": "KVM: Add kvm_arch_sync_events to sync with asynchronize events\n\nkvm_arch_sync_events is introduced to quiet down all other events may happen\ncontemporary with VM destroy process, like IRQ handler and work struct for\nassigned device.\n\nFor kvm_arch_sync_events is called at the very beginning of kvm_destroy_vm(), so\nthe state of KVM here is legal and can provide a environment to quiet down other\nevents.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7a0eb1960e8ddcb68ea631caf16815485af0e228",
      "tree": "0614c3c2265ed02072a082dea68a86e31f71dd7f",
      "parents": [
        "d39123a486524fed9b4e43e08a8757fd90a5859a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jan 19 14:57:52 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Feb 15 02:47:35 2009 +0200"
      },
      "message": "KVM: Avoid using CONFIG_ in userspace visible headers\n\nKconfig symbols are not available in userspace, and are not stripped by\nheaders-install.  Avoid their use by adding #defines in \u003casm/kvm.h\u003e to\nsuit each architecture.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2a5193119269062608582418deba7af82844159a",
      "tree": "1f2fe8cffbeb7530dce7fa708310f6fb29ab0dd8",
      "parents": [
        "849b7967818995a32c3017542e33eb3155944368"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:55 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:49 2009 -0500"
      },
      "message": "cfg80211/nl80211: scanning (and mac80211 update to use it)\n\nThis patch adds basic scan capability to cfg80211/nl80211 and\nchanges mac80211 to use it. The BSS list that cfg80211 maintains\nis made driver-accessible with a private area in each BSS struct,\nbut mac80211 doesn\u0027t yet use it. That\u0027s another large project.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b51ebdc40cf3a9eb4d3ace48dbd254bb0184481d",
      "tree": "3ed377006b9659e9045eb2d0df995342a6ccca2f",
      "parents": [
        "fb5ae64fdde29236e1a15e0366946df7060f41f2",
        "99cbb86180bccd77f331f6e8eb7ce26aeea2cb72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 13 08:19:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 13 08:19:11 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ASoC: Only register AC97 bus if it\u0027s not done already\n  ALSA: hda - Add snd_hda_multi_out_dig_cleanup()\n  ALSA: hda - Add missing terminator in slave dig-out array\n  ALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 model\n  ALSA: hda - Register (new) devices at reconfig\n  ALSA: mtpav - Fix initial value for input hwport\n  ALSA: hda - add id for Intel IbexPeak integrated HDMI codec\n  ALSA: hda - compute checksum in HDMI audio infoframe\n  ALSA: hda - enable HDMI audio pin out at module loading time\n  ALSA: hda - allow multi-channel HDMI audio playback when ELD is not present\n  ASoC: Update SDP3430 machine driver for snd_soc_card\n  ALSA: hda - Add quirk for Asus z37e (1043:8284)\n  sound: Remove OSSlib stuff from linux/soundcard.h\n  ASoC: WM8990: Fix kcontrol\u0027s private value use in put callback\n  ASoC: TLV320AIC3X: Fix kcontrol\u0027s private value use in put callback\n"
    },
    {
      "commit": "37bed90094fdb1eea6e4afec6a200d4e60143e55",
      "tree": "4590075dbc03c13dd532a974f040f18a07b1d130",
      "parents": [
        "071a0bc2ceace31266836801510879407a3701fa",
        "1d7b33f77b2d8b0b1ee767e6f8f05cbd9d72cb7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 12 17:47:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 12 17:47:15 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits)\n  wimax: fix oops in wimax_dev_get_by_genl_info() when looking up non-wimax iface\n  net: 4 bytes kernel memory disclosure in SO_BSDCOMPAT gsopt try #2\n  netxen: fix compile waring \"label ‘set_32_bit_mask’ defined but not used\" on IA64 platform\n  bnx2: Update version to 1.9.2 and copyright.\n  bnx2: Fix jumbo frames error handling.\n  bnx2: Update 5709 firmware.\n  bnx2: Update 5706/5708 firmware.\n  3c505: do not set pcb-\u003edata.raw beyond its size\n  Documentation/connector/cn_test.c: don\u0027t use gfp_any()\n  net: don\u0027t use in_atomic() in gfp_any()\n  IRDA: cnt is off by 1\n  netxen: remove pcie workaround\n  sun3: print when lance_open() fails\n  qlge: bugfix: Add missing rx buf clean index on early exit.\n  qlge: bugfix: Fix RX scaling values.\n  qlge: bugfix: Fix TSO breakage.\n  qlge: bugfix: Add missing dev_kfree_skb_any() call.\n  qlge: bugfix: Add missing put_page() call.\n  qlge: bugfix: Fix fatal error recovery hang.\n  qlge: bugfix: Use netif_receive_skb() and vlan_hwaccel_receive_skb().\n  ...\n"
    },
    {
      "commit": "6c5979631b4b03c9288776562c18036765e398c1",
      "tree": "00b7546bc54658b3d1d166b75eb1e498b3ee8475",
      "parents": [
        "0e4a9b59282914fe057ab17027f55123964bc2e2"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Feb 11 13:04:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:36 2009 -0800"
      },
      "message": "syscall define: fix uml compile bug\n\nWith the new system call defines we get this on uml:\n\narch/um/sys-i386/built-in.o: In function `sys_call_table\u0027:\n(.rodata+0x308): undefined reference to `sys_sigprocmask\u0027\n\nReason for this is that uml passes the preprocessor option\n-Dsigprocmask\u003dkernel_sigprocmask to gcc when compiling the kernel.\nThis causes SYSCALL_DEFINE3(sigprocmask, ...) to be expanded to\nSYSCALL_DEFINEx(3, kernel_sigprocmask, ...) and finally to a system\ncall named sys_kernel_sigprocmask.  However sys_sigprocmask is missing\nbecause of this.\n\nTo avoid macro expansion for the system call name just concatenate the\nname at first define instead of carrying it through severel levels.\nThis was pointed out by Al Viro.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReviewed-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfebe563bd0a3ff97e1bc167123120d59c7a84db",
      "tree": "6178bf45bcccaf3d43d87cfe0eef059d849c7140",
      "parents": [
        "01c4a4283137d24c9cc3785f1f312e895a18f273"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Feb 11 13:04:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:36 2009 -0800"
      },
      "message": "cgroups: fix lockdep subclasses overflow\n\nI enabled all cgroup subsystems when compiling kernel, and then:\n # mount -t cgroup -o net_cls xxx /mnt\n # mkdir /mnt/0\n\nThis showed up immediately:\n BUG: MAX_LOCKDEP_SUBCLASSES too low!\n turning off the locking correctness validator.\n\nIt\u0027s caused by the cgroup hierarchy lock:\n\tfor (i \u003d 0; i \u003c CGROUP_SUBSYS_COUNT; i++) {\n\t\tstruct cgroup_subsys *ss \u003d subsys[i];\n\t\tif (ss-\u003eroot \u003d\u003d root)\n\t\t\tmutex_lock_nested(\u0026ss-\u003ehierarchy_mutex, i);\n\t}\n\nNow we have 9 cgroup subsystems, and the above \u0027i\u0027 for net_cls is 8, but\nMAX_LOCKDEP_SUBCLASSES is 8.\n\nThis patch uses different lockdep keys for different subsystems.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94dba895333a4321f27360e42b807260ae36bda4",
      "tree": "7b6381da7ea9fc176001dda0714725c3a1dd6cc7",
      "parents": [
        "9ce04f9238cafcfd09a502f2bc8c13b5f44ec590",
        "4da94d49b2ecb0a26e716a8811c3ecc542c2a65d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:24:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:24:32 2009 -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  timers: fix TIMER_ABSTIME for process wide cpu timers\n  timers: split process wide cpu clocks/timers, fix\n  x86: clean up hpet timer reinit\n  timers: split process wide cpu clocks/timers, remove spurious warning\n  timers: split process wide cpu clocks/timers\n  signal: re-add dead task accumulation stats.\n  x86: fix hpet timer reinit for x86_64\n  sched: fix nohz load balancer on cpu offline\n"
    },
    {
      "commit": "9f339e7028e2855717af3193c938f9960ad13b38",
      "tree": "76e0e9181f4ee2b324742d517518e837d5c250bf",
      "parents": [
        "06eb23b1ba39c61ee5d5faeb42a097635693e370"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Wed Feb 11 15:10:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 15:44:20 2009 +0100"
      },
      "message": "x86, ptrace, mm: fix double-free on race\n\nPtrace_detach() races with __ptrace_unlink() if the traced task is\nreaped while detaching. This might cause a double-free of the BTS\nbuffer.\n\nChange the ptrace_detach() path to only do the memory accounting in\nptrace_bts_detach() and leave the buffer free to ptrace_bts_untrace()\nwhich will be called from __ptrace_unlink().\n\nThe fix follows a proposal from Oleg Nesterov.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4da94d49b2ecb0a26e716a8811c3ecc542c2a65d",
      "tree": "a87980822b2499021f080c2b0235f441b30413cc",
      "parents": [
        "3fccfd67df79c6351a156eb25a7a514e5f39c4d9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 11 11:30:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:04:21 2009 +0100"
      },
      "message": "timers: fix TIMER_ABSTIME for process wide cpu timers\n\nThe POSIX timer interface allows for absolute time expiry values through the\nTIMER_ABSTIME flag, therefore we have to synchronize the timer to the clock\nevery time we start it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fccfd67df79c6351a156eb25a7a514e5f39c4d9",
      "tree": "de4776e69e197119ac64097f3ff6239a55ad77be",
      "parents": [
        "ff08f76d738d0ec0f334b187f61e160caa321d54"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Feb 10 16:37:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:04:19 2009 +0100"
      },
      "message": "timers: split process wide cpu clocks/timers, fix\n\nTo decrease the chance of a missed enable, always enable the timer when we\nsample it, we\u0027ll always disable it when we find that there are no active timers\nin the jiffy tick.\n\nThis fixes a flood of warnings reported by Mike Galbraith.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "e672f7db767156bf71adf9c592cfe81b339523d6"
}
