)]}'
{
  "log": [
    {
      "commit": "294440887b32c58d220fb54b73b7a58079b78f20",
      "tree": "83ad03746ca4e7e34fb74cdb2e42b075e085d4da",
      "parents": [
        "4f2c774856708bccecb74c0e6296e9e2c9136ee1"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Apr 22 20:03:35 2010 +0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:02 2010 -0400"
      },
      "message": "libata-sff: kill unused ata_bus_reset()\n\n... since I see no callers of it.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "4f2c774856708bccecb74c0e6296e9e2c9136ee1",
      "tree": "33ebceafd0f2f21b155dde40344addf45e2cb4ed",
      "parents": [
        "fbaf666b854c04b2d8ebca17114ee409ddea08b5"
      ],
      "author": {
        "name": "Grant Grundler",
        "email": "grundler@google.com",
        "time": "Wed Apr 14 18:43:32 2010 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:02 2010 -0400"
      },
      "message": "[libata] Disable R_OK (Early ACK) on SII 3726 PMP\n\nIn 2009, While running \"cache read\" performance test of drives behind\nSII PMP we encountered a \"all 5 drives\" timeout on more than 30% of the\nmachines under test.  This patch reduces the rate by a factor of about 70.\nLow enough that we didn\u0027t care to further investigate the issue.\n\nPerformance impact with any sort of \"normal\" use was ~2%+ CPU and less\nthan 1% throughput degradation.  Worst case impact (cached read) was\n6% IOPS reduction. This is with NCQ off (q\u003d1) but I believe FIS based\nswitching enabled in the SATA driver.\n\nThe patch disables \"Early ACK\" in the 3726 port multiplier.\n\"Early ACK\" is issued when device sends a FIS to the host (via PMP)\nand the PMP sends an ACK immediately back to the device - well before\nthe host gets the response. Under worst case IOPs load (cached read\ntest) and more than 2 PMPs connected to a 4-port SATA controller,\nI suspect the time to service all of the PMPs is exceeding the PMPs\nability to keep track of outstanding FIS it owes the Host. Reducing\nthe number of PMPs to 2 (or 1) reduces the frequency by several orders\nof magnitude. Kudos to Gwendal for initial debugging of this issue.\n[Any errors in the description are mine, not his.]\n\nPatch is currently in production on Google servers.\n\nSigned-off-by: Grant Grundler \u003cgrundler@google.com\u003e\nSigned-off-by: Gwendal Grignou \u003cgwendal@google.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "fbaf666b854c04b2d8ebca17114ee409ddea08b5",
      "tree": "8e4db33f928eb3554b1539d9745fedb01391df6a",
      "parents": [
        "83f2b9630c5875ee872c11d98a0e26888514c1b3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 02:52:43 2010 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:02 2010 -0400"
      },
      "message": "libata: update gfp/slab.h includes\n\nImplicit slab.h inclusion via percpu.h is about to go away.  Make sure\ngfp.h or slab.h is included as necessary.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "83f2b9630c5875ee872c11d98a0e26888514c1b3",
      "tree": "434dedfdcca76d8fdb7cdb919ac1d149b349e90c",
      "parents": [
        "ec569af8584e977a3474c197da53ae2ba5823caf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 10:28:32 2010 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:02 2010 -0400"
      },
      "message": "ahci: implement AHCI_HFLAG_NO_FPDMA_AA and update NV quirks\n\nIt turns out different generations of MCPs have differing quirks.\n\n* MCP 65-73 : FPDMA AA broken, lies about PMP support, forgets to report NCQ\n* MCP 77-79 : FPDMA AA broken, lies about PMP support\n* MCP 89    : FPDMA AA broken\n\nInstead of turngin off FPDMA AA on all NVIDIAs, implement\nHFLAG_NO_FPDMA_AA, define additional board IDs and apply necessary\nquirks.\n\nThis fixes bko#15481 and the list of quirks is verified by Peer Chen.\n\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d15481\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peer Chen \u003cpchen@nvidia.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ec569af8584e977a3474c197da53ae2ba5823caf",
      "tree": "05f5397c2db2b8035f2df4a125277cf807e8765a",
      "parents": [
        "441577efa0dc9ae40fb72c602896fc76a87c0a3a"
      ],
      "author": {
        "name": "Roman Fietze",
        "email": "roman.fietze@telemotive.de",
        "time": "Fri Mar 05 08:27:39 2010 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:02 2010 -0400"
      },
      "message": "pata_mpc52xx: reduce code size by simple change of constant data types\n\nI\u0027ve prepared a totally simple patch that, if I did it and measured it\ncorrectly, reduces the text size as of the ppc-6xx-size command of\npata-mpc52xx by more than 10%, by reducing the rodata size from 0x4a4\nto 0x17e bytes. This is simply done by changing the data types of the\nATA timing constants.\n\nIf you are interested at all, and it\u0027s worth the trouble, here the\ndetails:\n\nppc-6xx-size:\n     text data bss  dec  hex filename\nold: 6532 1068   0 7600 1db0 pata-mpc52xx.o\nnew: 5718 1068   0 6786 1a82 pata-mpc52xx.o\n\nThe (assembler) code itself doesn\u0027t really change very much. I double\nchecked the final results inside mpc52xx-ata-apply-timings() and they\nmatch. The driver is still working fine of course.\n\nSigned-off-by: Roman Fietze \u003croman.fietze@telemotive.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "441577efa0dc9ae40fb72c602896fc76a87c0a3a",
      "tree": "7ebfe6939da5261e97099bb42c84410e428bb1a3",
      "parents": [
        "96d60303fd3336893a93565d58c4f1805a327061"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Mar 29 10:32:39 2010 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: clean up board IDs\n\nahci over time has grown a number of board IDs and it\u0027s a bit of mess\nright now.  Clean it up such that,\n\n* board_id_* now live in a separate enum board_ids and numbers are\n  assigned automatically.\n\n* Board IDs assigned to features are separated from the ones assigned\n  to specific implementations and both are ordered alphabetically.\n\n* For NV MCPs, define per-generation alias board_ids and assign\n  matching aliases in the pci id table.  This makes mcp_linux, 67-73\n  use board_ahci_mcp65 instead of board_ahci_yesncq.  Both are\n  identical in content.\n\n* Kill now unused board_ahci_nopmp and board_ahci_yesncq.\n\nThis patch doesn\u0027t cause any functional change but will make future\nchanges to board_ids and quirks much less painful.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peer Chen \u003cpchen@nvidia.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "96d60303fd3336893a93565d58c4f1805a327061",
      "tree": "e6534dabeceb4a0a0b511c17dbffe47639fff0ac",
      "parents": [
        "1c2a49f61785ebbcbfb481a2aab659020f0457f7"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Sun Mar 28 00:37:21 2010 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Turn off DMA engines when there\u0027s no device attached\n\nAccording to section 10.3.1 of the AHCI spec, PxCMD.ST must not be set\nunless there\u0027s a device attached. Following this saves us a measurable\nquantity of power and does not impair hotplug support. Based on a patch\nby Kristen Carlson Accardi.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "1c2a49f61785ebbcbfb481a2aab659020f0457f7",
      "tree": "bb018719be09387c07345f0954408b3aa8c16a98",
      "parents": [
        "365cfa1ed5a36f9bcb9f64c9f0f52155af2e9fef"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Thu Mar 04 20:06:06 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Add platform driver\n\nThis can be used for AHCI-compatible interfaces implemented inside\nSystem-On-Chip solutions, or AHCI devices connected via localbus.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "365cfa1ed5a36f9bcb9f64c9f0f52155af2e9fef",
      "tree": "dcafbc73e4232ac9cfd65d25c2c7da8fa5390976",
      "parents": [
        "0cbb0e774b0ea0547ec1b9e795637e309327ae27"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Sun Mar 28 00:22:14 2010 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Move generic code into libahci\n\nThis patch should contain no functional changes, just moves code\naround.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "0cbb0e774b0ea0547ec1b9e795637e309327ae27",
      "tree": "383b5c40d5efa1f2fb86a2a7cfee1a9d2fc621a4",
      "parents": [
        "439fcaec10cef14a08557623d6f5fa240aaf3e2b"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Mar 03 20:17:45 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Introduce ahci_set_em_messages()\n\nFactor out some ahci_em_messages handling code from ahci_init_one().\nWe would like to reuse it for non-PCI devices.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "439fcaec10cef14a08557623d6f5fa240aaf3e2b",
      "tree": "4ae5b932d4a23faf972c021ac444fd5fea3d4ea8",
      "parents": [
        "781d655083f8fb0a343bb694e83b96f04e934b4f"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Mar 03 20:17:43 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Factor out PCI specifics from ahci_print_info()\n\nIntroduce ahci_pci_print_info() that now handles PCI stuff.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "781d655083f8fb0a343bb694e83b96f04e934b4f",
      "tree": "baf8156cbb5558c8863850e889373314f8651da3",
      "parents": [
        "97cfbfe60018ffa9198cf78848a9abc4b8d316cc"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Mar 03 20:17:42 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Factor out PCI specifics from ahci_init_controller()\n\nMove PCI stuff into ahci_pci_init_controller().\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "97cfbfe60018ffa9198cf78848a9abc4b8d316cc",
      "tree": "03d9bdec876b604354729de2775470586037aa0f",
      "parents": [
        "3303040d8ba2dc0090ff172627df44d284c893e7"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Mar 03 20:17:40 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Get rid of pci_dev argument in ahci_port_init()\n\nTo make the function bus-independand we have to get rid of\n\"struct pci_dev *\", so let\u0027s pass just \"struct devce *\".\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3303040d8ba2dc0090ff172627df44d284c893e7",
      "tree": "7def33b2ac39fa33d18685d2c802e512e1f4b351",
      "parents": [
        "1d5133587366ee0cbd0be8f10b57a2636b628f9b"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Mar 03 20:17:39 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Factor out PCI specifics from ahci_reset_controller()\n\nMove PCI stuff into ahci_pci_reset_controller().\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "1d5133587366ee0cbd0be8f10b57a2636b628f9b",
      "tree": "c7e5d9eea19f8143a6fad747416ccf3d9ac7f392",
      "parents": [
        "394d6e535f15c6f2d3c7fe2e228ee595acf0648c"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Mar 03 20:17:37 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:00 2010 -0400"
      },
      "message": "ahci: Get rid of pci_dev argument in ahci_save_initial_config()\n\nTo make the function generic we have to get rid of \"struct pci_dev *\",\nso let\u0027s pass just a \"struct devce *\".\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "394d6e535f15c6f2d3c7fe2e228ee595acf0648c",
      "tree": "2d8d71df633a68244588227c64274eb1d38e0843",
      "parents": [
        "d89933497d2698c01ab25e2644807509ada43a7d"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Mar 03 20:17:36 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:00 2010 -0400"
      },
      "message": "ahci: Factor out PCI specifics from ahci_save_initial_config()\n\nMake ahci_save_initial_config() a bit more generic by introducing\nforce_port_map and mask_port_map arguments.\n\nMove PCI stuff into ahci_pci_save_initial_config().\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "d89933497d2698c01ab25e2644807509ada43a7d",
      "tree": "bfb64443b9a3fa75874481140fd325e4004190ef",
      "parents": [
        "4fc4c3ce0dc1096cbd0daa3fe8f6905cbec2b87e"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Mar 03 20:17:34 2010 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:00 2010 -0400"
      },
      "message": "ahci: Get rid of host-\u003eiomap usage\n\nCurrently the driver uses host-\u003eiomap to store all the iomapped BARs\nof a PCI device (while AHCI devices actually use just a single memory\nwindow).\n\nWe\u0027re going to teach AHCI to work with non-PCI buses, so there are two\noptions to make this work:\n\n1. \"fake\" host-\u003eiomap array for non-PCI devices, and place the needed\n   address at iomap[AHCI_PCI_BAR];\n2. Get rid of host-\u003eiomap usage, instead introduce a private mmio\n   field.\n\nThis patch implements the second option.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "4fc4c3ce0dc1096cbd0daa3fe8f6905cbec2b87e",
      "tree": "40a48fe2eabbab01133047ee5055ab8f853deac4",
      "parents": [
        "97b2073ff04814a7f2fef5fe0e82bb008cad7d8e",
        "b3b38d842fa367d862b83e7670af4e0fd6a80fc0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 11:49:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 11:49:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: don\u0027t leak user struct on inotify release\n  inotify: race use after free/double free in inotify inode marks\n  inotify: clean up the inotify_add_watch out path\n  Inotify: undefined reference to `anon_inode_getfd\u0027\n\nManual merge to remove duplicate \"select ANON_INODES\" from Kconfig file\n"
    },
    {
      "commit": "97b2073ff04814a7f2fef5fe0e82bb008cad7d8e",
      "tree": "963db446ed9bdb3d1f8b937e87df7580ce7f2341",
      "parents": [
        "508ff9d41c9aa7e178f6330e703a22af03090dd5",
        "b9af5ddf8a34ff3c911372173c2e51c6f8a6ca8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 11:43:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 11:43:52 2010 -0700"
      },
      "message": "Merge branch \u0027davinci-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci\n\n* \u0027davinci-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci:\n  DA830: fix USB 2.0 clock entry\n"
    },
    {
      "commit": "b9af5ddf8a34ff3c911372173c2e51c6f8a6ca8f",
      "tree": "006f713f241934420895c4aa33c3647538ed0319",
      "parents": [
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu May 13 22:51:51 2010 +0400"
      },
      "committer": {
        "name": "Kevin Hilman",
        "email": "khilman@deeprootsystems.com",
        "time": "Fri May 14 11:24:19 2010 -0700"
      },
      "message": "DA830: fix USB 2.0 clock entry\n\nDA8xx OHCI driver fails to load due to failing clk_get() call for the USB 2.0\nclock. Arrange matching USB 2.0 clock by the clock name instead of the device.\n(Adding another CLK() entry for \"ohci.0\" device won\u0027t do -- in the future I\u0027ll\nalso have to enable USB 2.0 clock to configure CPPI 4.1 module, in which case\nI won\u0027t have any device at all.)\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\n"
    },
    {
      "commit": "b3b38d842fa367d862b83e7670af4e0fd6a80fc0",
      "tree": "db803231178ae41f21240017a3119dea3a4d3589",
      "parents": [
        "e08733446e72b983fed850fc5d8bd21b386feb29"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 12 15:34:07 2010 -0700"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:53:36 2010 -0400"
      },
      "message": "inotify: don\u0027t leak user struct on inotify release\n\ninotify_new_group() receives a get_uid-ed user_struct and saves the\nreference on group-\u003einotify_data.user.  The problem is that free_uid() is\nnever called on it.\n\nIssue seem to be introduced by 63c882a0 (inotify: reimplement inotify\nusing fsnotify) after 2.6.30.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nEric Paris \u003ceparis@parisplace.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e08733446e72b983fed850fc5d8bd21b386feb29",
      "tree": "6b169001ff9faa82577341fbfa4cbcd9ccf00663",
      "parents": [
        "3dbc6fb6a3c8a7dc164ae330ab024a3fe65ae53e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue May 11 17:17:40 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:52:57 2010 -0400"
      },
      "message": "inotify: race use after free/double free in inotify inode marks\n\nThere is a race in the inotify add/rm watch code.  A task can find and\nremove a mark which doesn\u0027t have all of it\u0027s references.  This can\nresult in a use after free/double free situation.\n\nTask A\t\t\t\t\tTask B\n------------\t\t\t\t-----------\ninotify_new_watch()\n allocate a mark (refcnt \u003d\u003d 1)\n add it to the idr\n\t\t\t\t\tinotify_rm_watch()\n\t\t\t\t\t inotify_remove_from_idr()\n\t\t\t\t\t  fsnotify_put_mark()\n\t\t\t\t\t      refcnt hits 0, free\n take reference because we are on idr\n [at this point it is a use after free]\n [time goes on]\n refcnt may hit 0 again, double free\n\nThe fix is to take the reference BEFORE the object can be found in the\nidr.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "3dbc6fb6a3c8a7dc164ae330ab024a3fe65ae53e",
      "tree": "b04e140c78e644b18f7aa6ce31d59245dc39f0c0",
      "parents": [
        "e7b702b1a8f2a6961367da903217e669be0f099f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue May 11 17:16:23 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:51:07 2010 -0400"
      },
      "message": "inotify: clean up the inotify_add_watch out path\n\ninotify_add_watch explictly frees the unused inode mark, but it can just\nuse the generic code.  Just do that.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "508ff9d41c9aa7e178f6330e703a22af03090dd5",
      "tree": "d0098fad8ac34f2f3ee7f162a83ba1ae18edd77f",
      "parents": [
        "3ac4e829bd8575e9adea2ba1b9329da363881ffb",
        "d77f873fdd21912803836da78f627d2efd267082"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 07:56:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 07:56:45 2010 -0700"
      },
      "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  vhost: fix barrier pairing\n"
    },
    {
      "commit": "3ac4e829bd8575e9adea2ba1b9329da363881ffb",
      "tree": "1c11ad83f9153db87e1c4d4fb4076e410fb0ae63",
      "parents": [
        "7ac992ef615c66a05ebb831915935e83c0ec8e05",
        "4ae69e6b718589abe97c9625ccbb1e0bc95a8c0e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 07:55:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 07:55:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  mmap_min_addr check CAP_SYS_RAWIO only for write\n"
    },
    {
      "commit": "7ac992ef615c66a05ebb831915935e83c0ec8e05",
      "tree": "0bef479fccb4e73733fab628dc525a5959bba925",
      "parents": [
        "6a251b0ab67989f468f4cb65179e0cf40cf8c295",
        "a5e48b88da225580394f825ffe67e444b050074b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 07:29:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 07:29:29 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.monstr.eu/linux-2.6-microblaze\n\n* \u0027for-linus\u0027 of git://git.monstr.eu/linux-2.6-microblaze:\n  microblaze: Fix module loading on system with WB cache\n  microblaze: export assembly functions used by modules\n  microblaze: Remove powerpc code from Microblaze port\n  microblaze: Remove compilation warnings in cache macro\n  microblaze: export assembly functions used by modules\n  microblaze: fix get_user/put_user side-effects\n  microblaze: re-enable interrupts before calling schedule\n"
    },
    {
      "commit": "d77f873fdd21912803836da78f627d2efd267082",
      "tree": "1a3468c7a10b948ac12bac260004eebdfd3e4a60",
      "parents": [
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8",
        "0d4993563bde70bc7c7718686bc5c5c089733001"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 14 03:42:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 14 03:42:49 2010 -0700"
      },
      "message": "Merge branch \u0027net-2.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "4ae69e6b718589abe97c9625ccbb1e0bc95a8c0e",
      "tree": "b669aade412fd2a81af6c9a7c0bcee580c7b31cb",
      "parents": [
        "6a251b0ab67989f468f4cb65179e0cf40cf8c295"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Thu Apr 22 12:19:17 2010 -0700"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri May 14 19:03:15 2010 +1000"
      },
      "message": "mmap_min_addr check CAP_SYS_RAWIO only for write\n\nRedirecting directly to lsm, here\u0027s the patch discussed on lkml:\nhttp://lkml.org/lkml/2010/4/22/219\n\nThe mmap_min_addr value is useful information for an admin to see without\nbeing root (\"is my system vulnerable to kernel NULL pointer attacks?\") and\nits setting is trivially easy for an attacker to determine by calling\nmmap() in PAGE_SIZE increments starting at 0, so trying to keep it private\nhas no value.\n\nOnly require CAP_SYS_RAWIO if changing the value, not reading it.\n\nComment from Serge :\n\n  Me, I like to write my passwords with light blue pen on dark blue\n  paper, pasted on my window - if you\u0027re going to get my password, you\u0027re\n  gonna get a headache.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n(cherry picked from commit 822cceec7248013821d655545ea45d1c6a9d15b3)\n"
    },
    {
      "commit": "a5e48b88da225580394f825ffe67e444b050074b",
      "tree": "2be84a73c04e0226590a5f3af88efa99fd7471de",
      "parents": [
        "ee4bcdf1d248c4ebe5f73e11631c3bd3f76d777b"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Fri May 14 07:40:46 2010 +0200"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Fri May 14 07:43:38 2010 +0200"
      },
      "message": "microblaze: Fix module loading on system with WB cache\n\nThere is necessary to flush whole dcache. Icache work should be\ndone in kernel/module.c.\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\n"
    },
    {
      "commit": "6a251b0ab67989f468f4cb65179e0cf40cf8c295",
      "tree": "f0e857619ca27e552fd0e9e929d428ab5faefd8b",
      "parents": [
        "9e766d81b1f432826fd773fc5d679b8a8095e941",
        "5051d411ec87381693433d24c4488b2fa4a6306c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 14:48:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 14:48:10 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:\n  mfd: Clean up after WM83xx AUXADC interrupt if it arrives late\n"
    },
    {
      "commit": "9e766d81b1f432826fd773fc5d679b8a8095e941",
      "tree": "c61e6035d460188e72ecde235ce5d34d9a475950",
      "parents": [
        "bf6239eb84e6d7331f168cd3593958b656ce42a3",
        "4f018c513a81ba243165bfc4fcf44254986ad002"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 14:36:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 14:36:19 2010 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.34\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.34\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: PPC: Keep index within boundaries in kvmppc_44x_emul_tlbwe()\n  KVM: VMX: blocked-by-sti must not defer NMI injections\n  KVM: x86: Call vcpu_load and vcpu_put in cpuid_update\n  KVM: SVM: Fix wrong intercept masks on 32 bit\n  KVM: convert ioapic lock to spinlock\n"
    },
    {
      "commit": "bf6239eb84e6d7331f168cd3593958b656ce42a3",
      "tree": "9f123cdc8f4616dadec022fb3c03222feab2a9a9",
      "parents": [
        "4462dc02842698f173f518c1f5ce79c0fb89395a",
        "1c5250d6163dac28be3afabdfb6c723f107051b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 12:21:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 12:21:44 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  serial: imx.c: fix CTS trigger level lower to avoid lost chars\n  tty: Fix unbalanced BKL handling in error path\n  serial: mpc52xx_uart: fix null pointer dereference\n"
    },
    {
      "commit": "1c5250d6163dac28be3afabdfb6c723f107051b7",
      "tree": "efb40da1a3267af59c279ae014414daecacb90bb",
      "parents": [
        "77945febbe60a69e9dcab7f49d33a1aa1e436973"
      ],
      "author": {
        "name": "Valentin Longchamp",
        "email": "valentin.longchamp@epfl.ch",
        "time": "Wed May 05 11:47:07 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 13 12:10:56 2010 -0700"
      },
      "message": "serial: imx.c: fix CTS trigger level lower to avoid lost chars\n\nThe imx CTS trigger level is left at its reset value that is 32\nchars. Since the RX FIFO has 32 entries, when CTS is raised, the\nFIFO already is full. However, some serial port devices first empty\ntheir TX FIFO before stopping when CTS is raised, resulting in lost\nchars.\n\nThis patch sets the trigger level lower so that other chars arrive\nafter CTS is raised, there is still room for 16 of them.\n\nSigned-off-by: Valentin Longchamp\u003cvalentin.longchamp@epfl.ch\u003e\nTested-by: Philippe Rétornaz\u003cphilippe.retornaz@epfl.ch\u003e\nAcked-by: Wolfram Sang\u003cw.sang@pengutronix.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "77945febbe60a69e9dcab7f49d33a1aa1e436973",
      "tree": "1475c6c8215e831904e78a08d1947ffb5a1516ce",
      "parents": [
        "e6114fa1d1d6a588766f28081b971047dd3e5def"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue May 04 20:42:36 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 13 12:10:56 2010 -0700"
      },
      "message": "tty: Fix unbalanced BKL handling in error path\n\nArnd noted:\n\nAfter the \"retry_open:\" label, we first get the tty_mutex\nand then the BKL. However a the end of tty_open, we jump\nback to retry_open with the BKL still held. If we run into\nthis case, the tty_open function will be left with the BKL\nstill held.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e6114fa1d1d6a588766f28081b971047dd3e5def",
      "tree": "58abc158d7f3ad52e5071b77c34be6d752848319",
      "parents": [
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "Anatolij Gustschin",
        "email": "agust@denx.de",
        "time": "Wed May 05 00:18:59 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 13 12:10:55 2010 -0700"
      },
      "message": "serial: mpc52xx_uart: fix null pointer dereference\n\nCommit 6acc6833510db8f72b5ef343296d97480555fda9\nintroduced NULL pointer dereference and kernel crash\non ppc32 machines while booting. Fix this bug now.\n\nReported-by: Leonardo Chiquitto \u003cleonardo.lists@gmail.com\u003e\nTested-by: Leonardo Chiquitto \u003cleonardo.lists@gmail.com\u003e\nSigned-off-by: Anatolij Gustschin \u003cagust@denx.de\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4462dc02842698f173f518c1f5ce79c0fb89395a",
      "tree": "efef7ddcacfd5e119f2ff98e7eb970862d392b6d",
      "parents": [
        "002baeecf53677d2034113e34197ec221f42e037",
        "3d69438031b00c601c991ab447cafb7d5c3c59a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 10:36:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 10:36:16 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: guard against hardlinking directories\n"
    },
    {
      "commit": "002baeecf53677d2034113e34197ec221f42e037",
      "tree": "081c54c4a9a266a894a00165e97dabfb212a2470",
      "parents": [
        "fc8e38f142dd59f81306ff6a81c1351e9eb0e014"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 13 12:52:57 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 08:46:04 2010 -0700"
      },
      "message": "vfs: Fix O_NOFOLLOW behavior for paths with trailing slashes\n\nAccording to specification\n\n\tmkdir d; ln -s d a; open(\"a/\", O_NOFOLLOW | O_RDONLY)\n\nshould return success but currently it returns ELOOP.  This is a\nregression caused by path lookup cleanup patch series.\n\nFix the code to ignore O_NOFOLLOW in case the provided path has trailing\nslashes.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReported-by: Marius Tolzmann \u003ctolzmann@molgen.mpg.de\u003e\nAcked-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc8e38f142dd59f81306ff6a81c1351e9eb0e014",
      "tree": "5f2fc612bdde9cbe264b544af2e3e0a429345ef6",
      "parents": [
        "aa86f26bd81a46985f1b32e513638d1c36cf3104",
        "105ce39ca4fabf20e3211cae1abc8f037e6a1f7f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 07:35:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 07:35:26 2010 -0700"
      },
      "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  ALSA: ice1724 - Fix ESI Maya44 capture source control\n  ALSA: pcm - Use pgprot_noncached() for MIPS non-coherent archs\n  ALSA: virtuoso: fix Xonar D1/DX front panel microphone\n  ALSA: hda - Add hp-dv4 model for IDT 92HD71bx\n  ALSA: hda - Fix mute-LED GPIO pin for HP dv series\n  ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice)\n"
    },
    {
      "commit": "aa86f26bd81a46985f1b32e513638d1c36cf3104",
      "tree": "86a3e978f511536ba2a12740b58392f3d3e13e11",
      "parents": [
        "be835674b55324c1abe973b15343c3663910c620",
        "3843384a055496dfed3c93ae883d964d8290fdab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 07:28:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 07:28:43 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: ad7877 - keep dma rx buffers in seperate cache lines\n  Input: psmouse - reset all types of mice before reconnecting\n  Input: elantech - use all 3 bytes when checking version\n  Input: iforce - fix Guillemot Jet Leader 3D entry\n  Input: iforce - add Guillemot Jet Leader Force Feedback\n"
    },
    {
      "commit": "5051d411ec87381693433d24c4488b2fa4a6306c",
      "tree": "82ddb281a3bb02163af1041db8e1769274ba9814",
      "parents": [
        "be835674b55324c1abe973b15343c3663910c620"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 02 13:08:39 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu May 13 12:58:55 2010 +0200"
      },
      "message": "mfd: Clean up after WM83xx AUXADC interrupt if it arrives late\n\nIn certain circumstances, especially under heavy load, the AUXADC\ncompletion interrupt may be detected after we\u0027ve timed out waiting for\nit.  That conversion would still succeed but the next conversion will\nsee the completion that was signalled by the interrupt for the previous\nconversion and therefore not wait for the AUXADC conversion to run,\ncausing it to report failure.\n\nProvide a simple, non-invasive cleanup by using try_wait_for_completion()\nto ensure that the completion is not signalled before we wait.  Since\nthe AUXADC is run within a mutex we know there can only have been at\nmost one AUXADC interrupt outstanding.  A more involved change should\nfollow for the next merge window.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "ee4bcdf1d248c4ebe5f73e11631c3bd3f76d777b",
      "tree": "3dd2ae05fbf33960e5ed2b725e5ebe0bcbe3ed60",
      "parents": [
        "1ce2470aa544a0aa37b575c45cba366770860af7"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 12:11:42 2010 +0200"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 12:11:42 2010 +0200"
      },
      "message": "microblaze: export assembly functions used by modules\n\nExport __strncpy_user, memory_size, ioremap_bot for modules.\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\n"
    },
    {
      "commit": "1ce2470aa544a0aa37b575c45cba366770860af7",
      "tree": "b9b96d57efa7f21a9168c311f8e197465753c662",
      "parents": [
        "ddfbc935eae68294834dc29998f93147a5422a0d"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 12:09:54 2010 +0200"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 12:09:54 2010 +0200"
      },
      "message": "microblaze: Remove powerpc code from Microblaze port\n\nRemove eeh_add_device_tree_late which is powerpc specific code.\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\n"
    },
    {
      "commit": "ddfbc935eae68294834dc29998f93147a5422a0d",
      "tree": "1712d1923128233edd6d7117d843cee40be3d287",
      "parents": [
        "e1733d2c397476c245a681ba0b54c88858b7a0be"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 10:55:47 2010 +0200"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 10:55:47 2010 +0200"
      },
      "message": "microblaze: Remove compilation warnings in cache macro\n\nCC      arch/microblaze/kernel/cpu/cache.o\narch/microblaze/kernel/cpu/cache.c: In function \u0027__invalidate_dcache_range_wb\u0027:\narch/microblaze/kernel/cpu/cache.c:398: warning: ISO C90 forbids mixed declarations and code\narch/microblaze/kernel/cpu/cache.c: In function \u0027__flush_dcache_range_wb\u0027:\narch/microblaze/kernel/cpu/cache.c:509: warning: ISO C90 forbids mixed declara\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\n"
    },
    {
      "commit": "e1733d2c397476c245a681ba0b54c88858b7a0be",
      "tree": "400a1035774b8266cb303a0b5246c2a9551bd282",
      "parents": [
        "538722ca3b762023ac65cec214901a1ebff8b575"
      ],
      "author": {
        "name": "Steven J. Magnani",
        "email": "steve@digidescorp.com",
        "time": "Tue Apr 27 13:00:35 2010 -0500"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 10:46:04 2010 +0200"
      },
      "message": "microblaze: export assembly functions used by modules\n\nModules that use copy_{to,from}_user(), memcpy(), and memset() fail to build\nin certain circumstances.\n\nSigned-off-by: Steven J. Magnani \u003csteve@digidescorp.com\u003e\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\n"
    },
    {
      "commit": "105ce39ca4fabf20e3211cae1abc8f037e6a1f7f",
      "tree": "34769f80d1eadae93459b8a26fe60302df5e9042",
      "parents": [
        "8213466596bf10b75887754773ee13c10cf86f5c",
        "2a6ce6e5fda4721b35f309acedf4cac61ecbfb04"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu May 13 10:07:15 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu May 13 10:07:15 2010 +0200"
      },
      "message": "Merge branch \u0027fix/hda\u0027 into for-linus\n"
    },
    {
      "commit": "3843384a055496dfed3c93ae883d964d8290fdab",
      "tree": "e60dfe169cd2a6bf83c7cb6d362c39a336b3798e",
      "parents": [
        "ef110b24e28f36620f63dab94708a17c7e267358"
      ],
      "author": {
        "name": "Oskar Schirmer",
        "email": "os@emlix.com",
        "time": "Thu May 13 00:42:23 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 13 00:43:32 2010 -0700"
      },
      "message": "Input: ad7877 - keep dma rx buffers in seperate cache lines\n\nWith dma based spi transmission, data corruption is observed\noccasionally. With dma buffers located right next to msg and\nxfer fields, cache lines correctly flushed in preparation for\ndma usage may be polluted again when writing to fields in the\nsame cache line.\n\nMake sure cache fields used with dma do not share cache lines\nwith fields changed during dma handling. As both fields are part\nof a struct that is allocated via kzalloc, thus cache aligned,\nmoving the fields to the 1st position and insert padding for\nalignment does the job.\n\nSigned-off-by: Oskar Schirmer \u003cos@emlix.com\u003e\nSigned-off-by: Daniel Glöckner \u003cdg@emlix.com\u003e\nSigned-off-by: Oliver Schneidewind \u003cosw@emlix.com\u003e\nSigned-off-by: Johannes Weiner \u003cjw@emlix.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n[dtor@mail.ru - changed to use ___cacheline_aligned as suggested\n by akpm]\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "ef110b24e28f36620f63dab94708a17c7e267358",
      "tree": "0b194aa3d7069983de14d821c3a044557008ce9d",
      "parents": [
        "504e8beed161bd11a2c6cbb8aaf352c14d39b5bb"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 13 00:42:23 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 13 00:43:26 2010 -0700"
      },
      "message": "Input: psmouse - reset all types of mice before reconnecting\n\nSynaptics hardware requires resetting device after suspend to ram\nin order for the device to be operational. The reset lives in\nsynaptics-specific reconnect handler, but it is not being invoked\nif synaptics support is disabled and the device is handled as a\nstandard PS/2 device (bare or IntelliMouse protocol).\n\nLet\u0027s add reset into generic reconnect handler as well.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "504e8beed161bd11a2c6cbb8aaf352c14d39b5bb",
      "tree": "e9fa1e22d917fafc4a8ec005934f4b19f2d834ac",
      "parents": [
        "513d8be9883fe0a7a73d216c7cecd20e7c9effda"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 13 00:41:15 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu May 13 00:43:19 2010 -0700"
      },
      "message": "Input: elantech - use all 3 bytes when checking version\n\nApparently all 3 bytes returned by ETP_FW_VERSION_QUERY are significant\nand should be taken into account when matching hardware version/features.\n\nTested-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "538722ca3b762023ac65cec214901a1ebff8b575",
      "tree": "5d4ca0048a9351744fcfa6b5ca2cc25e090882f6",
      "parents": [
        "0d5961b7f612f8f54fd6fbe1942cdfb141cddfb9"
      ],
      "author": {
        "name": "Steven J. Magnani",
        "email": "steve@digidescorp.com",
        "time": "Thu May 06 16:38:33 2010 -0500"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 09:21:14 2010 +0200"
      },
      "message": "microblaze: fix get_user/put_user side-effects\n\nThe Microblaze implementations of get_user() and (MMU) put_user() evaluate\nthe address argument more than once. This causes unexpected side-effects for\ninvocations that include increment operators, i.e. get_user(foo, bar++).\n\nThis patch also removes the distinction between MMU and noMMU put_user().\n\nWithout the patch:\n  $ echo 1234567890 \u003e /proc/sys/kernel/core_pattern\n  $ cat /proc/sys/kernel/core_pattern\n  12345\n\nSigned-off-by: Steven J. Magnani \u003csteve@digidescorp.com\u003e\n"
    },
    {
      "commit": "0d5961b7f612f8f54fd6fbe1942cdfb141cddfb9",
      "tree": "3e4e29715f7c49a0ebfbd76ccf72f675a4bb979f",
      "parents": [
        "be835674b55324c1abe973b15343c3663910c620"
      ],
      "author": {
        "name": "Steven J. Magnani",
        "email": "steve@digidescorp.com",
        "time": "Tue Apr 27 13:00:23 2010 -0500"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 13 09:21:01 2010 +0200"
      },
      "message": "microblaze: re-enable interrupts before calling schedule\n\nschedule() should not be called with interrupts disabled.\n\nSigned-off-by: Steven J. Magnani \u003csteve@digidescorp.com\u003e\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\n"
    },
    {
      "commit": "4f018c513a81ba243165bfc4fcf44254986ad002",
      "tree": "95b94a1676b6b7314274576dbea0b863c73e3aba",
      "parents": [
        "f8c5fae16649445e15656667f72bd51d777f7766"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Sun May 09 17:26:47 2010 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 13 01:33:04 2010 -0300"
      },
      "message": "KVM: PPC: Keep index within boundaries in kvmppc_44x_emul_tlbwe()\n\nAn index of KVM44x_GUEST_TLB_SIZE is already one too large.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Hollis Blanchard \u003chollis@penguinppc.org\u003e\nAcked-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f8c5fae16649445e15656667f72bd51d777f7766",
      "tree": "c4744f5024da012bbe9658dc4e80601fb3197281",
      "parents": [
        "fe19c5a46b4c519153fddd4d5efe32a3e4cfa694"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue May 11 15:16:46 2010 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 13 01:31:37 2010 -0300"
      },
      "message": "KVM: VMX: blocked-by-sti must not defer NMI injections\n\nAs the processor may not consider GUEST_INTR_STATE_STI as a reason for\nblocking NMI, it could return immediately with EXIT_REASON_NMI_WINDOW\nwhen we asked for it. But as we consider this state as NMI-blocking, we\ncan run into an endless loop.\n\nResolve this by allowing NMI injection if just GUEST_INTR_STATE_STI is\nactive (originally suggested by Gleb). Intel confirmed that this is\nsafe, the processor will never complain about NMI injection in this\nstate.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nKVM-Stable-Tag\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "fe19c5a46b4c519153fddd4d5efe32a3e4cfa694",
      "tree": "d06ee3d4bdd4a8bf7953841608b0ad32e7a4f5bd",
      "parents": [
        "061e2fd16863009c8005b4b5fdfb75c7215c0b99"
      ],
      "author": {
        "name": "Dongxiao Xu",
        "email": "dongxiao.xu@intel.com",
        "time": "Tue May 11 18:21:33 2010 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 13 01:31:02 2010 -0300"
      },
      "message": "KVM: x86: Call vcpu_load and vcpu_put in cpuid_update\n\ncpuid_update may operate VMCS, so vcpu_load() and vcpu_put()\nshould be called to ensure correctness.\n\nSigned-off-by: Dongxiao Xu \u003cdongxiao.xu@intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "061e2fd16863009c8005b4b5fdfb75c7215c0b99",
      "tree": "54173bdbc5e490bbba23b30286b2c88d00131407",
      "parents": [
        "46a47b1ed118cda1a08b7f6077b837a00fbc112b"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed May 05 16:04:43 2010 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 13 01:24:08 2010 -0300"
      },
      "message": "KVM: SVM: Fix wrong intercept masks on 32 bit\n\nThis patch makes KVM on 32 bit SVM working again by\ncorrecting the masks used for iret interception. With the\nwrong masks the upper 32 bits of the intercepts are masked\nout which leaves vmrun unintercepted. This is not legal on\nsvm and the vmrun fails.\nBug was introduced by commits 95ba827313 and 3cfc3092.\n\nCc: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "46a47b1ed118cda1a08b7f6077b837a00fbc112b",
      "tree": "d86686ebd47f9e5751b91121926ddbf6917e39a6",
      "parents": [
        "be835674b55324c1abe973b15343c3663910c620"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 23 14:03:38 2010 -0300"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu May 13 01:23:55 2010 -0300"
      },
      "message": "KVM: convert ioapic lock to spinlock\n\nkvm_set_irq is used from non sleepable contexes, so convert ioapic from\nmutex to spinlock.\n\nKVM-Stable-Tag.\nTested-by: Ralf Bonenkamp \u003cralf.bonenkamp@swyx.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "be835674b55324c1abe973b15343c3663910c620",
      "tree": "481604c6b68bc5c37e9674e72ea3f967ee609b1b",
      "parents": [
        "5ec390e046039942d59ef2634b967b8b23fc57c2",
        "131c6c9eddfa252e376edb4aeff9c7fe1b96a798"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:48:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:48:26 2010 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/perf_event: Fix oops due to perf_event_do_pending call\n  powerpc/swiotlb: Fix off by one in determining boundary of which ops to use\n"
    },
    {
      "commit": "5ec390e046039942d59ef2634b967b8b23fc57c2",
      "tree": "c1d80246ec80ef60335f7bbcc6f5c22db901edcb",
      "parents": [
        "cdf5f61ed1d64d50eb9cf10071ab40836f5f9f91",
        "57d84906f0f3005d4d22e13a3f5102a16a7fc4a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:47:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:47:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] correct address of _stext with CONFIG_SHARED_KERNEL\u003dy\n  [S390] ptrace: fix return value of do_syscall_trace_enter()\n  [S390] dasd: fix race between tasklet and dasd_sleep_on\n"
    },
    {
      "commit": "cdf5f61ed1d64d50eb9cf10071ab40836f5f9f91",
      "tree": "d67166525b89055b44ecf52cd9ae395a676877f5",
      "parents": [
        "769d9968e42c995eaaf61ac5583d998f32e0769a",
        "e84346b726ea90a8ed470bc81c4136a7b8710ea5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:47:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:47:29 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: preserve seq # on requeued messages after transient transport errors\n  ceph: fix cap removal races\n  ceph: zero unused message header, footer fields\n  ceph: fix locking for waking session requests after reconnect\n  ceph: resubmit requests on pg mapping change (not just primary change)\n  ceph: fix open file counting on snapped inodes when mds returns no caps\n  ceph: unregister osd request on failure\n  ceph: don\u0027t use writeback_control in writepages completion\n  ceph: unregister bdi before kill_anon_super releases device name\n"
    },
    {
      "commit": "131c6c9eddfa252e376edb4aeff9c7fe1b96a798",
      "tree": "4eb6909139decb6330f55cf6c53a554a6c22641f",
      "parents": [
        "0fe1ac48bef018bed896307cd12f6ca9b5e704ab",
        "b8b14c66765ccba884c5c4570bf8be361d211d95"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu May 13 11:42:40 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu May 13 11:42:40 2010 +1000"
      },
      "message": "Merge commit \u0027kumar/merge\u0027 into merge\n"
    },
    {
      "commit": "769d9968e42c995eaaf61ac5583d998f32e0769a",
      "tree": "e777fd34d8772fe3a89491f6669161c66c78a2cf",
      "parents": [
        "7ac512aa8237c43331ffaf77a4fd8b8d684819ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:39:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:39:45 2010 -0700"
      },
      "message": "Revert \"PCI: update bridge resources to get more big ranges in PCI assign unssigned\"\n\nThis reverts commit 977d17bb1749517b353874ccdc9b85abc7a58c2a, because it\ncan cause problems with some devices not getting any resources at all\nwhen the resource tree is re-allocated.\n\nFor an example of this, see\n\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d15960\n\t(originally https://bugtrack.alsa-project.org/alsa-bug/view.php?id\u003d4982)\n\t(lkml thread: http://lkml.org/lkml/2010/4/19/20)\n\nwhere Peter Henriksson reported his Xonar DX sound card gone, because\nthe IO port region was no longer allocated.\n\nReported-bisected-and-tested-by: Peter Henriksson \u003cpeter.henriksson@gmail.com\u003e\nRequested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nRequested-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ac512aa8237c43331ffaf77a4fd8b8d684819ba",
      "tree": "0fe199f0364c5b54012691c9e4ff4a11767d1797",
      "parents": [
        "91af70814105f4c05e6e11b51c3269907b71794b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 12 15:34:03 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:23:58 2010 -0700"
      },
      "message": "CacheFiles: Fix error handling in cachefiles_determine_cache_security()\n\ncachefiles_determine_cache_security() is expected to return with a\nsecurity override in place.  However, if set_create_files_as() fails, we\nfail to do this.  In this case, we should just reinstate the security\noverride that was set by the caller.\n\nFurthermore, if set_create_files_as() fails, we should dispose of the\nnew credentials we were in the process of creating.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91af70814105f4c05e6e11b51c3269907b71794b",
      "tree": "3857e57d3bccc1638ce2dc0413249cc2f3469d34",
      "parents": [
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Wed May 12 11:38:45 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:23:34 2010 -0700"
      },
      "message": "rwsem: Test for no active locks in __rwsem_do_wake undo code\n\nIf there are no active threasd using a semaphore, it is always correct\nto unqueue blocked threads.  This seems to be what was intended in the\nundo code.\n\nWhat was done instead, was to look for a sem count of zero - this is an\nimpossible situation, given that at least one thread is known to be\nqueued on the semaphore.  The code might be correct as written, but it\u0027s\nhard to reason about and it\u0027s not what was intended (otherwise the goto\nout would have been unconditional).\n\nGo for checking the active count - the alternative is not worth the\nheadache.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d4993563bde70bc7c7718686bc5c5c089733001",
      "tree": "c436326c77afc9cd1c9e0315e313d6ba2502c160",
      "parents": [
        "de02d72bb3cc5b3d4c873db4ca8291723dd48479"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue May 11 19:44:17 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed May 12 18:04:04 2010 +0300"
      },
      "message": "vhost: fix barrier pairing\n\nAccording to memory-barriers.txt, an smp memory barrier in guest\nshould always be paired with an smp memory barrier in host,\nand I quote \"a lack of appropriate pairing is almost certainly an\nerror\". In case of vhost, failure to flush out used index\nupdate before looking at the interrupt disable flag\ncould result in missed interrupts, resulting in\nnetworking hang under stress.\n\nThis might happen when flags read bypasses used index write.\nSo we see interrupts disabled and do not interrupt, at the\nsame time guest writes flags value to enable interrupt,\nreads an old used index value, thinks that\nused ring is empty and waits for interrupt.\n\nNote: the barrier we pair with here is in\ndrivers/virtio/virtio_ring.c, function\nvring_enable_cb.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Juan Quintela \u003cquintela@redhat.com\u003e\n"
    },
    {
      "commit": "e7b702b1a8f2a6961367da903217e669be0f099f",
      "tree": "bd2a49f1fec1035256fe90e120fe878fdfa2ac12",
      "parents": [
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Sun Apr 18 21:25:11 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed May 12 11:03:40 2010 -0400"
      },
      "message": "Inotify: undefined reference to `anon_inode_getfd\u0027\n\nFix:\n\nfs/built-in.o: In function `sys_inotify_init1\u0027:\nsummary.c:(.text+0x347a4): undefined reference to `anon_inode_getfd\u0027\n\nfound by kautobuild with arms bcmring_defconfig, which ends up with\nINOTIFY_USER enabled (through the \u0027default y\u0027) but leaves ANON_INODES\nunset.  However, inotify_user.c uses anon_inode_getfd().\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "8213466596bf10b75887754773ee13c10cf86f5c",
      "tree": "b52ab03e9d1812ab069989a48c76636293a1387c",
      "parents": [
        "9fe17b5d47d3d3c85b35623dea8f571a184134c0"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed May 12 16:43:32 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed May 12 16:43:32 2010 +0200"
      },
      "message": "ALSA: ice1724 - Fix ESI Maya44 capture source control\n\nThe capture source control of maya44 was wrongly coded with the bit\nshift instead of the bit mask.  Also, the slot for line-in was\nwrongly assigned (slot 5 instead of 4).\n\nReported-by: Alex Chernyshoff \u003calexdsp@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "9fe17b5d47d3d3c85b35623dea8f571a184134c0",
      "tree": "c2cb92b7f898a68b8cbb3adb8deee265b1f06684",
      "parents": [
        "6a45f7822544c54a2cf070d84f4e85f2fb32ec02"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed May 12 10:32:42 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed May 12 10:32:42 2010 +0200"
      },
      "message": "ALSA: pcm - Use pgprot_noncached() for MIPS non-coherent archs\n\nMIPS non-coherent archs need the noncached pgprot in mmap of PCM buffers.\nBut, since the coherency needs to be checked dynamically via\nplat_device_is_coherent(), we need an ugly check dependent on MIPS\nin ALSA core code.\n\nThis should be cleaned up in MIPS arch side (e.g. creating\ndma_mmap_coherent()) in near future.\n\nTested-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "6a45f7822544c54a2cf070d84f4e85f2fb32ec02",
      "tree": "baa6534938d7d46902301b749220bd086144885c",
      "parents": [
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue May 11 16:34:39 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed May 12 10:28:36 2010 +0200"
      },
      "message": "ALSA: virtuoso: fix Xonar D1/DX front panel microphone\n\nCommit 65c3ac885ce9852852b895a4a62212f62cb5f2e9 in 2.6.33 accidentally\nleft out the initialization of the AC97 codec FMIC2MIC bit, which broke\nrecording from the front panel microphone.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Jaroslav Kysela \u003cperex@perex.cz\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "2a6ce6e5fda4721b35f309acedf4cac61ecbfb04",
      "tree": "ac59cd2a4a820da67342741d1531fae8c3557567",
      "parents": [
        "26ebe0a28986f4845b2c5bea43ac5cc0b9f27f0a"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed May 12 10:16:20 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed May 12 10:20:42 2010 +0200"
      },
      "message": "ALSA: hda - Add hp-dv4 model for IDT 92HD71bx\n\nIt turned out that HP dv series have inconsistent the mute-LED GPIO\nmapping among various models.  dv4/7 seem to use GPIO 0 while dv 5/6\nseem to use GPIO 3.  The previous commit\n  26ebe0a28986f4845b2c5bea43ac5cc0b9f27f0a\n  ALSA: hda - Fix mute-LED GPIO pin for HP dv series\nbreaks dv5/6.\n\nThis patch adds the new quirk model, hp-dv4, to handle HP dv4/7\nseparately from HP dv5/6.\n\nTested-by: Kunal Gangakhedkar \u003ckunal.gangakhedkar@gmail.com\u003e (for dv6-1110ax)\nAcked-by: Kunal Gangakhedkar \u003ckunal.gangakhedkar@gmail.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "57d84906f0f3005d4d22e13a3f5102a16a7fc4a2",
      "tree": "dd679b37b7112c5dc8de3aa60c900533f4ea7376",
      "parents": [
        "545c174d1f093a462b4bb9131b23d5ea72a600e1"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed May 12 09:32:13 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Wed May 12 09:32:26 2010 +0200"
      },
      "message": "[S390] correct address of _stext with CONFIG_SHARED_KERNEL\u003dy\n\nAs of git commit 1844c9bc0b2fed3023551c1affe033ab38e90b9a head64.S/head31.S\nare not included in head.S anymore but build as an extra object. This breaks\nshared kernel support because the .org statement in head64.S/head31.S for\nCONFIG_SHARED_KERNEL\u003dy will have a different effect. The end address of the\nhead.text section in head.o will be added to the .org value, to compensate\nfor this subtract 0x11000 to get the required value of 0x100000 again.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "545c174d1f093a462b4bb9131b23d5ea72a600e1",
      "tree": "29bcee32c34714f5a6b377bbb54bf791853937af",
      "parents": [
        "1c1e093cbf6d3a7576ba0bd10363362a1c5c74ee"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Wed May 12 09:32:12 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Wed May 12 09:32:26 2010 +0200"
      },
      "message": "[S390] ptrace: fix return value of do_syscall_trace_enter()\n\nstrace may change the system call number, so regs-\u003egprs[2] must not\nbe read before tracehook_report_syscall_entry(). This fixes a bug\nwhere \"strace -f\" will hang after a vfork().\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "1c1e093cbf6d3a7576ba0bd10363362a1c5c74ee",
      "tree": "a3970653539aa4a9b71536a204efbe7d5ba8ff07",
      "parents": [
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "Stefan Weinhuber",
        "email": "wein@de.ibm.com",
        "time": "Wed May 12 09:32:11 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Wed May 12 09:32:26 2010 +0200"
      },
      "message": "[S390] dasd: fix race between tasklet and dasd_sleep_on\n\nThe various dasd_sleep_on functions use a global wait queue when\nwaiting for a cqr. The wait condition checks the status and devlist\nfields of the cqr to determine if it is safe to continue. This\nevaluation may return true, although the tasklet has not finished\nprocessing of the cqr and the callback function has not been called\nyet. When the callback is finally called, the data in the cqr may\nalready be invalid. The sleep_on wait condition needs a safe way to\ndetermine if the tasklet has finished processing. Use the\ncallback_data field of the cqr to store a token, which is set by\nthe callback function itself.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "0fe1ac48bef018bed896307cd12f6ca9b5e704ab",
      "tree": "6f5e68619798312ee808f23c1a0cc5799a131545",
      "parents": [
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 13 20:46:04 2010 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed May 12 14:34:00 2010 +1000"
      },
      "message": "powerpc/perf_event: Fix oops due to perf_event_do_pending call\n\nAnton Blanchard found that large POWER systems would occasionally\ncrash in the exception exit path when profiling with perf_events.\nThe symptom was that an interrupt would occur late in the exit path\nwhen the MSR[RI] (recoverable interrupt) bit was clear.  Interrupts\nshould be hard-disabled at this point but they were enabled.  Because\nthe interrupt was not recoverable the system panicked.\n\nThe reason is that the exception exit path was calling\nperf_event_do_pending after hard-disabling interrupts, and\nperf_event_do_pending will re-enable interrupts.\n\nThe simplest and cleanest fix for this is to use the same mechanism\nthat 32-bit powerpc does, namely to cause a self-IPI by setting the\ndecrementer to 1.  This means we can remove the tests in the exception\nexit path and raw_local_irq_restore.\n\nThis also makes sure that the call to perf_event_do_pending from\ntimer_interrupt() happens within irq_enter/irq_exit.  (Note that\ncalling perf_event_do_pending from timer_interrupt does not mean that\nthere is a possible 1/HZ latency; setting the decrementer to 1 ensures\nthat the timer interrupt will happen immediately, i.e. within one\ntimebase tick, which is a few nanoseconds or 10s of nanoseconds.)\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e84346b726ea90a8ed470bc81c4136a7b8710ea5",
      "tree": "99a90ef86d38a51e39ed69af318e6cfe32023879",
      "parents": [
        "f818a73674c5d197f66b636a46d7d578d7258129"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 21:20:38 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 21:20:38 2010 -0700"
      },
      "message": "ceph: preserve seq # on requeued messages after transient transport errors\n\nIf the tcp connection drops and we reconnect to reestablish a stateful\nsession (with the mds), we need to resend previously sent (and possibly\nreceived) messages with the _same_ seq # so that they can be dropped on\nthe other end if needed.  Only assign a new seq once after the message is\nqueued.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f818a73674c5d197f66b636a46d7d578d7258129",
      "tree": "90c485b5ca0a211b84ad8feddfce4f301de3d5c9",
      "parents": [
        "45c6ceb547ad2d98215351974a4686bf8cb13e14"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 20:56:31 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 20:56:31 2010 -0700"
      },
      "message": "ceph: fix cap removal races\n\nThe iterate_session_caps helper traverses the session caps list and tries\nto grab an inode reference.  However, the __ceph_remove_cap was clearing\nthe inode backpointer _before_ removing itself from the session list,\ncausing a null pointer dereference.\n\nClear cap-\u003eci under protection of s_cap_lock to avoid the race, and to\ntightly couple the list and backpointer state.  Use a local flag to\nindicate whether we are releasing the cap, as cap-\u003esession may be modified\nby a racing thread in iterate_session_caps.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cea0d767c29669bf89f86e4aee46ef462d2ebae8",
      "tree": "e7f65605979547a2ecfd2ec26e9374cbe25ff1a7",
      "parents": [
        "b2464ab2023f20aea23ef8df1cb45b338c859ea5",
        "0559a538899d48e7d730affb9df2abb13a7d9008"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:38:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:38:04 2010 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  hwmon: (applesmc) Correct sysfs fan error handling\n  hwmon: (asc7621) Bug fixes\n"
    },
    {
      "commit": "b2464ab2023f20aea23ef8df1cb45b338c859ea5",
      "tree": "f19c0b09cfb79559274e499e21ca7c29a8a3fdba",
      "parents": [
        "788885ae7a298dec73ba999c2fc5d46d42072ddf",
        "829e92458532b1dbfeb972435d45bb060cdbf5a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:37:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:37:24 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kprobes/x86: Fix removed int3 checking order\n  perf: Fix static strings treated like dynamic ones\n"
    },
    {
      "commit": "788885ae7a298dec73ba999c2fc5d46d42072ddf",
      "tree": "dadc89ec1b1a42c81decbcecfc99e74bad0b34e7",
      "parents": [
        "06efbeb4a47b6f865e1c9d175ab9d6e90b69ae9e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 11 14:07:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "drivers/gpu/drm/i915/i915_irq.c:i915_error_object_create(): use correct kmap-atomic slot\n\ni915_error_object_create() is called from the timer interrupt and hence\ncan corrupt the KM_USER0 slot.  Use KM_IRQ0 instead.\n\nReported-by: Jaswinder Singh Rajput \u003cjaswinderlinux@gmail.com\u003e\nTested-by: Jaswinder Singh Rajput \u003cjaswinderlinux@gmail.com\u003e\nAcked-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06efbeb4a47b6f865e1c9d175ab9d6e90b69ae9e",
      "tree": "6c25f5ff4a50ad3d42c93a17a13a278076d2b52a",
      "parents": [
        "a3ed2a15719219769bb095b28009c1d654a419e8"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oneukum@suse.de",
        "time": "Tue May 11 14:07:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "hp_accel: fix race in device removal\n\nThe work queue has to be flushed after the device has been made\ninaccessible.  The patch closes a window during which a work queue might\nremain active after the device is removed and would then lead to ACPI\ncalls with undefined behavior.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Pavel Herrmann \u003cmorpheus.ibis@gmail.com\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": "a3ed2a15719219769bb095b28009c1d654a419e8",
      "tree": "22039574b16ad79f9eba06317e8f1ad7cd9d53c3",
      "parents": [
        "de145b44b95b9d3212a82d1c0f29b09778ef33c5"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Tue May 11 14:07:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "mqueue: fix kernel BUG caused by double free() on mq_open()\n\nIn case of aborting because we reach the maximum amount of memory which\ncan be allocated to message queues per user (RLIMIT_MSGQUEUE), we would\ntry to free the message area twice when bailing out: first by the error\nhandling code itself, and then later when cleaning up the inode through\ndelete_inode().\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.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": "de145b44b95b9d3212a82d1c0f29b09778ef33c5",
      "tree": "bfd82757bb17aa4a921932acd84c072349f178f1",
      "parents": [
        "747388d78a0ae768fd82b55c4ed38aa646a72364"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Tue May 11 14:07:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "fbdev: bfin-t350mcqb-fb: fix fbmem allocation with blanking lines\n\nThe current allocation does not include the memory required for blanking\nlines.  So avoid memory corruption when multiple devices are using the DMA\nmemory near each other.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\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": "747388d78a0ae768fd82b55c4ed38aa646a72364",
      "tree": "03efabf9761209cffef4e8da9b6989887f76428e",
      "parents": [
        "7f0f15464185a92f9d8791ad231bcd7bf6df54e4"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue May 11 14:06:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "memcg: fix css_is_ancestor() RCU locking\n\nSome callers (in memcontrol.c) calls css_is_ancestor() without\nrcu_read_lock.  Because css_is_ancestor() has to access RCU protected\ndata, it should be under rcu_read_lock().\n\nThis makes css_is_ancestor() itself does safe access to RCU protected\narea.  (At least, \"root\" can have refcnt\u003d\u003d0 if it\u0027s not an ancestor of\n\"child\".  So, we need rcu_read_lock().)\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.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": "7f0f15464185a92f9d8791ad231bcd7bf6df54e4",
      "tree": "a1d4f4c39632659497963b0ccf62828237478d72",
      "parents": [
        "11cad320a4f4bc53d3585c85600c782faa12b99e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue May 11 14:06:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "memcg: fix css_id() RCU locking for real\n\nCommit ad4ba375373937817404fd92239ef4cadbded23b (\"memcg: css_id() must be\ncalled under rcu_read_lock()\") modifies memcontol.c for fixing RCU check\nmessage.  But Andrew Morton pointed out that the fix doesn\u0027t seems sane\nand it was just for hidining lockdep messages.\n\nThis is a patch for do proper things.  Checking again, all places,\naccessing without rcu_read_lock, that commit fixies was intentional....\nall callers of css_id() has reference count on it.  So, it\u0027s not necessary\nto be under rcu_read_lock().\n\nConsidering again, we can use rcu_dereference_check for css_id().  We know\ncss-\u003eid is valid if css-\u003erefcnt \u003e 0.  (css-\u003eid never changes and freed\nafter css-\u003erefcnt going to be 0.)\n\nThis patch makes use of rcu_dereference_check() in css_id/depth and remove\nunnecessary rcu-read-lock added by the commit.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.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": "11cad320a4f4bc53d3585c85600c782faa12b99e",
      "tree": "6e246590d7905d42b7e298817e1df90381a1e9e4",
      "parents": [
        "ab941e0fff3947b6dcc9c578d918d1bba54a6874"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Tue May 11 14:06:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "bsdacct: use del_timer_sync() in acct_exit_ns()\n\nacct_exit_ns --\u003e acct_file_reopen deletes timer without check timer\nexecution on other CPUs.  So acct_timeout() can change an unmapped memory.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab941e0fff3947b6dcc9c578d918d1bba54a6874",
      "tree": "5157de1b28370136fde227ecbd7fd2d38c15d30a",
      "parents": [
        "4a6018f7f4f1075c1a5403b5ec0ee7262187b86c"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Tue May 11 14:06:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "rmap: remove anon_vma check in page_address_in_vma()\n\nCurrently page_address_in_vma() compares vma-\u003eanon_vma and\npage_anon_vma(page) for parameter check, but in 2.6.34 a vma can have\nmultiple anon_vmas with anon_vma_chain, so current check does not work.\n(For anonymous page shared by multiple processes, some verified (page,vma)\npairs return -EFAULT wrongly.)\n\nWe can go to checking all anon_vmas in the \"same_vma\" chain, but it needs\nto meet lock requirement.  Instead, we can remove anon_vma check safely\nbecause page_address_in_vma() assumes that page and vma are already\nchecked to belong to the identical process.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a6018f7f4f1075c1a5403b5ec0ee7262187b86c",
      "tree": "84cec71366550baaa85ac6e8f6349c340bf3586b",
      "parents": [
        "475f9aa6aa538befcbd0fa95bdebada600f247cd"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue May 11 14:06:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "hugetlbfs: kill applications that use MAP_NORESERVE with SIGBUS instead of OOM-killer\n\nOrdinarily, application using hugetlbfs will create mappings with\nreserves.  For shared mappings, these pages are reserved before mmap()\nreturns success and for private mappings, the caller process is guaranteed\nand a child process that cannot get the pages gets killed with sigbus.\n\nAn application that uses MAP_NORESERVE gets no reservations and mmap()\nwill always succeed at the risk the page will not be available at fault\ntime.  This might be used for example on very large sparse mappings where\nthe developer is confident the necessary huge pages exist to satisfy all\nfaults even though the whole mapping cannot be backed by huge pages.\nUnfortunately, if an allocation does fail, VM_FAULT_OOM is returned to the\nfault handler which proceeds to trigger the OOM-killer.  This is\nunhelpful.\n\nEven without hugetlbfs mounted, a user using mmap() can trivially trigger\nthe OOM-killer because VM_FAULT_OOM is returned (will provide example\nprogram if desired - it\u0027s a whopping 24 lines long).  It could be\nconsidered a DOS available to an unprivileged user.\n\nThis patch alters hugetlbfs to kill a process that uses MAP_NORESERVE\nwhere huge pages were not available with SIGBUS instead of triggering the\nOOM killer.\n\nThis change affects hugetlb_cow() as well.  I feel there is a failure case\nin there, but I didn\u0027t create one.  It would need a fairly specific target\nin terms of the faulting application and the hugepage pool size.  The\nhugetlb_no_page() path is much easier to hit but both might as well be\nclosed.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\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": "475f9aa6aa538befcbd0fa95bdebada600f247cd",
      "tree": "204167585e965b67a3b95b972744a96069f0169a",
      "parents": [
        "d586ebbb8814e039545d38f69029533f3f17748d"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Tue May 11 14:06:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "kexec: fix OOPS in crash_kernel_shrink\n\nTwo \"echo 0 \u003e /sys/kernel/kexec_crash_size\" OOPSes kernel.  Also content\nof this file is invalid after first shrink to zero: it shows 1 instead of\n0.\n\nThis scenario is unlikely to happen often (root privs, valid crashkernel\u003d\nin cmdline, dump-capture kernel not loaded), I hit it only by chance.\n\nThis patch fixes it.\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nCc: Cong Wang \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d586ebbb8814e039545d38f69029533f3f17748d",
      "tree": "79bfc8c4de310e17e26fb8c9ecb526998f48c414",
      "parents": [
        "abc2c9fdf636c4335a8d72ac3c5ae152bca44b68"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Tue May 11 14:06:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "mmc: atmel-mci: fix in debugfs: response value printing\n\nIn debugfs, printing of command response reports resp[2] twice: fix it to\nresp[3].\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nHaavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "abc2c9fdf636c4335a8d72ac3c5ae152bca44b68",
      "tree": "7eb0066462acc9366ddca9d882473195b8c505cb",
      "parents": [
        "009a891b22395fc86e5f34057d79fffee4509ab5"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Tue May 11 14:06:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "mmc: atmel-mci: remove data error interrupt after xfer\n\nDisable data error interrupts while we are actually recording that there\nis not such errors.  This will prevent, in some cases, the warning message\nprinted at new request queuing (in atmci_start_request()).\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\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": "009a891b22395fc86e5f34057d79fffee4509ab5",
      "tree": "d481fdd81ce2e0c561dd22b07cae998ee9d0b72c",
      "parents": [
        "ebb1fea9b3adf25d7e2f643c614163af4f93a17f"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Tue May 11 14:06:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "mmc: atmel-mci: prevent kernel oops while removing card\n\nThe removing of an SD card in certain circumstances can lead to a kernel\noops if we do not make sure that the \"data\" field of the host structure is\nvalid.  This patch adds a test in atmci_dma_cleanup() function and also\ncalls atmci_stop_dma() before throwing away the reference to data.\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\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": "ebb1fea9b3adf25d7e2f643c614163af4f93a17f",
      "tree": "fcfd016844b9b505417ff2cf76d5dc6651bfdae7",
      "parents": [
        "34441427aab4bdb3069a4ffcda69a99357abcb2e"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Tue May 11 14:06:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "mmc: atmel-mci: fix two parameters swapped\n\nTwo parameters were swapped in the calls to atmci_init_slot().\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nReported-by: Anders Grahn \u003canders.grahn@hd-wireless.se\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\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": "34441427aab4bdb3069a4ffcda69a99357abcb2e",
      "tree": "3beebde910f25b0945e9105017fd743c9e5241a5",
      "parents": [
        "3c904afd7358e9ef515eb5df36b6f25c2b7fc2da"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue May 11 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "revert \"procfs: provide stack information for threads\" and its fixup commits\n\nOriginally, commit d899bf7b (\"procfs: provide stack information for\nthreads\") attempted to introduce a new feature for showing where the\nthreadstack was located and how many pages are being utilized by the\nstack.\n\nCommit c44972f1 (\"procfs: disable per-task stack usage on NOMMU\") was\napplied to fix the NO_MMU case.\n\nCommit 89240ba0 (\"x86, fs: Fix x86 procfs stack information for threads on\n64-bit\") was applied to fix a bug in ia32 executables being loaded.\n\nCommit 9ebd4eba7 (\"procfs: fix /proc/\u003cpid\u003e/stat stack pointer for kernel\nthreads\") was applied to fix a bug which had kernel threads printing a\nuserland stack address.\n\nCommit 1306d603f (\u0027proc: partially revert \"procfs: provide stack\ninformation for threads\"\u0027) was then applied to revert the stack pages\nbeing used to solve a significant performance regression.\n\nThis patch nearly undoes the effect of all these patches.\n\nThe reason for reverting these is it provides an unusable value in\nfield 28.  For x86_64, a fork will result in the task-\u003estack_start\nvalue being updated to the current user top of stack and not the stack\nstart address.  This unpredictability of the stack_start value makes\nit worthless.  That includes the intended use of showing how much stack\nspace a thread has.\n\nOther architectures will get different values.  As an example, ia64\ngets 0.  The do_fork() and copy_process() functions appear to treat the\nstack_start and stack_size parameters as architecture specific.\n\nI only partially reverted c44972f1 (\"procfs: disable per-task stack usage\non NOMMU\") .  If I had completely reverted it, I would have had to change\nmm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is\nconfigured.  Since I could not test the builds without significant effort,\nI decided to not change mm/Makefile.\n\nI only partially reverted 89240ba0 (\"x86, fs: Fix x86 procfs stack\ninformation for threads on 64-bit\") .  I left the KSTK_ESP() change in\nplace as that seemed worthwhile.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "3c904afd7358e9ef515eb5df36b6f25c2b7fc2da",
      "tree": "68d8d45fc81b47d87ac4ac7bdd823845ba149947",
      "parents": [
        "f33d7e2d2d113a63772bbc993cdec3b5327f0ef1"
      ],
      "author": {
        "name": "Denis Turischev",
        "email": "denis@compulab.co.il",
        "time": "Tue May 11 14:06:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "it8761e_gpio: fix bug in gpio numbering\n\nThe SIO chip contains 16 possible gpio lines, not 14.  The schematic was\nnot read carefully.\n\nSigned-off-by: Denis Turischev \u003cdenis@compulab.co.il\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f33d7e2d2d113a63772bbc993cdec3b5327f0ef1",
      "tree": "1349305b4c3a39c87baab95beb05fa5b8dfc7750",
      "parents": [
        "fc2a093e7ad23e935aa29e349bc27173c92f1a95"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue May 11 14:06:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "dma-mapping: fix dma_sync_single_range_*\n\ndma_sync_single_range_for_cpu() and dma_sync_single_range_for_device() use\na wrong address with a partial synchronization.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\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": "45c6ceb547ad2d98215351974a4686bf8cb13e14",
      "tree": "f7d5dc6b7900faebef1a29a5e0af5ac263a64337",
      "parents": [
        "9abf82b8bc93dd904738a71ca69aa5df356d4d24"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 15:01:51 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 15:17:40 2010 -0700"
      },
      "message": "ceph: zero unused message header, footer fields\n\nWe shouldn\u0027t leak any prior memory contents to other parties.  And random\ndata, particularly in the \u0027version\u0027 field, can cause problems down the\nline.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3d69438031b00c601c991ab447cafb7d5c3c59a6",
      "tree": "f40d66a255c4169b43079252a4c96868c097ddab",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue May 11 14:59:55 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 11 20:57:50 2010 +0000"
      },
      "message": "cifs: guard against hardlinking directories\n\nWhen we made serverino the default, we trusted that the field sent by the\nserver in the \"uniqueid\" field was actually unique. It turns out that it\nisn\u0027t reliably so.\n\nSamba, in particular, will just put the st_ino in the uniqueid field when\nunix extensions are enabled. When a share spans multiple filesystems, it\u0027s\nquite possible that there will be collisions. This is a server bug, but\nwhen the inodes in question are a directory (as is often the case) and\nthere is a collision with the root inode of the mount, the result is a\nkernel panic on umount.\n\nFix this by checking explicitly for directory inodes with the same\nuniqueid. If that is the case, then we can assume that using server inode\nnumbers will be a problem and that they should be disabled.\n\nFixes Samba bugzilla 7407\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fc2a093e7ad23e935aa29e349bc27173c92f1a95",
      "tree": "3890ad9a113ab199c3b50170d7590c796268f0be",
      "parents": [
        "9fc282baa8f743a7049e301d13cf9968ee95a91c",
        "c9ff04c941d2cd87d27496d7fee8923238bb2ebb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:12:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:12:18 2010 -0700"
      },
      "message": "Merge branch \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon: Fix 3 regressions - since buffer rework\n"
    },
    {
      "commit": "9fc282baa8f743a7049e301d13cf9968ee95a91c",
      "tree": "d34e827ed35c21b98eb4e3d4c3731d1da54fa03a",
      "parents": [
        "c61ea31dac0319ec64b33725917bda81fc293a25",
        "de02d72bb3cc5b3d4c873db4ca8291723dd48479"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:11:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:11:40 2010 -0700"
      },
      "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  net: Fix FDDI and TR config checks in ipv4 arp and LLC.\n  IPv4: unresolved multicast route cleanup\n  mac80211: remove association work when processing deauth request\n  ar9170: wait for asynchronous firmware loading\n  ipv4: udp: fix short packet and bad checksum logging\n  phy: Fix initialization in micrel driver.\n  sctp: Fix a race between ICMP protocol unreachable and connect()\n  veth: Dont kfree_skb() after dev_forward_skb()\n  IPv6: fix IPV6_RECVERR handling of locally-generated errors\n  net/gianfar: drop recycled skbs on MTU change\n  iwlwifi: work around passive scan issue\n"
    },
    {
      "commit": "c61ea31dac0319ec64b33725917bda81fc293a25",
      "tree": "05a4f3011ea8b334795aae606d89bcf27e3e26c5",
      "parents": [
        "7d6fb7bd1919517937ec390f6ca2d7bcf4f89fb6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue May 11 16:51:39 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:07:53 2010 -0700"
      },
      "message": "CacheFiles: Fix occasional EIO on call to vfs_unlink()\n\nFix an occasional EIO returned by a call to vfs_unlink():\n\n\t[ 4868.465413] CacheFiles: I/O Error: Unlink failed\n\t[ 4868.465444] FS-Cache: Cache cachefiles stopped due to I/O error\n\t[ 4947.320011] CacheFiles: File cache on md3 unregistering\n\t[ 4947.320041] FS-Cache: Withdrawing cache \"mycache\"\n\t[ 5127.348683] FS-Cache: Cache \"mycache\" added (type cachefiles)\n\t[ 5127.348716] CacheFiles: File cache on md3 registered\n\t[ 7076.871081] CacheFiles: I/O Error: Unlink failed\n\t[ 7076.871130] FS-Cache: Cache cachefiles stopped due to I/O error\n\t[ 7116.780891] CacheFiles: File cache on md3 unregistering\n\t[ 7116.780937] FS-Cache: Withdrawing cache \"mycache\"\n\t[ 7296.813394] FS-Cache: Cache \"mycache\" added (type cachefiles)\n\t[ 7296.813432] CacheFiles: File cache on md3 registered\n\nWhat happens is this:\n\n (1) A cached NFS file is seen to have become out of date, so NFS retires the\n     object and immediately acquires a new object with the same key.\n\n (2) Retirement of the old object is done asynchronously - so the lookup/create\n     to generate the new object may be done first.\n\n     This can be a problem as the old object and the new object must exist at\n     the same point in the backing filesystem (i.e. they must have the same\n     pathname).\n\n (3) The lookup for the new object sees that a backing file already exists,\n     checks to see whether it is valid and sees that it isn\u0027t.  It then deletes\n     that file and creates a new one on disk.\n\n (4) The retirement phase for the old file is then performed.  It tries to\n     delete the dentry it has, but ext4_unlink() returns -EIO because the inode\n     attached to that dentry no longer matches the inode number associated with\n     the filename in the parent directory.\n\nThe trace below shows this quite well.\n\n\t[md5sum] \u003d\u003d\u003e __fscache_relinquish_cookie(ffff88002d12fb58{NFS.fh,ffff88002ce62100},1)\n\t[md5sum] \u003d\u003d\u003e __fscache_acquire_cookie({NFS.server},{NFS.fh},ffff88002ce62100)\n\nNFS has retired the old cookie and asked for a new one.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_ACTIVE,24})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_DYING]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_INIT,0})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_LOOKING_UP]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_DYING,24})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_RECYCLING]\n\nThe old object (OBJ52) is going through the terminal states to get rid of it,\nwhilst the new object - (OBJ53) - is coming into being.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_LOOKING_UP,0})\n\t[kslowd] \u003d\u003d\u003e cachefiles_walk_to_object({ffff88003029d8b8},OBJ53,@68,)\n\t[kslowd] lookup \u0027@68\u0027\n\t[kslowd] next -\u003e ffff88002ce41bd0 positive\n\t[kslowd] advance\n\t[kslowd] lookup \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] next -\u003e ffff8800369faac8 positive\n\nThe new object has looked up the subdir in which the file would be in (getting\ndentry ffff88002ce41bd0) and then looked up the file itself (getting dentry\nffff8800369faac8).\n\n\t[kslowd] validate \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] \u003d\u003d\u003e cachefiles_bury_object(,\u0027@68\u0027,\u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027)\n\t[kslowd] remove ffff8800369faac8 from ffff88002ce41bd0\n\t[kslowd] unlink stale object\n\t[kslowd] \u003c\u003d\u003d cachefiles_bury_object() \u003d 0\n\nIt then checks the file\u0027s xattrs to see if it\u0027s valid.  NFS says that the\nauxiliary data indicate the file is out of date (obvious to us - that\u0027s why NFS\nditched the old version and got a new one).  CacheFiles then deletes the old\nfile (dentry ffff8800369faac8).\n\n\t[kslowd] redo lookup\n\t[kslowd] lookup \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] next -\u003e ffff88002cd94288 negative\n\t[kslowd] create -\u003e ffff88002cd94288{ffff88002cdaf238{ino\u003d148247}}\n\nCacheFiles then redoes the lookup and gets a negative result in a new dentry\n(ffff88002cd94288) which it then creates a file for.\n\n\t[kslowd] \u003d\u003d\u003e cachefiles_mark_object_active(,OBJ53)\n\t[kslowd] \u003c\u003d\u003d cachefiles_mark_object_active() \u003d 0\n\t[kslowd] \u003d\u003d\u003d OBTAINED_OBJECT \u003d\u003d\u003d\n\t[kslowd] \u003c\u003d\u003d cachefiles_walk_to_object() \u003d 0 [148247]\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_AVAILABLE]\n\nThe new object is then marked active and the state machine moves to the\navailable state - at which point NFS can start filling the object.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_RECYCLING,20})\n\t[kslowd] \u003d\u003d\u003e fscache_release_object()\n\t[kslowd] \u003d\u003d\u003e cachefiles_drop_object({OBJ52,2})\n\t[kslowd] \u003d\u003d\u003e cachefiles_delete_object(,OBJ52{ffff8800369faac8})\n\nThe old object, meanwhile, goes on with being retired.  If allocation occurs\nfirst, cachefiles_delete_object() has to wait for dir-\u003ed_inode-\u003ei_mutex to\nbecome available before it can continue.\n\n\t[kslowd] \u003d\u003d\u003e cachefiles_bury_object(,\u0027@68\u0027,\u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027)\n\t[kslowd] remove ffff8800369faac8 from ffff88002ce41bd0\n\t[kslowd] unlink stale object\n\tEXT4-fs warning (device sda6): ext4_unlink: Inode number mismatch in unlink (148247!\u003d148193)\n\tCacheFiles: I/O Error: Unlink failed\n\tFS-Cache: Cache cachefiles stopped due to I/O error\n\nCacheFiles then tries to delete the file for the old object, but the dentry it\nhas (ffff8800369faac8) no longer points to a valid inode for that directory\nentry, and so ext4_unlink() returns -EIO when de-\u003einode does not match i_ino.\n\n\t[kslowd] \u003c\u003d\u003d cachefiles_bury_object() \u003d -5\n\t[kslowd] \u003c\u003d\u003d cachefiles_delete_object() \u003d -5\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_DEAD]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_AVAILABLE,0})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_ACTIVE]\n\n(Note that the above trace includes extra information beyond that produced by\nthe upstream code).\n\nThe fix is to note when an object that is being retired has had its object\ndeleted preemptively by a replacement object that is being created, and to\nskip the second removal attempt in such a case.\n\nReported-by: Greg M \u003cgregm@servu.net.au\u003e\nReported-by: Mark Moseley \u003cmoseleymark@gmail.com\u003e\nReported-by: Romain DEGEZ \u003cromain.degez@smartjog.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d6fb7bd1919517937ec390f6ca2d7bcf4f89fb6",
      "tree": "3b0fcd4a6d849caac0e7a26069f07a98b7bfb88f",
      "parents": [
        "94b849aaf6e22ab7bf54b0d0377a882d4892396d"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@canonical.com",
        "time": "Tue May 11 10:21:38 2010 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:07:53 2010 -0700"
      },
      "message": "ACPI: sleep: eliminate duplicate entries in acpisleep_dmi_table[]\n\nDuplicate entries ended up acpisleep_dmi_table[] by accident.\nThey don\u0027t hurt functionality, but they are ugly, so let\u0027s get\nrid of them.\n\nCc: stable@kernel.org\nSigned-off-by: Alex Chiang \u003cachiang@canonical.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9abf82b8bc93dd904738a71ca69aa5df356d4d24",
      "tree": "208c5112173832092f93b8d91b8e8ec6f36209aa",
      "parents": [
        "d85b705663905b3dae30007f824355bdcfcf3f00"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 10 21:58:38 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:57 2010 -0700"
      },
      "message": "ceph: fix locking for waking session requests after reconnect\n\nThe session-\u003es_waiting list is protected by mdsc-\u003emutex, not s_mutex.  This\nwas causing (rare) s_waiting list corruption.\n\nFix errors paths too, while we\u0027re here.  A more thorough cleanup of this\nfunction is coming soon.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ],
  "next": "d85b705663905b3dae30007f824355bdcfcf3f00"
}
