)]}'
{
  "log": [
    {
      "commit": "c6e633ad916e2af244dbfd11abd2bc077870bdfd",
      "tree": "bbede7dde592280dd1e76add67b1cc3f1afe3619",
      "parents": [
        "e9e8bcb8178e197d889ec31e79fa1ddc1732c8f9"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Sat Jun 25 19:20:11 2011 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:44 2011 -0400"
      },
      "message": "mmc: sdio: reset card during power_restore\n\nmmc_sdio_power_restore() skips some steps that are performed in other\npower-related codepaths which are necessary to fully reset the card.\nWithout this, runtime PM fails for SD8686 SDIO wifi on OLPC XO-1.5.\n\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "e9e8bcb8178e197d889ec31e79fa1ddc1732c8f9",
      "tree": "a0597bfc55184dcb48b10cdccd4f93e207b22a6e",
      "parents": [
        "3e713373ce07b9f59c3901e7d39bc1edccda28da"
      ],
      "author": {
        "name": "James Hogan",
        "email": "james@albanarts.com",
        "time": "Tue Jun 21 10:55:34 2011 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:24 2011 -0400"
      },
      "message": "mmc: cb710: fix #ifdef HAVE_EFFICIENT_UNALIGNED_ACCESS\n\nHAVE_EFFICIENT_UNALIGNED_ACCESS is a config option, therefore it needs\nthe CONFIG_ before it when used by the preprocessor.\n\nSigned-off-by: James Hogan \u003cjames@albanarts.com\u003e\nAcked-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "3e713373ce07b9f59c3901e7d39bc1edccda28da",
      "tree": "f067a8e07336c35ad375951e03b57808478f22dc",
      "parents": [
        "7d8b4c2a4b73da8e3632603691838ca5b2a8c26d"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Tue May 24 12:24:07 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:20 2011 -0400"
      },
      "message": "mmc: sdhi: DMA slave ID 0 is invalid\n\nDon\u0027t try to allocate DMA resources if the platform didn\u0027t specify\npositive DMA slave IDs.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "7d8b4c2a4b73da8e3632603691838ca5b2a8c26d",
      "tree": "c9f4bf96c6250ebb72b6c30936d7f06a10e3382c",
      "parents": [
        "a9120c33ffbb0b3448d833dae392edc90d6cfac2"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Mon Jun 20 16:51:10 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:52:15 2011 -0400"
      },
      "message": "mmc: tmio: fix regression in TMIO_MMC_WRPROTECT_DISABLE handling\n\nCommit b6147490e6aac82 (\"mmc: tmio: split core functionality, DMA and\nMFD glue\") broke handling of the TMIO_MMC_WRPROTECT_DISABLE flag by\nthe tmio-mmc driver. This patch restores the original behaviour.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "a9120c33ffbb0b3448d833dae392edc90d6cfac2",
      "tree": "8ea12aea362f9e5980926c1f1b2faae1425bd67b",
      "parents": [
        "4a3dc6ef344ccfe80bf986aec0b05f51af000720"
      ],
      "author": {
        "name": "Per Forlin",
        "email": "per.forlin@linaro.org",
        "time": "Fri Jun 17 20:14:21 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:51:28 2011 -0400"
      },
      "message": "mmc: omap_hsmmc: use original sg_len for dma_unmap_sg\n\nDon\u0027t use the returned sg_len from dma_map_sg() as inparameter\nto dma_unmap_sg(). Use the original sg_len for both dma_map_sg\nand dma_unmap_sg according to the documentation in DMA-API.txt.\n\nSigned-off-by: Per Forlin \u003cper.forlin@linaro.org\u003e\nReviewed-by: Venkatraman S \u003csvenkatr@ti.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "4a3dc6ef344ccfe80bf986aec0b05f51af000720",
      "tree": "d7644e3be353a6bcefc3b36e6fef589b106a89a1",
      "parents": [
        "297c7f2f158f7dfa9ab5813260ff954f9c2f83d2"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Tue Jun 14 15:59:59 2011 +0530"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:50:17 2011 -0400"
      },
      "message": "mmc: omap_hsmmc: fix ocr mask usage\n\nThe OMAP HSMMC driver uses an ocr_mask to determine the list of voltages\nsupported by the card. It populates this mask based on the list of\nvoltages supported by the regulator that supplies the voltage.\n\nCommit 64be97822b (omap4 hsmmc: Update ocr mask for MMC2 for regulator\nto use) passed a fixed ocr_mask from the OMAP4 SDP board file to limit\nthe voltage to 2.9-3.0 Volts, and updated the driver to use this mask\nif provided, instead of using the regulator\u0027s supported voltages.\n\nHowever the commit is buggy - the ocr_mask is overridden by the\nregulator\u0027s capabilities anyway. Fix this.\n\n(The bug shows up when a system-wide suspend is attempted on the OMAP4\nSDP/Blaze platforms. The eMMC card comes up at 3V, but drops to 1.65V\nafter the system resumes).\n\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nAcked-by: Balaji T K \u003cbalajitk@ti.com\u003e\nAcked-by: Venkatraman S \u003csvenkatr@ti.com\u003e\nTested-by: Kishore Kadiyala \u003ckishore.kadiyala@ti.com\u003e\nSigned-off-by: Sourav Poddar \u003csourav.poddar@ti.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "297c7f2f158f7dfa9ab5813260ff954f9c2f83d2",
      "tree": "463c7dbb914337e1c47e1840ea86c29457dbf3bb",
      "parents": [
        "be98ca652faa6468916a9b7608befff215a8ca70"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Thu Jun 09 23:40:27 2011 +0000"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 25 18:49:55 2011 -0400"
      },
      "message": "mmc: sdio: fix runtime PM path during driver removal\n\nAfter commit e1866b3 \"PM / Runtime: Rework runtime PM handling\nduring driver removal\" was introduced, the driver core stopped\nincrementing the runtime PM usage counter of the device during\nthe invocation of the -\u003eremove() callback.\n\nThis indirectly broke SDIO\u0027s runtime PM path during driver removal,\nbecause no one calls _put_sync() anymore after -\u003eremove() completes.\n\nThis means that the power of runtime-PM-managed SDIO cards is kept\nhigh after their driver is removed (even if it was powered down\nbeforehand).\n\nFix that by directly calling _put_sync() when the last usage\ncounter is downref\u0027ed by the SDIO bus.\n\nReported-and-tested-by: Daniel Drake \u003cdsd@laptop.org\u003e\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "be98ca652faa6468916a9b7608befff215a8ca70",
      "tree": "13ed7ba7e41eb98acf9c9d5230e683d8b7f96e9e",
      "parents": [
        "742a0c7cae9bd0f913c71722289b8ec862d70a2b"
      ],
      "author": {
        "name": "Manoj Iyer",
        "email": "manoj.iyer@canonical.com",
        "time": "Thu May 26 11:19:05 2011 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 18 22:18:18 2011 -0400"
      },
      "message": "mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader\n\nSigned-off-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "742a0c7cae9bd0f913c71722289b8ec862d70a2b",
      "tree": "7cb32b3d9a6fb344fa2261688fd061dd3474d80e",
      "parents": [
        "b9c350a0a9d3564d20f5301f472b8841f8934c7d"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri May 27 16:54:05 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 18 22:18:06 2011 -0400"
      },
      "message": "mmc: sdhi: fix module unloading\n\nMMC host drivers must be able to process interrupts during\nmmc_remove_host().\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b9c350a0a9d3564d20f5301f472b8841f8934c7d",
      "tree": "b3f71f42b1a4876ea325b10a7ca7d26d378b9272",
      "parents": [
        "c44048dea28b3febd38417f36f7b2924d93f9bb2"
      ],
      "author": {
        "name": "Wanlong Gao",
        "email": "wanlong.gao@gmail.com",
        "time": "Tue May 24 21:03:22 2011 +0800"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 18 22:18:00 2011 -0400"
      },
      "message": "mmc: of_mmc_spi: add NO_IRQ define to of_mmc_spi.c\n\nProvide a dummy value of NO_IRQ for architectures that don\u0027t support\nit (such as MIPS).  Fixes the build error for MIPS.\n\nSigned-off-by: Wanlong Gao \u003cwanlong.gao@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "c44048dea28b3febd38417f36f7b2924d93f9bb2",
      "tree": "3bb487e92183132d303cf47aa032fc754c404071",
      "parents": [
        "c11760c6d80ab6aa20e383cf378a7287305f591c"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu May 26 23:15:49 2011 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 18 22:17:51 2011 -0400"
      },
      "message": "mmc: vub300: fix null dereferences in error handling\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "c11760c6d80ab6aa20e383cf378a7287305f591c",
      "tree": "91f5c65f5b1bf57bba5774c87767f93549f6bec5",
      "parents": [
        "a6c0a392622702fc9f47ddcea5684414d44a5d3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 08 10:30:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 18 07:25:42 2011 -0700"
      },
      "message": "isofs: fix bh leak in isofs_fill_super() error case\n\nIn isofs_fill_super(), when an iso_primary_descriptor is found, it is\nkept in pri_bh.  The error cases don\u0027t properly release it.  Fix it.\n\nReported-and-tested-by: 김원석 \u003cstanley.will.kim@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6c0a392622702fc9f47ddcea5684414d44a5d3b",
      "tree": "4ee1e7bca6f20c36311984b5a77db9f5470d36f2",
      "parents": [
        "2f48802e4330bb4d65d530ed9be78e8e55374577",
        "498e720b96379d8ee9c294950a01534a73defcf3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 21:15:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 21:15:11 2011 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/i915: Fix gen6 (SNB) missed BLT ring interrupts.\n"
    },
    {
      "commit": "2f48802e4330bb4d65d530ed9be78e8e55374577",
      "tree": "7e133d298dc12ea39031f7f15123c1e3fe3a272a",
      "parents": [
        "95559f2ca1eb5bc9417cb557688855f2d478e027",
        "fbb5b89eabea5ae7d621b7861863159560d8faa4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 21:13:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 21:13:43 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] powernow-k8: Don\u0027t try to transition if the pstate is incorrect\n  [CPUFREQ] powernow-k8: Don\u0027t notify of successful transition if we failed (vid case).\n  [CPUFREQ] Don\u0027t set stat-\u003elast_index to -1 if the pol-\u003ecur has incorrect value.\n"
    },
    {
      "commit": "95559f2ca1eb5bc9417cb557688855f2d478e027",
      "tree": "c788cc479c160bcc573ae2b795e53845737fe3c0",
      "parents": [
        "95d17b7168eacf1f97f2d1d087ebe7a648c30051",
        "dd34739c03f2f9a79403d33419c2e61e11b4c403"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 21:01:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 21:01:21 2011 -0700"
      },
      "message": "Merge branch \u0027anon_vma-locking\u0027\n\n* anon_vma-locking:\n  mm: avoid anon_vma_chain allocation under anon_vma lock\n  mm: avoid repeated anon_vma lock/unlock sequences in unlink_anon_vmas()\n  mm: avoid repeated anon_vma lock/unlock sequences in anon_vma_clone()\n"
    },
    {
      "commit": "dd34739c03f2f9a79403d33419c2e61e11b4c403",
      "tree": "74e4e43b78d54994e88aef7df96f0f8f4b080934",
      "parents": [
        "eee2acbae95555006307395d8a6c91452d62851d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 19:05:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 19:24:11 2011 -0700"
      },
      "message": "mm: avoid anon_vma_chain allocation under anon_vma lock\n\nHugh Dickins points out that lockdep (correctly) spots a potential\ndeadlock on the anon_vma lock, because we now do a GFP_KERNEL allocation\nof anon_vma_chain while doing anon_vma_clone().  The problem is that\npage reclaim will want to take the anon_vma lock of any anonymous pages\nthat it will try to reclaim.\n\nSo re-organize the code in anon_vma_clone() slightly: first do just a\nGFP_NOWAIT allocation, which will usually work fine.  But if that fails,\nlet\u0027s just drop the lock and re-do the allocation, now with GFP_KERNEL.\n\nEnd result: not only do we avoid the locking problem, this also ends up\ngetting better concurrency in case the allocation does need to block.\nTim Chen reports that with all these anon_vma locking tweaks, we\u0027re now\nalmost back up to the spinlock performance.\n\nReported-and-tested-by: Hugh Dickins \u003chughd@google.com\u003e\nTested-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eee2acbae95555006307395d8a6c91452d62851d",
      "tree": "85b02243a07a5617ac45fe2d4a714e4f758f0a98",
      "parents": [
        "bb4aa39676f73b4657b3edd893ae83881c430c0c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jun 17 13:54:23 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 19:23:52 2011 -0700"
      },
      "message": "mm: avoid repeated anon_vma lock/unlock sequences in unlink_anon_vmas()\n\nThis matches the anon_vma_clone() case, and uses the same lock helper\nfunctions.  Because of the need to potentially release the anon_vma\u0027s,\nit\u0027s a bit more complex, though.\n\nWe traverse the \u0027vma-\u003eanon_vma_chain\u0027 in two phases: the first loop gets\nthe anon_vma lock (with the helper function that only takes the lock\nonce for the whole loop), and removes any entries that don\u0027t need any\nmore processing.\n\nThe second phase just traverses the remaining list entries (without\nholding the anon_vma lock), and does any actual freeing of the\nanon_vma\u0027s that is required.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nTested-by: Hugh Dickins \u003chughd@google.com\u003e\nTested-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb4aa39676f73b4657b3edd893ae83881c430c0c",
      "tree": "6b8db9ed4a9e3fb6c232dd8447b0d24e76f5885a",
      "parents": [
        "eb96c925152fc289311e5d7e956b919e9b60ab53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 20:44:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 19:20:49 2011 -0700"
      },
      "message": "mm: avoid repeated anon_vma lock/unlock sequences in anon_vma_clone()\n\nIn anon_vma_clone() we traverse the vma-\u003eanon_vma_chain of the source\nvma, locking the anon_vma for each entry.\n\nBut they are all going to have the same root entry, which means that\nwe\u0027re locking and unlocking the same lock over and over again.  Which is\nexpensive in locked operations, but can get _really_ expensive when that\nroot entry sees any kind of lock contention.\n\nIn fact, Tim Chen reports a big performance regression due to this: when\nwe switched to use a mutex instead of a spinlock, the contention case\ngets much worse.\n\nSo to alleviate this all, this commit creates a small helper function\n(lock_anon_vma_root()) that can be used to take the lock just once\nrather than taking and releasing it over and over again.\n\nWe still have the same \"take the lock and release\" it behavior in the\nexit path (in unlink_anon_vmas()), but that one is a bit harder to fix\nsince we\u0027re actually freeing the anon_vma entries as we go, and that\nwill touch the lock too.\n\nReported-and-tested-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nTested-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "498e720b96379d8ee9c294950a01534a73defcf3",
      "tree": "85e1a5bf650087ea62d7f5c7fb56820f5a193790",
      "parents": [
        "95d17b7168eacf1f97f2d1d087ebe7a648c30051"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Fri Jun 17 11:32:19 2011 -0700"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sat Jun 18 08:25:16 2011 +1000"
      },
      "message": "drm/i915: Fix gen6 (SNB) missed BLT ring interrupts.\n\nThe failure appeared in dmesg as:\n\n[drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt\nring idle [waiting on 35064155, at 35064155], missed IRQ?\n\nThis works around that problem on by making the blitter command\nstreamer write interrupt state to the Hardware Status Page when a\nMI_USER_INTERRUPT command is decoded, which appears to force the seqno\nout to memory before the interrupt happens.\n\nv1-\u003ev2: Moved to prior interrupt handler installation and RMW flags as\nper feedback.\nv2-\u003ev3: Removed RMW of flags (by anholt)\n\nCc: stable@kernel.org\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nTested-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e [v1]\nTested-by: Eric Anholt \u003ceric@anholt.net\u003e [v1,v3]\n\t   (incidence of the bug with a testcase went from avg 2/1000 to\n\t   0/12651 in the latest test run (plus more for v1))\nTested-by: Kenneth Graunke \u003ckenneth@whitecape.org\u003e [v1]\nTested-by: Robert Hooker \u003crobert.hooker@canonical.com\u003e [v1]\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id\u003d33394\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "95d17b7168eacf1f97f2d1d087ebe7a648c30051",
      "tree": "780ec99778f6403c9682e04f757dde05584e82a3",
      "parents": [
        "01eff85b094044c72c9dcbbc16f6cdb0a6757c3f",
        "ad2409413d09fca763be1ac5161f2a9d82367903"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:57 2011 -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: hda - Fix no NID error with VIA codecs\n  ALSA: isight: adjust for new queueing API\n  ALSA: 6fire - Fix signedness bug\n  ALSA: lola - Fix section mismatch\n  ALSA: hda - Fix missing static inline to beep dummy function\n  ALSA: 6fire: Fix double-free bug in usb6fire_fw_ezusb_upload()\n  ALSA: hda - Fix beep_device compilation warnings\n  ALSA: hda - Fix wrong auto-mute type for Acer Aspire-one\n  ALSA: emu10k1: Add details for E-mu 0404 PCIe version\n  ALSA: hdspm - Add firmware revision ID for RME MADI PCI version\n  ALSA: hdspm - Fix jumping external wordclock frequency in AutoSync mode\n  ALSA: hdspm - Fix locking in snd_hdspm_midi_input_read\n"
    },
    {
      "commit": "01eff85b094044c72c9dcbbc16f6cdb0a6757c3f",
      "tree": "f8278072d75b5081550140319c91dac71e219f83",
      "parents": [
        "d9cbf022bb75497fa2ecd7ae166fc92b000ad46e",
        "a27a263bae072a499acc77b632238a6dacccf888"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: make log devices with write back caches work\n  xfs: fix -\u003emknod() return value on xfs_get_acl() failure\n"
    },
    {
      "commit": "d9cbf022bb75497fa2ecd7ae166fc92b000ad46e",
      "tree": "b7a5c446893448f87ddb8a330b4499ca4c0a0538",
      "parents": [
        "0835619348b097404f4f85bc5195c6e23a2f8de4",
        "c3a4924565e2eecf2539871abd123d35be6d76d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:01 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  Revert \"HID: magicmouse: ignore \u0027ivalid report id\u0027 while switching modes\"\n  HID: hid-multitouch: fix broken eGalax\n  HID: MAINTAINERS: Update USB HID/HIDBP DRIVERS pattern\n  HID: hid-multitouch: add support for Chunghwa multi-touch panel\n  HID: hiddev: fix use after free in hiddev_release\n  HID: add quirk for HyperPen 10000U\n  HID: hiddev: fix potential use-after-free\n"
    },
    {
      "commit": "0835619348b097404f4f85bc5195c6e23a2f8de4",
      "tree": "a81ae35390d440ad1fc655ae2e8715f6fae0b652",
      "parents": [
        "add794467a20463d7ea50dc9f158a6371d396175",
        "c001fb72a7b705f902bdfdd05b5d2408efe6f848",
        "e479c60456ef22b0869432887216186aabaed086"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:36:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:36:32 2011 -0700"
      },
      "message": "Merge branches \u0027gpio/merge\u0027 and \u0027spi/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027gpio/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  gpio: add GPIOF_ values regardless on kconfig settings\n  gpio: include linux/gpio.h where needed\n  gpio/omap4: Fix missing interrupts during device wakeup due to IOPAD.\n\n* \u0027spi/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi/bfin_spi: fix handling of default bits per word setting\n"
    },
    {
      "commit": "add794467a20463d7ea50dc9f158a6371d396175",
      "tree": "4b8d0e258dfffa96c1440f6ea06a9c8348ef7fa5",
      "parents": [
        "879669961b11e7f40b518784863a259f735a72bf",
        "b8ce9fb8e18af7466e0b915bb5979322cdace322"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:35:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:35:31 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:\n  OMAP1: PM: register notifiers with generic clock ops even when !PM_RUNTIME\n  omap: pandora: fix NAND support\n  OMAP: PM: omap_device: fix device power domain callbacks\n  OMAP: PM debug: fix section mismatch warnings\n"
    },
    {
      "commit": "879669961b11e7f40b518784863a259f735a72bf",
      "tree": "9bff5392e365caf656c9dd9be38f7471c182278c",
      "parents": [
        "eb96c925152fc289311e5d7e956b919e9b60ab53"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 17 11:25:59 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 09:40:48 2011 -0700"
      },
      "message": "KEYS/DNS: Fix ____call_usermodehelper() to not lose the session keyring\n\n____call_usermodehelper() now erases any credentials set by the\nsubprocess_inf::init() function.  The problem is that commit\n17f60a7da150 (\"capabilites: allow the application of capability limits\nto usermode helpers\") creates and commits new credentials with\nprepare_kernel_cred() after the call to the init() function.  This wipes\nall keyrings after umh_keys_init() is called.\n\nThe best way to deal with this is to put the init() call just prior to\nthe commit_creds() call, and pass the cred pointer to init().  That\nmeans that umh_keys_init() and suchlike can modify the credentials\n_before_ they are published and potentially in use by the rest of the\nsystem.\n\nThis prevents request_key() from working as it is prevented from passing\nthe session keyring it set up with the authorisation token to\n/sbin/request-key, and so the latter can\u0027t assume the authority to\ninstantiate the key.  This causes the in-kernel DNS resolver to fail\nwith ENOKEY unconditionally.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e479c60456ef22b0869432887216186aabaed086",
      "tree": "758439dead9527100e7d218247bf1f55b2b85b07",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Jun 17 04:35:37 2011 -0400"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jun 17 08:27:27 2011 -0600"
      },
      "message": "spi/bfin_spi: fix handling of default bits per word setting\n\nThe default bits per word setting should be 8 bits, but since most of our\ndevices have been explicitly setting this up, we didn\u0027t notice when the\ndefault stopped working.\n\nAt the moment, any default transfers without an explicit bit size setting\nerror out with:\nbfin-spi bfin-spi.0: transfer: unsupported bits_per_word\n\nSo in the transfer logic, have a bits_per_word setting of 0 fall into the\n8 bit transfer logic.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ad2409413d09fca763be1ac5161f2a9d82367903",
      "tree": "eb882444d86ede68e1bba554e31ce68d58616b81",
      "parents": [
        "cf6f1ff17f56c275424c5a341fc4d27ccbbfa71c"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 17 14:23:46 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 17 14:23:46 2011 +0200"
      },
      "message": "ALSA: hda - Fix no NID error with VIA codecs\n\nThe via driver spews warnigs like\n\thda-codec: no NID for mapping control Independent HP:0:0\nwith some codecs because snd_hda_add_nid() is called with nid\u003d0.\nThis patch fixes it by skipping the call when no corresponding widget\nis found.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "cf6f1ff17f56c275424c5a341fc4d27ccbbfa71c",
      "tree": "7653c290dab423d7e49772295917efd29e1545b6",
      "parents": [
        "0ec5258d68c626922d92e2f0e4e5c689e5360a5d"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Fri Jun 17 08:18:35 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 17 11:37:29 2011 +0200"
      },
      "message": "ALSA: isight: adjust for new queueing API\n\nSince commit 13882a82ee16 (optimize iso queueing by setting\nwake only after the last packet), drivers are required to call\nfw_iso_context_queue_flush() after queueing a batch of packets.\nThe missing call would have an effect only if the controller\nqueue underruns, but then the DMA would stop completely.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "eb96c925152fc289311e5d7e956b919e9b60ab53",
      "tree": "93d106629c5dd09d8eeac3331109319b1bb078f8",
      "parents": [
        "8b97b21e0f4f59801d05a5c536417f04ecfb5603",
        "b81157d016a48b8025ccfcb286827679b35f16aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 17:54:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 17:54:41 2011 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon/kms: use helper functions for fence read/write\n  drm/radeon/kms: set DP link config properly for DP bridges\n  drm/radeon/kms/atom: AdjustPixelClock fixes for DP bridges\n  drm/radeon/kms: fix handling of DP to LVDS bridges\n  drm/radeon/kms: issue blank/unblank commands for ext encoders\n  drm/radeon/kms: fix support for DDC on dp bridges\n  drm/radeon/kms: add support for load detection on dp bridges\n  drm/radeon/kms: add missing external encoder action\n  drm/radeon/kms: rework atombios_get_encoder_mode()\n  drm/radeon/kms: fix num crtcs for Cedar and Caicos\n  Revert \"drm/i915: Enable GMBUS for post-gen2 chipsets\"\n  drivers/gpu/drm: use printk_ratelimited instead of printk_ratelimit\n  drm/radeon: workaround a hw bug on some radeon chipsets with all-0 EDIDs.\n  drm: make debug levels match in edid failure code.\n  drm/radeon/kms: clear wb memory by default\n  drm/radeon/kms: be more pedantic about the g5 quirk (v2)\n  drm/radeon/kms: signed fix for evergreen thermal\n  drm: populate irq_by_busid-member for pci\n"
    },
    {
      "commit": "b81157d016a48b8025ccfcb286827679b35f16aa",
      "tree": "c5097ff1d8b4af1be98f58302ba7c80d06d7bb73",
      "parents": [
        "11b0a5b89adbfaf4e7d31f2482f49471dd983692"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Jun 13 17:39:06 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:30:04 2011 +1000"
      },
      "message": "drm/radeon/kms: use helper functions for fence read/write\n\nThe existing code assumed scratch registers in a number\nof places while in most cases we are be using writeback\nand events rather than scratch registers.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "11b0a5b89adbfaf4e7d31f2482f49471dd983692",
      "tree": "116229a854050e49f79a6b890c5803282280179d",
      "parents": [
        "cc9f67a0a0b076b82ab1af3b2add82e19a33d5de"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Thu Jun 16 10:06:17 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:28:11 2011 +1000"
      },
      "message": "drm/radeon/kms: set DP link config properly for DP bridges\n\nDP clock and lanes were not set properly for DP bridges.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "cc9f67a0a0b076b82ab1af3b2add82e19a33d5de",
      "tree": "592bce519eb88609b157b8e65861be5766226975",
      "parents": [
        "f89931f345f26c43b109191fbfcfa506781111c0"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Thu Jun 16 10:06:16 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:28:10 2011 +1000"
      },
      "message": "drm/radeon/kms/atom: AdjustPixelClock fixes for DP bridges\n\nNeed to set the external transmitter type properly in\nAdjustPixelClock to get the properly output.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "f89931f345f26c43b109191fbfcfa506781111c0",
      "tree": "66015ab6cb58d2e3aa98772383252689f420b75b",
      "parents": [
        "d6c669528a5367aaa5f4e712acef990b7148aee8"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Jun 13 17:13:35 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:28:07 2011 +1000"
      },
      "message": "drm/radeon/kms: fix handling of DP to LVDS bridges\n\nThey need to be treated like eDP rather than DP.\n\nMay fix:\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d34822\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d6c669528a5367aaa5f4e712acef990b7148aee8",
      "tree": "9343b657b82316a96b4ba94fe178f377fed4d955",
      "parents": [
        "591a10e16c2a43f6f2ea5f307ab2a5afecfb9ed9"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Jun 13 17:13:36 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:28:05 2011 +1000"
      },
      "message": "drm/radeon/kms: issue blank/unblank commands for ext encoders\n\nRequired for DPMS on some systems.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "591a10e16c2a43f6f2ea5f307ab2a5afecfb9ed9",
      "tree": "f4d86a8693ccb2f799598a86370e7d6346768e50",
      "parents": [
        "d629a3ceb4fc1ab5aab737b964100d114aba1173"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Jun 13 17:13:34 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:28:03 2011 +1000"
      },
      "message": "drm/radeon/kms: fix support for DDC on dp bridges\n\nNeed to set up the bridge for DDC prior to the\ni2c over aux transaction.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d629a3ceb4fc1ab5aab737b964100d114aba1173",
      "tree": "9bf07b4c4e2552b070283a347fb6c314c813dffa",
      "parents": [
        "7ec478f835a391d27491493ebfd91f2bed98dbd9"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Jun 13 17:13:33 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:28:02 2011 +1000"
      },
      "message": "drm/radeon/kms: add support for load detection on dp bridges\n\ndp to vga bridges for example.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7ec478f835a391d27491493ebfd91f2bed98dbd9",
      "tree": "bca084b4bbdbb4fa62fac74727973a69837235b0",
      "parents": [
        "fbb87773655e7b0292756f9533c3fc21aca0797f"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Jun 13 17:13:32 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:28:01 2011 +1000"
      },
      "message": "drm/radeon/kms: add missing external encoder action\n\nrequired for ddc.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "fbb87773655e7b0292756f9533c3fc21aca0797f",
      "tree": "d54d1d4c5b9aab8819dae41bd249b8a23b7f74f8",
      "parents": [
        "ba7e05e95880ad80f012555fb8e925cb1f9a5d63"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Jun 13 17:13:31 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:27:59 2011 +1000"
      },
      "message": "drm/radeon/kms: rework atombios_get_encoder_mode()\n\nThis should give us more reliable results if the table\nis called before an active device is set.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ba7e05e95880ad80f012555fb8e925cb1f9a5d63",
      "tree": "5f3961c32305ee95452ec7e8f65503dc54595937",
      "parents": [
        "826c7e4147f902737b281e8a5a7d7aa33fd63316"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Thu Jun 16 18:14:22 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:24:29 2011 +1000"
      },
      "message": "drm/radeon/kms: fix num crtcs for Cedar and Caicos\n\nOnly support 4 rather than 6.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "826c7e4147f902737b281e8a5a7d7aa33fd63316",
      "tree": "6fe10b257914837727b0af71449440f66967e886",
      "parents": [
        "cafe8d8413399119c3f4cd575e0eb27e2654b9d5"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Jun 04 19:34:56 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jun 17 09:22:01 2011 +1000"
      },
      "message": "Revert \"drm/i915: Enable GMBUS for post-gen2 chipsets\"\n\nRevert commit 8f9a3f9b63b8cd3f03be9dc53533f90bd4120e5f. This fixes a\nhang when loading the eeprom driver (see bug #35572.) GMBUS will be\nre-enabled later, differently.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nReported-by: Marek Otahal \u003cmarkotahal@gmail.com\u003e\nTested-by: Yermandu Patapitafious \u003cyermandu.dev@gmail.com\u003e\nTested-by: Andrew Lutomirski \u003cluto@mit.edu\u003e\nAcked-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "8b97b21e0f4f59801d05a5c536417f04ecfb5603",
      "tree": "47c95c95a4f93a4596dc57204176ceb432234eba",
      "parents": [
        "99a15e21d96f6857dafab1e5167e5e8183215c9c",
        "793925334f32e9026c22baee5c3c340f47d4ef7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:02:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:02:20 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd:\n  proc: Fix Oops on stat of /proc/\u003czombie pid\u003e/ns/net\n"
    },
    {
      "commit": "99a15e21d96f6857dafab1e5167e5e8183215c9c",
      "tree": "eb6224c0bf11fc243de298c3fa665e418f849d16",
      "parents": [
        "7cc2ed05891f424c2e323bc1a368ddb5c78b90f2"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jun 16 12:56:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:01:24 2011 -0700"
      },
      "message": "migrate: don\u0027t account swapcache as shmem\n\nswapcache will reach the below code path in migrate_page_move_mapping,\nand swapcache is accounted as NR_FILE_PAGES but it\u0027s not accounted as\nNR_SHMEM.\n\nHugh pointed out we must use PageSwapCache instead of comparing\nmapping to \u0026swapper_space, to avoid build failure with CONFIG_SWAP\u003dn.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fbb5b89eabea5ae7d621b7861863159560d8faa4",
      "tree": "51e3d877cb3457bcd801175fb455927fd52f2d2b",
      "parents": [
        "a9d3d2068064b7a6395871a49616d3784f802d50"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 16 15:36:40 2011 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Jun 16 16:31:13 2011 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: Don\u0027t try to transition if the pstate is incorrect\n\nThis patch augments the pstate transition code to error out\n(instead of returning 0) when an incorrect pstate is provided.\n\nSuggested-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCC: andre.przywara@amd.com\nCC: Mark.Langsdorf@amd.com\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "a9d3d2068064b7a6395871a49616d3784f802d50",
      "tree": "ad523f8e5c941cc41819fb4fd8f8746fb1fe8499",
      "parents": [
        "46a310b80bc2c9ccc019649c9da91194cbc10944"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 16 15:36:39 2011 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Jun 16 16:31:13 2011 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: Don\u0027t notify of successful transition if we failed (vid case).\n\nBefore this patch if we failed the vid transition would still try to\nsubmit the \"new\" frequencies to cpufreq.\nThat is incorrect - also we could submit a non-existing frequency value\nwhich would cause cpufreq to crash. The ultimate fix is in cpufreq\nto deal with incorrect values, but this patch improves the error\nrecovery in the AMD powernowk8 driver.\n\nThe failure that was reported was as follows:\n\npowernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3700+ (1 cpu cores) (version 2.20.00)\npowernow-k8: fid 0x2 (1000 MHz), vid 0x12\npowernow-k8: fid 0xa (1800 MHz), vid 0xa\npowernow-k8: fid 0xc (2000 MHz), vid 0x8\npowernow-k8: fid 0xe (2200 MHz), vid 0x8\nMarking TSC unstable due to cpufreq changes\npowernow-k8: fid trans failed, fid 0x2, curr 0x0\nBUG: unable to handle kernel paging request at ffff880807e07b78\nIP: [\u003cffffffff81479163\u003e] cpufreq_stats_update+0x46/0x5b\n...\n\nAnd transition fails and data-\u003ecurrfid ends up with 0. Since\nthe machine does not support 800Mhz value when the calculation is\ndone (\u0027find_khz_freq_from_fid(data-\u003ecurrfid);\u0027) it reports the\nnew frequency as 800000 which is bogus. This patch fixes\nthe issue during target setting.\n\nThe patch however does not fix the issue in \u0027powernowk8_cpu_init\u0027\nwhere the pol-\u003ecur can also be set with the 800000 value:\n\n          pol-\u003ecur \u003d find_khz_freq_from_fid(data-\u003ecurrfid);\n  dprintk(\"policy current frequency %d kHz\\n\", pol-\u003ecur);\n\n  /* min/max the cpu is capable of */\n  if (cpufreq_frequency_table_cpuinfo(pol, data-\u003epowernow_table)) {\n\nThe fix for that looks to update cpufreq_frequency_table_cpuinfo to\ncheck pol-\u003ecur.... but that would cause an regression in how the\nacpi-cpufreq driver works (it sets cpu-\u003ecur after calling\ncpufreq_frequency_table_cpuinfo). Instead the fix will be to let\ncpufreq gracefully handle bogus data (another patch).\n\nAcked-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCC: andre.przywara@amd.com\nCC: Mark.Langsdorf@amd.com\nReported-by: Tobias Diedrich \u003cranma+xen@tdiedrich.de\u003e\nTested-by: Tobias Diedrich \u003cranma+xen@tdiedrich.de\u003e\n[v1: Rebased on v3.0-rc2, reduced patch to deal with vid case]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "46a310b80bc2c9ccc019649c9da91194cbc10944",
      "tree": "ee83955c171f7fd491bf06d7c9592b589ae0c7d0",
      "parents": [
        "ada9c93312f7ec49514c68c211595ce2601cebae"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 16 15:36:38 2011 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Jun 16 16:31:12 2011 -0400"
      },
      "message": "[CPUFREQ] Don\u0027t set stat-\u003elast_index to -1 if the pol-\u003ecur has incorrect value.\n\nIf the driver submitted an non-existing pol\u003ecur value (say it\nused the default initialized value of zero), when the cpufreq\nstats tries to setup its initial values it incorrectly sets\nstat-\u003elast_index to -1 (or 0xfffff...). And cpufreq_stats_update\ntries to update at that index location and fails.\n\nThis can be caused by:\n\nstat-\u003elast_index \u003d freq_table_get_index(stat, policy-\u003ecur);\n\nnot finding the appropiate frequency in the table (b/c the policy-\u003ecur\nis wrong) and we end up crashing. The fix however is\nconcentrated in the \u0027cpufreq_stats_update\u0027 as the last_index\n(and old_index) are updated there. Which means it can reset\nthe last_index to -1 again and on the next iteration cause a crash.\n\nWithout this patch, the following crash is observed:\n\npowernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3700+ (1 cpu cores) (version 2.20.00)\npowernow-k8: fid 0x2 (1000 MHz), vid 0x12\npowernow-k8: fid 0xa (1800 MHz), vid 0xa\npowernow-k8: fid 0xc (2000 MHz), vid 0x8\npowernow-k8: fid 0xe (2200 MHz), vid 0x8\nMarking TSC unstable due to cpufreq changes\npowernow-k8: fid trans failed, fid 0x2, curr 0x0\nBUG: unable to handle kernel paging request at ffff880807e07b78\nIP: [\u003cffffffff81479163\u003e] cpufreq_stats_update+0x46/0x5b\n.. snip..\nPid: 1, comm: swapper Not tainted 3.0.0-rc2 #45 MICRO-STAR INTERNATIONAL CO., LTD MS-7094/MS-7094\n..snip..\nCall Trace:\n [\u003cffffffff81479248\u003e] cpufreq_stat_notifier_trans+0x48/0x7c\n [\u003cffffffff81095d68\u003e] notifier_call_chain+0x32/0x5e\n [\u003cffffffff81095e6b\u003e] __srcu_notifier_call_chain+0x47/0x63\n [\u003cffffffff81095e96\u003e] srcu_notifier_call_chain+0xf/0x11\n [\u003cffffffff81477e7a\u003e] cpufreq_notify_transition+0x111/0x134\n [\u003cffffffff8147b0d4\u003e] powernowk8_target+0x53b/0x617\n [\u003cffffffff8147723a\u003e] __cpufreq_driver_target+0x2e/0x30\n [\u003cffffffff8147a127\u003e] cpufreq_governor_dbs+0x339/0x356\n [\u003cffffffff81477394\u003e] __cpufreq_governor+0xa8/0xe9\n [\u003cffffffff81477525\u003e] __cpufreq_set_policy+0x132/0x13e\n [\u003cffffffff8147848d\u003e] cpufreq_add_dev_interface+0x272/0x28c\n\nReported-by: Tobias Diedrich \u003cranma+xen@tdiedrich.de\u003e\nTested-by: Tobias Diedrich \u003cranma+xen@tdiedrich.de\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "0ec5258d68c626922d92e2f0e4e5c689e5360a5d",
      "tree": "0e8a2450585f5602f0b1f1c66131e9830f3fc730",
      "parents": [
        "e72888e91cc902ccdc089f237b6eed7587e2b4df"
      ],
      "author": {
        "name": "Torsten Schenk",
        "email": "torsten.schenk@zoho.com",
        "time": "Thu Jun 16 21:06:27 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jun 16 21:31:33 2011 +0200"
      },
      "message": "ALSA: 6fire - Fix signedness bug\n\nFixed remaining issues of the signedness bug discovered by Dan Carpenter.\nA check was remaining that tests if unsigned rt-\u003erate is \u003e\u003d 0.\nChanged that so that rt-\u003erate now consistently uses ARRAY_SIZE(rates)\nas invalid rate value and not -1.\n\nSigned-off-by: Torsten Schenk \u003ctorsten.schenk@zoho.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "7cc2ed05891f424c2e323bc1a368ddb5c78b90f2",
      "tree": "db628f2dcbb51c0fe9ce15da5897c4ea1404be9f",
      "parents": [
        "8dac6bee32425dd5145b40fa2307648cb7fb4d4a",
        "569658dddf276ceb0780776e7f5d61d9f8d8cb88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 10:26:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 10:26:58 2011 -0700"
      },
      "message": "Merge branch \u0027rc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027rc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  kbuild: Call depmod.sh via shell\n  perf: clear out make flags when calling kernel make kernelver\n"
    },
    {
      "commit": "8dac6bee32425dd5145b40fa2307648cb7fb4d4a",
      "tree": "b7165517729b755686f336b3066ebc982c8793ea",
      "parents": [
        "f8f44f09eaa2bfb40651e7fc6054d65c8091499a",
        "d6e43f751f252c68ca69fa6d18665d88d69ef8b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 10:21:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 10:21:59 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  AFS: Use i_generation not i_version for the vnode uniquifier\n  AFS: Set s_id in the superblock to the volume name\n  vfs: Fix data corruption after failed write in __block_write_begin()\n  afs: afs_fill_page reads too much, or wrong data\n  VFS: Fix vfsmount overput on simultaneous automount\n  fix wrong iput on d_inode introduced by e6bc45d65d\n  Delay struct net freeing while there\u0027s a sysfs instance refering to it\n  afs: fix sget() races, close leak on umount\n  ubifs: fix sget races\n  ubifs: split allocation of ubifs_info into a separate function\n  fix leak in proc_set_super()\n"
    },
    {
      "commit": "f8f44f09eaa2bfb40651e7fc6054d65c8091499a",
      "tree": "d68df2dca22c6450b1cbb43cd314a47557920187",
      "parents": [
        "f49cc57cc9d1686bdca068c40bc43f1690aa02d3",
        "261a9af671a79b750cb170bac620601d686535c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 09:46:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 09:46:24 2011 -0700"
      },
      "message": "Merge branch \u0027sh-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x\n\n* \u0027sh-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x:\n  sh: sh7724: Add USBHS DMAEngine support\n  sh: ecovec: Add renesas_usbhs support\n  sh, exec: remove redundant set_fs(USER_DS)\n  drivers: sh: resume enabled clocks fix\n  dmaengine: shdma: SH_DMAC_MAX_CHANNELS message fix\n  sh: Fix up xchg/cmpxchg corruption with gUSA RB.\n  sh: Remove compressed kernel libgcc dependency.\n  sh: fix wrong icache/dcache address-array start addr in cache-debugfs.\n"
    },
    {
      "commit": "f49cc57cc9d1686bdca068c40bc43f1690aa02d3",
      "tree": "e2efe59e17d2bf787400f46f0249c511126d6025",
      "parents": [
        "f4ef084226f82ca923bf0a2658bb2876bd215ec1",
        "05a7929f31a0d516a9c19012bf27a1ea5058dc7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 09:46:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 09:46:08 2011 -0700"
      },
      "message": "Merge branch \u0027rmobile-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x\n\n* \u0027rmobile-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x:\n  ARM: mach-shmobile: mackerel: tidyup usbhs driver settings\n  ARM: mach-shmobile: Correct SCIF port types for SH7367.\n  ARM: mach-shmobile: sh73a0 gic_arch_extn.irq_set_wake() fix\n  ARM: mach-shmobile: Mackerel USB platform data update\n  ARM: mach-shmobile: AG5EVM SDHI1 platform data update\n"
    },
    {
      "commit": "f4ef084226f82ca923bf0a2658bb2876bd215ec1",
      "tree": "5097279680df51891f70f8afe0d52555b772e7a8",
      "parents": [
        "df9d030c1324e9b75a425903f9f66bbc960bf713",
        "d521dd944e461371cb309c7c3568483cd2b6f5f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 09:45:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 09:45:47 2011 -0700"
      },
      "message": "Merge branch \u0027fbdev-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x\n\n* \u0027fbdev-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x:\n  fbdev: sh_mobile_hdmi: fix regression: statically enable RTPM\n  fbdev/atyfb: Fix 2 defined-but-not-used warnings\n  efifb: Fix call to wrong unregister function\n  video: s3c-fb: move enabling channel for window\n  video: s3c-fb: fix virtual resolution checking\n  video: s3c-fb: fix misleading kfree in remove function\n"
    },
    {
      "commit": "df9d030c1324e9b75a425903f9f66bbc960bf713",
      "tree": "f248668ab9451e0087f1de36122f8c6e512fcc39",
      "parents": [
        "e1d76719ea3f3f755d597cef9c2087bdda5fea43",
        "82b88bb24e28dd4fb4bec30e75412f41326130f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 09:44:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 09:44:20 2011 -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  SELinux: skip file_name_trans_write() when policy downgraded.\n  selinux: fix case of names with whitespace/multibytes on /selinux/create\n"
    },
    {
      "commit": "a27a263bae072a499acc77b632238a6dacccf888",
      "tree": "b2728b2900c3926cba5833e171b56bc7371dbc07",
      "parents": [
        "c46a131c0c0f4c2457e6b1e430c578a5cb057334"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jun 16 12:02:23 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Jun 16 10:52:39 2011 -0500"
      },
      "message": "xfs: make log devices with write back caches work\n\nThere\u0027s no reason not to support cache flushing on external log devices.\nThe only thing this really requires is flushing the data device first\nboth in fsync and log commits.  A side effect is that we also have to\nremove the barrier write test during mount, which has been superflous\nsince the new FLUSH+FUA code anyway.  Also use the chance to flush the\nRT subvolume write cache before the fsync commit, which is required\nfor correct semantics.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "d6e43f751f252c68ca69fa6d18665d88d69ef8b7",
      "tree": "6da6f811e89a6d975661bde86244d7751932d762",
      "parents": [
        "2e41ae225f742ded5b7d9847cd8bd605f27daba8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 14 00:45:44 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:48 2011 -0400"
      },
      "message": "AFS: Use i_generation not i_version for the vnode uniquifier\n\nStore the AFS vnode uniquifier in the i_generation field, not the i_version\nfield of the inode struct.  i_version can then be given the AFS data version\nnumber.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2e41ae225f742ded5b7d9847cd8bd605f27daba8",
      "tree": "3ac2eb6cc9c00d5e8c8ecbd6997f8bd8c713225e",
      "parents": [
        "f9f07b6c1372b1436aa6b45333445b443ffd8c95"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 14 00:38:44 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:47 2011 -0400"
      },
      "message": "AFS: Set s_id in the superblock to the volume name\n\nSet s_id in the superblock to the name of the AFS volume that this superblock\ncorresponds to.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f9f07b6c1372b1436aa6b45333445b443ffd8c95",
      "tree": "b8bd034260b2c1eee2ca585397ee598079ac261b",
      "parents": [
        "5e7f23373bf9a853e9256e81e86724cdd0a33c29"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jun 14 00:58:27 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:46 2011 -0400"
      },
      "message": "vfs: Fix data corruption after failed write in __block_write_begin()\n\nI\u0027ve got a report of a file corruption from fsxlinux on ext3. The important\noperations to the page were:\nmapwrite to a hole\npartial write to the page\nread - found the page zeroed from the end of the normal write\n\nThe culprit seems to be that if get_block() fails in __block_write_begin()\n(e.g. transient ENOSPC in ext3), the function does ClearPageUptodate(page).\nThus when we retry the write, the logic in __block_write_begin() thinks zeroing\nof the page is needed and overwrites old data.  In fact, I don\u0027t see why we\nshould ever need to zero the uptodate bit here - either the page was uptodate\nwhen we entered __block_write_begin() and it should stay so when we leave it,\nor it was not uptodate and noone had right to set it uptodate during\n__block_write_begin() so it remains !uptodate when we leave as well. So just\nremove clearing of the bit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5e7f23373bf9a853e9256e81e86724cdd0a33c29",
      "tree": "4e49311429c995889853d0ec0f43a3023869c227",
      "parents": [
        "8aef18845266f5c05904c610088f2d1ed58f6be3"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Jun 13 22:31:12 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:46 2011 -0400"
      },
      "message": "afs: afs_fill_page reads too much, or wrong data\n\nafs_fill_page should read the page that is about to be written but\nthe current implementation has a number of issues. If we aren\u0027t\nextending the file we always read PAGE_CACHE_SIZE at offset 0. If we\nare extending the file we try to read the entire file.\n\nChange afs_fill_page to read PAGE_CACHE_SIZE at the right offset,\nclamped to i_size.\n\nWhile here, avoid calling afs_fill_page when we are doing a\nPAGE_CACHE_SIZE write.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e1d76719ea3f3f755d597cef9c2087bdda5fea43",
      "tree": "1418222e11d3d90dbd80671643ccacac2065e652",
      "parents": [
        "9be34c9d526c305efb332ad53460b57d5f8edb3e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jun 14 15:00:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 08:29:00 2011 -0700"
      },
      "message": "staging: fix iio builds when IIO_RING_BUFFER is not enabled\n\nFix build by moving enum list outside of\n#ifdef CONFIG_IIO_RING_BUFFER.\n\n  drivers/staging/iio/accel/adis16201_core.c:413: error: \u0027ADIS16201_SCAN_SUPPLY\u0027 undeclared here (not in a function)\n  drivers/staging/iio/accel/adis16201_core.c:417: error: \u0027ADIS16201_SCAN_TEMP\u0027 undeclared here (not in a function)\n  ..\n\n  drivers/staging/iio/accel/adis16203_core.c:374: error: \u0027ADIS16203_SCAN_SUPPLY\u0027 undeclared here (not in a function)\n  drivers/staging/iio/accel/adis16203_core.c:378: error: \u0027ADIS16203_SCAN_AUX_ADC\u0027 undeclared here (not in a function)\n  ..\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nCc: linux-iio@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aef18845266f5c05904c610088f2d1ed58f6be3",
      "tree": "fbdecafcd5e5d15445af18119cc8ee2e9b2cb850",
      "parents": [
        "50338b889dc504c69e0cb316ac92d1b9e51f3c8a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Thu Jun 16 15:10:06 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:28:16 2011 -0400"
      },
      "message": "VFS: Fix vfsmount overput on simultaneous automount\n\n[Kudos to dhowells for tracking that crap down]\n\nIf two processes attempt to cause automounting on the same mountpoint at the\nsame time, the vfsmount holding the mountpoint will be left with one too few\nreferences on it, causing a BUG when the kernel tries to clean up.\n\nThe problem is that lock_mount() drops the caller\u0027s reference to the\nmountpoint\u0027s vfsmount in the case where it finds something already mounted on\nthe mountpoint as it transits to the mounted filesystem and replaces path-\u003emnt\nwith the new mountpoint vfsmount.\n\nDuring a pathwalk, however, we don\u0027t take a reference on the vfsmount if it is\nthe same as the one in the nameidata struct, but do_add_mount() doesn\u0027t know\nthis.\n\nThe fix is to make sure we have a ref on the vfsmount of the mountpoint before\ncalling do_add_mount().  However, if lock_mount() doesn\u0027t transit, we\u0027re then\nleft with an extra ref on the mountpoint vfsmount which needs releasing.\nWe can handle that in follow_managed() by not making assumptions about what\nwe can and what we cannot get from lookup_mnt() as the current code does.\n\nThe callers of follow_managed() expect that reference to path-\u003emnt will be\ngrabbed iff path-\u003emnt has been changed.  follow_managed() and follow_automount()\nkeep track of whether such reference has been grabbed and assume that it\u0027ll\nhappen in those and only those cases that\u0027ll have us return with changed\npath-\u003emnt.  That assumption is almost correct - it breaks in case of\nracing automounts and in even harder to hit race between following a mountpoint\nand a couple of mount --move.  The thing is, we don\u0027t need to make that\nassumption at all - after the end of loop in follow_manage() we can check\nif path-\u003emnt has ended up unchanged and do mntput() if needed.\n\nThe BUG can be reproduced with the following test program:\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/wait.h\u003e\n\tint main(int argc, char **argv)\n\t{\n\t\tint pid, ws;\n\t\tstruct stat buf;\n\t\tpid \u003d fork();\n\t\tstat(argv[1], \u0026buf);\n\t\tif (pid \u003e 0) wait(\u0026ws);\n\t\treturn 0;\n\t}\n\nand the following procedure:\n\n (1) Mount an NFS volume that on the server has something else mounted on a\n     subdirectory.  For instance, I can mount / from my server:\n\n\tmount warthog:/ /mnt -t nfs4 -r\n\n     On the server /data has another filesystem mounted on it, so NFS will see\n     a change in FSID as it walks down the path, and will mark /mnt/data as\n     being a mountpoint.  This will cause the automount code to be triggered.\n\n     !!! Do not look inside the mounted fs at this point !!!\n\n (2) Run the above program on a file within the submount to generate two\n     simultaneous automount requests:\n\n\t/tmp/forkstat /mnt/data/testfile\n\n (3) Unmount the automounted submount:\n\n\tumount /mnt/data\n\n (4) Unmount the original mount:\n\n\tumount /mnt\n\n     At this point the kernel should throw a BUG with something like the\n     following:\n\n\tBUG: Dentry ffff880032e3c5c0{i\u003d2,n\u003d} still in use (1) [unmount of nfs4 0:12]\n\nNote that the bug appears on the root dentry of the original mount, not the\nmountpoint and not the submount because sys_umount() hasn\u0027t got to its final\nmntput_no_expire() yet, but this isn\u0027t so obvious from the call trace:\n\n [\u003cffffffff8117cd82\u003e] shrink_dcache_for_umount+0x69/0x82\n [\u003cffffffff8116160e\u003e] generic_shutdown_super+0x37/0x15b\n [\u003cffffffffa00fae56\u003e] ? nfs_super_return_all_delegations+0x2e/0x1b1 [nfs]\n [\u003cffffffff811617f3\u003e] kill_anon_super+0x1d/0x7e\n [\u003cffffffffa00d0be1\u003e] nfs4_kill_super+0x60/0xb6 [nfs]\n [\u003cffffffff81161c17\u003e] deactivate_locked_super+0x34/0x83\n [\u003cffffffff811629ff\u003e] deactivate_super+0x6f/0x7b\n [\u003cffffffff81186261\u003e] mntput_no_expire+0x18d/0x199\n [\u003cffffffff811862a8\u003e] mntput+0x3b/0x44\n [\u003cffffffff81186d87\u003e] release_mounts+0xa2/0xbf\n [\u003cffffffff811876af\u003e] sys_umount+0x47a/0x4ba\n [\u003cffffffff8109e1ca\u003e] ? trace_hardirqs_on_caller+0x1fd/0x22f\n [\u003cffffffff816ea86b\u003e] system_call_fastpath+0x16/0x1b\n\nas do_umount() is inlined.  However, you can see release_mounts() in there.\n\nNote also that it may be necessary to have multiple CPU cores to be able to\ntrigger this bug.\n\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "50338b889dc504c69e0cb316ac92d1b9e51f3c8a",
      "tree": "8e353de07b21b350664eff5d69f3a67014d01bcd",
      "parents": [
        "a685e08987d1edf1995b76511d4c98ea0e905377"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Thu Jun 16 00:06:14 2011 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:27:39 2011 -0400"
      },
      "message": "fix wrong iput on d_inode introduced by e6bc45d65d\n\nGit bisection shows that commit e6bc45d65df8599fdbae73be9cec4ceed274db53 causes\nBUG_ONs under high I/O load:\n\nkernel BUG at fs/inode.c:1368!\n[ 2862.501007] Call Trace:\n[ 2862.501007]  [\u003cffffffff811691d8\u003e] d_kill+0xf8/0x140\n[ 2862.501007]  [\u003cffffffff81169c19\u003e] dput+0xc9/0x190\n[ 2862.501007]  [\u003cffffffff8115577f\u003e] fput+0x15f/0x210\n[ 2862.501007]  [\u003cffffffff81152171\u003e] filp_close+0x61/0x90\n[ 2862.501007]  [\u003cffffffff81152251\u003e] sys_close+0xb1/0x110\n[ 2862.501007]  [\u003cffffffff814c14fb\u003e] system_call_fastpath+0x16/0x1b\n\nA reliable way to reproduce this bug is:\nLogin to KDE, run \u0027rsnapshot sync\u0027, and apt-get install openjdk-6-jdk,\nand apt-get remove openjdk-6-jdk.\n\nThe buggy part of the patch is this:\n\tstruct inode *inode \u003d NULL;\n.....\n-               if (nd.last.name[nd.last.len])\n-                       goto slashes;\n                inode \u003d dentry-\u003ed_inode;\n-               if (inode)\n-                       ihold(inode);\n+               if (nd.last.name[nd.last.len] || !inode)\n+                       goto slashes;\n+               ihold(inode)\n...\n\tif (inode)\n\t\tiput(inode);\t/* truncate the inode here */\n\nIf nd.last.name[nd.last.len] is nonzero (and thus goto slashes branch is taken),\nand dentry-\u003ed_inode is non-NULL, then this code now does an additional iput on\nthe inode, which is wrong.\n\nFix this by only setting the inode variable if nd.last.name[nd.last.len] is 0.\n\nReference: https://lkml.org/lkml/2011/6/15/50\nReported-by: Norbert Preining \u003cpreining@logic.at\u003e\nReported-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c001fb72a7b705f902bdfdd05b5d2408efe6f848",
      "tree": "a8c15469c4a09c3690479e1508ab7ca7acbfcbe7",
      "parents": [
        "158f1e95180d01ebfd7cd5c8de23050528303f26"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jun 14 17:05:11 2011 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jun 16 08:40:52 2011 -0600"
      },
      "message": "gpio: add GPIOF_ values regardless on kconfig settings\n\nMake GPIOF_ defined values available even when GPIOLIB nor GENERIC_GPIO\nis enabled by moving them to \u003clinux/gpio.h\u003e.\n\nFixes these build errors in linux-next:\nsound/soc/codecs/ak4641.c:524: error: \u0027GPIOF_OUT_INIT_LOW\u0027 undeclared (first use in this function)\nsound/soc/codecs/wm8915.c:2921: error: \u0027GPIOF_OUT_INIT_LOW\u0027 undeclared (first use in this function)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "158f1e95180d01ebfd7cd5c8de23050528303f26",
      "tree": "0adced141c5a927fdc0a29b6fcc5b25f5954c114",
      "parents": [
        "55b220cafadd71b9f83759f7b396998b2547dc5f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jun 14 17:06:02 2011 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jun 16 08:40:44 2011 -0600"
      },
      "message": "gpio: include linux/gpio.h where needed\n\nSome files use GPIOF_ macros but don\u0027t include the header file\nfor them.  These macros are being moved to \u003clinux/gpio.h\u003e, so add\nincludes for \u003clinux/gpio.h\u003e where needed.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "55b220cafadd71b9f83759f7b396998b2547dc5f",
      "tree": "220005da0cc200ed5f385d3077ef86f1a5e80a4a",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Ambresh K",
        "email": "ambresh@ti.com",
        "time": "Wed Jun 15 13:40:45 2011 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jun 16 08:40:43 2011 -0600"
      },
      "message": "gpio/omap4: Fix missing interrupts during device wakeup due to IOPAD.\n\nIf gpio pins from bank[2-5] are marked as wakeup enable and if the wake is\nthrough gpio IO pad wakeup, then that wakeup gpio interrupt is lost.\n\nIn the current implementation, GPIO driver stores the context of DATAIN of\nall the gpio in the bank. During GPIO resuming, it checks DATAIN with wakeup\nenabled pins of gpio bank. If there is status change, then manually toggle\nGPIO_LEVELDETECT to generate pseudo interrupt.\n\nReported-by: Philippe Mazet \u003cp-mazet@ti.com\u003e\nTested-by: Philippe Mazet \u003cp-mazet@ti.com\u003e\nSigned-off-by: Ambresh K \u003cambresh@ti.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "c3a4924565e2eecf2539871abd123d35be6d76d5",
      "tree": "22b1180273f230cf87e25b4745435eb78e0fd4fe",
      "parents": [
        "b84bd27fe70206f9253c395958134e4e4b7e55f0"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Jun 16 12:21:34 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Jun 16 12:21:34 2011 +0200"
      },
      "message": "Revert \"HID: magicmouse: ignore \u0027ivalid report id\u0027 while switching modes\"\n\nThis reverts commit 23746a66d7d9e73402c68ef00d708796b97ebd72.\n\nIt turned out that the actual reason for failure is not the device\nfirmware, but bug in Bluetooth stack, which will be fixed by\npatch by Ville Tervo which corrects the mask handling for CSR 1.1\nDongles.\n\nReported-and-tested-by: Ed Tomlinson \u003cedt@aei.ca\u003e\nReported-and-tested-by: Chase Douglas \u003cchase.douglas@canonical.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "9be34c9d526c305efb332ad53460b57d5f8edb3e",
      "tree": "43db860557f3080b254291dac1035be1468dfdff",
      "parents": [
        "19a1166fa2352f9c07a5ab34a3c2aab462cff35d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 00:35:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 00:35:09 2011 -0700"
      },
      "message": "mm: get rid of the most spurious find_vma_prev() users\n\nWe have some users of this function that date back to before the vma\nlist was doubly linked, and just are silly.  These days, you can find\nthe previous vma by just following the vma-\u003evm_prev pointer.\n\nIn some cases you don\u0027t need any find_vma() lookup at all, and in other\ncases you\u0027re better off with the regular \"find_vma()\" that uses the vma\ncache front-end lookup.\n\nSome \"find_vma_prev()\" users are still valid, though.  For example, in\nthe case of a stack that grows up, it can be the case that we don\u0027t find\nany \u0027vma\u0027 at all (because we\u0027re looking up an address that is past the\nlast vma), and that the stack that we want to grow is the \u0027prev\u0027 vma.\n\nBut that kind of special case aside, we generally should prefer to use\n\u0027find_vma()\u0027.\n\nNoticed due to a totally unrelated POWER memory corruption bug that just\nhappened to hit in \u0027find_vma_prev()\u0027 and made me go \"Hmm - why are we\nusing that function here?\".\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cafe8d8413399119c3f4cd575e0eb27e2654b9d5",
      "tree": "ae2584fb232db4af39568875bae64145fd1c2122",
      "parents": [
        "4a9a8b71e12d41abb71c4e741bff524f016cfef4"
      ],
      "author": {
        "name": "Christian Dietrich",
        "email": "christian.dietrich@informatik.uni-erlangen.de",
        "time": "Sat Jun 04 15:36:43 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jun 16 16:32:15 2011 +1000"
      },
      "message": "drivers/gpu/drm: use printk_ratelimited instead of printk_ratelimit\n\nSince printk_ratelimit() shouldn\u0027t be used anymore (see comment in\ninclude/linux/printk.h), replace it with printk_ratelimited.\n\nSigned-off-by: Christian Dietrich \u003cchristian.dietrich@informatik.uni-erlangen.de\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4a9a8b71e12d41abb71c4e741bff524f016cfef4",
      "tree": "e5b3589c7568897a2184646665ca2f67257b62a5",
      "parents": [
        "f49dadb82dde88092827b6d058e7164e75e96759"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Tue Jun 14 06:13:55 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jun 16 16:30:54 2011 +1000"
      },
      "message": "drm/radeon: workaround a hw bug on some radeon chipsets with all-0 EDIDs.\n\nSome RS690 chipsets seem to end up with floating connectors, either\na DVI connector isn\u0027t actually populated, or an add-in HDMI card\nis available but not installed. In this case we seem to get a NULL byte\nresponse for each byte of the i2c transaction, so we detect this\ncase and if we see it we don\u0027t do anymore DDC transactions on this\nconnector.\n\nI\u0027ve tested this on my RS690 without the HDMI card installed and\nit seems to work fine.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\n"
    },
    {
      "commit": "f49dadb82dde88092827b6d058e7164e75e96759",
      "tree": "d352e652b837826f366880bed0560381446e5b22",
      "parents": [
        "e6ba759980e65084b0db9f1684d9d65a2a3e1741"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Tue Jun 14 06:13:54 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jun 16 16:29:37 2011 +1000"
      },
      "message": "drm: make debug levels match in edid failure code.\n\nthis puts the header and followup at the same loglevel as the\nhex dump code.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\n"
    },
    {
      "commit": "e6ba759980e65084b0db9f1684d9d65a2a3e1741",
      "tree": "f5af962584902984f9b6c71dad843f179aa77ab3",
      "parents": [
        "7c88d2b80ba5c175398013842782461a3b980130"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Jun 13 22:02:51 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jun 16 16:28:43 2011 +1000"
      },
      "message": "drm/radeon/kms: clear wb memory by default\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7c88d2b80ba5c175398013842782461a3b980130",
      "tree": "c7d54b63f3c0f934a762fa8b209430b9bf5aceee",
      "parents": [
        "1c88d74f3a0b748b0c7e88e91e9d0503815d5689"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Tue Jun 14 15:27:38 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jun 16 16:27:28 2011 +1000"
      },
      "message": "drm/radeon/kms: be more pedantic about the g5 quirk (v2)\n\nI don\u0027t think Apple offered any other cards for\nthis mac, so I doubt this will be an issue, but just\nto be on the safe side, check the pci ids as well.\n\nv2: fix spelling in commit message\n\nReviewed-by: Michel Dänzer \u003cmichel@daenzer.net\u003e\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nCc: Joachim Henke \u003cj-o@users.sourceforge.net\u003e\nCc: Michel Dänzer \u003cmichel@daenzer.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "1c88d74f3a0b748b0c7e88e91e9d0503815d5689",
      "tree": "0fa574ef188ea342a4f7bffcac2babfbcc349a8c",
      "parents": [
        "45e97ab65026a3391cb2c938f834ca5db4d2e5b3"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Tue Jun 14 19:15:53 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jun 16 16:27:20 2011 +1000"
      },
      "message": "drm/radeon/kms: signed fix for evergreen thermal\n\ntemperature is signed.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "45e97ab65026a3391cb2c938f834ca5db4d2e5b3",
      "tree": "b6e0e60a16048ae3c0d1d0e0a2843803ed99049b",
      "parents": [
        "21c5977a836e399fc710ff2c5367845ed5c2527f"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Wed Jun 15 11:26:47 2011 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jun 16 16:26:45 2011 +1000"
      },
      "message": "drm: populate irq_by_busid-member for pci\n\nCommit 8410ea (drm: rework PCI/platform driver interface) implemented\ndrm_pci_irq_by_busid() but forgot to make it available in the\ndrm_pci_bus-struct.\n\nThis caused a freeze on my Radeon9600-equipped laptop when executing glxgears.\nThanks to Michel for noticing the flaw.\n\n[airlied: made function static also]\n\nReported-by: Michel Dänzer \u003cdaenzer@vmware.com\u003e\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "261a9af671a79b750cb170bac620601d686535c1",
      "tree": "41c81bb079f9b93946b0043fbf797c231111e5fb",
      "parents": [
        "fb2e73947461d55a3166f94a8a545b78d6635262"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Wed Jun 15 06:08:28 2011 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 16 15:05:46 2011 +0900"
      },
      "message": "sh: sh7724: Add USBHS DMAEngine support\n\nSigned-off-by: Kuninori Morimoto \u003cmorimoto.kuninori@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "fb2e73947461d55a3166f94a8a545b78d6635262",
      "tree": "f7fb4daa21566ee05cff81fb8e66e570dfb7adac",
      "parents": [
        "201fbceb258650157fcc4fd746abcdd3a571eada"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Wed Jun 15 06:08:18 2011 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 16 15:05:42 2011 +0900"
      },
      "message": "sh: ecovec: Add renesas_usbhs support\n\nSigned-off-by: Kuninori Morimoto \u003cmorimoto.kuninori@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "19a1166fa2352f9c07a5ab34a3c2aab462cff35d",
      "tree": "0a99561aa026b8edc7a3621c3e32ba2314508d58",
      "parents": [
        "13fca640bb8ab611a50e0ba120b186faa2994d6c",
        "7d7975a0e1da7d6e558211b6296a96f1d6bf60ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 22:01:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 22:01:36 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027fixes\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm:\n  ARM: footbridge: fix clock event support\n  ARM: footbridge: fix debug macros\n  ARM: initrd: disable initrds outside of memory\n  ARM: extend Code: line by one 16-bit quantity for Thumb instructions\n  ARM: 6955/1: cmpxchg syscall should data abort if page not write\n  ARM: 6954/1: zImage: fix Thumb2 breakage\n  ARM: 6953/1: DT: don\u0027t try to access physical address zero\n  ARM: 6949/2: mach-u300: fix compilaton warning in IO accessors\n  Revert \"ARM: 6944/1: mm: allow ASID 0 to be allocated to tasks\"\n  Revert \"ARM: 6943/1: mm: use TTBR1 instead of reserved context ID\"\n  davinci: make PCM platform devices static\n  arm: davinci: Fix fallout from generic irq chip conversion\n  ARM: 6894/1: mmci: trigger card detect IRQs on falling and rising edges\n  ARM: 6952/1: fix lockdep warning of \"unannotated irqs-off\"\n  ARM: 6951/1: include .bss in memory layout information\n  ARM: 6948/1: Fix .size directives for __arm{7,9}tdmi_proc_info\n  ARM: 6947/2: mach-u300: fix compilation error in timer\n  ARM: 6946/1: vexpress: move v2m clock init to init_early\n  ARM: mx51/sdma: Check the chip revision in run-time\n  arm: mxs: include asm/processor.h for cpu_relax()\n"
    },
    {
      "commit": "13fca640bb8ab611a50e0ba120b186faa2994d6c",
      "tree": "0a40a28e498b2e9abdef8c86aa0aef7f82096f00",
      "parents": [
        "67de0162fbb78713fcb23cb2502b380faa8bde73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:53:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:53:52 2011 -0700"
      },
      "message": "Revert \"fs/exec.c: use BUILD_BUG_ON for VM_STACK_FLAGS \u0026 VM_STACK_INCOMPLETE_SETUP\"\n\nThis reverts commit 7f81c8890c15a10f5220bebae3b6dfae4961962a.\n\nIt turns out that it\u0027s not actually a build-time check on x86-64 UML,\nwhich does some seriously crazy stuff with VM_STACK_FLAGS.\n\nThe VM_STACK_FLAGS define depends on the arch-supplied\nVM_STACK_DEFAULT_FLAGS value, and on x86-64 UML we have\n\n  arch/um/sys-x86_64/shared/sysdep/vm-flags.h:\n\n\t#define VM_STACK_DEFAULT_FLAGS \\\n\t\t(test_thread_flag(TIF_IA32) ? vm_stack_flags32 : vm_stack_flags)\n\n\t#define VM_STACK_DEFAULT_FLAGS vm_stack_flags\n\n(yes, seriously: two different #define\u0027s for that thing, with the first\none being inside an \"#ifdef TIF_IA32\")\n\nIt\u0027s possible that it is UML that should just be fixed in this area, but\nfor now let\u0027s just undo the (very small) optimization.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67de0162fbb78713fcb23cb2502b380faa8bde73",
      "tree": "adae72115105d0a02e93b5c793b66bda3d51bace",
      "parents": [
        "f6e07d38078e82a6aeaae00bb134591ef5ac1167"
      ],
      "author": {
        "name": "Jörg Sommer",
        "email": "joerg@alea.gnuu.de",
        "time": "Wed Jun 15 13:00:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:52:50 2011 -0700"
      },
      "message": "Documentation: fix cgroup typos and formatting\n\nFix format and spelling.\n\nSigned-off-by: Jörg Sommer \u003cjoerg@alea.gnuu.de\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6e07d38078e82a6aeaae00bb134591ef5ac1167",
      "tree": "9ebadc1c483a5d96b3d33141a229397c4f594df5",
      "parents": [
        "06a2c45d6b4a7586eba7cd20dd656b08d8b63c2f"
      ],
      "author": {
        "name": "Jörg Sommer",
        "email": "joerg@alea.gnuu.de",
        "time": "Wed Jun 15 12:59:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:52:50 2011 -0700"
      },
      "message": "Documentation: update cgroupfs mount point\n\nAccording to commit 676db4af0430 (\"cgroupfs: create /sys/fs/cgroup to\nmount cgroupfs on\") the canonical mountpoint for the cgroup filesystem\nis /sys/fs/cgroup.  Hence, this should be used in the documentation.\n\nSigned-off-by: Jörg Sommer \u003cjoerg@alea.gnuu.de\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06a2c45d6b4a7586eba7cd20dd656b08d8b63c2f",
      "tree": "12f52aa23274b67de0c5037a8f3f80a7d398faec",
      "parents": [
        "04c55715cbd5de526046745bca3d3b6ffa6641c6"
      ],
      "author": {
        "name": "Maxin B. John",
        "email": "maxin.john@gmail.com",
        "time": "Wed Jun 15 12:58:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:52:50 2011 -0700"
      },
      "message": "Documentation: update kmemleak supported archs\n\nInstead of listing the architectures that are supported by\nkmemleak in Documentation/kmemleak.txt, just refer people to\nthe list of supported architecutures in lib/Kconfig.debug so\nthat Documentation/kmemleak.txt does not need more updates\nfor this.\n\nSigned-off-by: Maxin B. John \u003cmaxin.john@gmail.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c55715cbd5de526046745bca3d3b6ffa6641c6",
      "tree": "fe63e426a56f951b8bb864ca850ceca61165d793",
      "parents": [
        "a1b6ae8ed01736dae19a33e74ea4e8dd88f891b5"
      ],
      "author": {
        "name": "Andrew Murray",
        "email": "amurray@mpc-data.co.uk",
        "time": "Wed Jun 15 12:57:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:52:50 2011 -0700"
      },
      "message": "Documentation: update printk-formats.txt\n\nThis patch updates the incomplete documentation concerning the printk\nextended format specifiers.\n\nSigned-off-by: Andrew Murray \u003camurray@mpc-data.co.uk\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1b6ae8ed01736dae19a33e74ea4e8dd88f891b5",
      "tree": "62019061cacdc90ba1454a8f9d227acbd7a64cde",
      "parents": [
        "21c5977a836e399fc710ff2c5367845ed5c2527f",
        "0da938c44921cfb690283d3b0c9c48a10375db2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:45:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:45:18 2011 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Check if lowest_mask is initialized in find_lowest_rq()\n  sched: Fix need_resched() when checking peempt\n"
    },
    {
      "commit": "21c5977a836e399fc710ff2c5367845ed5c2527f",
      "tree": "7258368ce3cfb107ed83d05ac4f7f8b547d47e23",
      "parents": [
        "ec8f9ceacef719a844ca269d654502af6a00a273"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Wed Jun 15 15:09:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "alpha: fix several security issues\n\nFix several security issues in Alpha-specific syscalls.  Untested, but\nmostly trivial.\n\n1. Signedness issue in osf_getdomainname allows copying out-of-bounds\nkernel memory to userland.\n\n2. Signedness issue in osf_sysinfo allows copying large amounts of\nkernel memory to userland.\n\n3. Typo (?) in osf_getsysinfo bounds minimum instead of maximum copy\nsize, allowing copying large amounts of kernel memory to userland.\n\n4. Usage of user pointer in osf_wait4 while under KERNEL_DS allows\nprivilege escalation via writing return value of sys_wait4 to kernel\nmemory.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec8f9ceacef719a844ca269d654502af6a00a273",
      "tree": "3ce35cb7a4bf1eacec35eeacc0732d1dddcd9c65",
      "parents": [
        "2b472611a32a72f4a118c069c2d62a1a3f087afd"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Jun 15 15:08:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "drivers/misc/apds990x.c: apds990x_chip_on() should depend on CONFIG_PM || CONFIG_PM_RUNTIME\n\nFixes this warning:\n\n  drivers/misc/apds990x.c: At top level:\n  drivers/misc/apds990x.c:613: warning: `apds990x_chip_on\u0027 defined but not used\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nCc: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b472611a32a72f4a118c069c2d62a1a3f087afd",
      "tree": "166ec2dea398e7760c30077fb329cf7f2ab08c2b",
      "parents": [
        "c7cbb02222eccb82bfd42696b01abceddae663f2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Jun 15 15:08:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "ksm: fix NULL pointer dereference in scan_get_next_rmap_item()\n\nAndrea Righi reported a case where an exiting task can race against\nksmd::scan_get_next_rmap_item (http://lkml.org/lkml/2011/6/1/742) easily\ntriggering a NULL pointer dereference in ksmd.\n\nksm_scan.mm_slot \u003d\u003d \u0026ksm_mm_head with only one registered mm\n\nCPU 1 (__ksm_exit)\t\tCPU 2 (scan_get_next_rmap_item)\n \t\t\t\tlist_empty() is false\nlock\t\t\t\tslot \u003d\u003d \u0026ksm_mm_head\nlist_del(slot-\u003emm_list)\n(list now empty)\nunlock\n\t\t\t\tlock\n\t\t\t\tslot \u003d list_entry(slot-\u003emm_list.next)\n\t\t\t\t(list is empty, so slot is still ksm_mm_head)\n\t\t\t\tunlock\n\t\t\t\tslot-\u003emm \u003d\u003d NULL ... Oops\n\nClose this race by revalidating that the new slot is not simply the list\nhead again.\n\nAndrea\u0027s test case:\n\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/mman.h\u003e\n\n#define BUFSIZE getpagesize()\n\nint main(int argc, char **argv)\n{\n\tvoid *ptr;\n\n\tif (posix_memalign(\u0026ptr, getpagesize(), BUFSIZE) \u003c 0) {\n\t\tperror(\"posix_memalign\");\n\t\texit(1);\n\t}\n\tif (madvise(ptr, BUFSIZE, MADV_MERGEABLE) \u003c 0) {\n\t\tperror(\"madvise\");\n\t\texit(1);\n\t}\n\t*(char *)NULL \u003d 0;\n\n\treturn 0;\n}\n\nReported-by: Andrea Righi \u003candrea@betterlinux.com\u003e\nTested-by: Andrea Righi \u003candrea@betterlinux.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.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": "c7cbb02222eccb82bfd42696b01abceddae663f2",
      "tree": "6204f5c691c762ccddaa10a3928316d7a803dc3b",
      "parents": [
        "fb139dfeef9558a12ffdbf9e26951fd1a9304f3b"
      ],
      "author": {
        "name": "Wanlong Gao",
        "email": "wanlong.gao@gmail.com",
        "time": "Wed Jun 15 15:08:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "rtc: fix build warnings in defconfigs\n\nRTC_CLASS is changed to bool, so \u0027m\u0027 is invalid.\n\nSigned-off-by: Wanlong Gao \u003cwanlong.gao@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb139dfeef9558a12ffdbf9e26951fd1a9304f3b",
      "tree": "10a6408fa9953a484e7fcc629b433a9252c0a6de",
      "parents": [
        "273ef9509b7903e50f36aaf9f1d5dc9087fca506"
      ],
      "author": {
        "name": "Alexander Stein",
        "email": "alexander.stein@systec-electronic.com",
        "time": "Wed Jun 15 15:08:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "drivers/tty/serial/pch_uart.c: don\u0027t oops if dmi_get_system_info returns NULL\n\nIf dmi_get_system_info() returns NULL, pch_uart_init_port() will\ndereferencea a zero pointer.\n\nThis oops was observed on an Atom based board which has no BIOS, but\na bootloder which doesn\u0027t provide DMI data.\n\nSigned-off-by: Alexander Stein \u003calexander.stein@systec-electronic.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\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": "273ef9509b7903e50f36aaf9f1d5dc9087fca506",
      "tree": "4d1800cadbb85647b4db5cf5cb855dc43465536c",
      "parents": [
        "31b5f8eeece4c0d70b649bfac7759cf7e3f915dd"
      ],
      "author": {
        "name": "Nils Carlson",
        "email": "nils.carlson@ericsson.com",
        "time": "Wed Jun 15 15:08:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "drivers/char/hpet.c: fix periodic-emulation for delayed interrupts\n\nWhen interrupts are delayed due to interrupt masking or due to other\ninterrupts being serviced the HPET periodic-emuation would fail.  This\nhappened because given an interval t and a time for the current interrupt\nm we would compute the next time as t + m.  This works until we are\ndelayed for \u003e t, in which case we would be writing a new value which is in\nfact in the past.\n\nThis can be solved by computing the next time instead as (k * t) + m where\nk is large enough to be in the future.  The exact computation of k is\ndescribed in a comment to the code.\n\nMore detail:\n\nAssuming an interval of 5 between each expected interrupt we have a normal\ncase of\n\nt0: interrupt, read t0 from comparator, set next interrupt t0 + 5\nt5: interrupt, read t5 from comparator, set next interrupt t5 + 5\nt10: interrupt, read t10 from comparator, set next interrupt t10 + 5\n...\n\nSo, what happens when the interrupt is serviced too late?\n\nt0: interrupt, read t0 from comparator, set next interrupt t0 + 5\nt11: delayed interrupt serviced, read t5 from comparator, set next\ninterrupt t5 + 5, which is in the past!\n... counter loops ...\nt10: Much much later, get the next interrupt.\n\nThis can happen either because we have interrupts masked for too long\n(some stupid driver goes on a printk rampage) or just because we are\npushing the limits of the interval (too small a period), or both most\nprobably.\n\nMy solution is to read the main counter as well and set the next interrupt\nto occur at the right interval, for example:\n\nt0: interrupt, read t0 from comparator, set next interrupt t0 + 5\nt11: delayed interrupt serviced, read t5 from comparator, set next\ninterrupt t15 as t10 has been missed.\nt15: back on track.\n\nSigned-off-by: Nils Carlson \u003cnils.carlson@ericsson.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31b5f8eeece4c0d70b649bfac7759cf7e3f915dd",
      "tree": "1532393a47a3289c343f26cc7b1e7ed4c218d5f1",
      "parents": [
        "f9e35b3b41f47c4e17d8132edbcab305a6aaa4b0"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Jun 15 15:08:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "Documentation/feature-removal-schedule.txt: remove ns_cgroup from feature-removal-schedule.txt\n\nCommit a77aea92010acf (\"cgroup: remove the ns_cgroup\") removed the\nns_cgroup but it forgot to remove the related doc in\nfeature-removal-schedule.txt.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Serge E.  Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9e35b3b41f47c4e17d8132edbcab305a6aaa4b0",
      "tree": "d489fff3885bb7c4df0eebd2f074a398420740e6",
      "parents": [
        "d179e84ba5da1d0024087d1759a2938817a00f3f"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Jun 15 15:08:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "mm: compaction: abort compaction if too many pages are isolated and caller is asynchronous V2\n\nAsynchronous compaction is used when promoting to huge pages.  This is all\nvery nice but if there are a number of processes in compacting memory, a\nlarge number of pages can be isolated.  An \"asynchronous\" process can\nstall for long periods of time as a result with a user reporting that\nfirefox can stall for 10s of seconds.  This patch aborts asynchronous\ncompaction if too many pages are isolated as it\u0027s better to fail a\nhugepage promotion than stall a process.\n\n[minchan.kim@gmail.com: return COMPACT_PARTIAL for abort]\nReported-and-tested-by: Ury Stankevich \u003curykhy@gmail.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d179e84ba5da1d0024087d1759a2938817a00f3f",
      "tree": "169c9cc4030a793df1bc29613eff85ee3acef9a9",
      "parents": [
        "7454f4ba40b419eb999a3c61a99da662bf1a2bb8"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Wed Jun 15 15:08:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "mm: vmscan: do not use page_count without a page pin\n\nIt is unsafe to run page_count during the physical pfn scan because\ncompound_head could trip on a dangling pointer when reading\npage-\u003efirst_page if the compound page is being freed by another CPU.\n\n[mgorman@suse.de: split out patch]\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7454f4ba40b419eb999a3c61a99da662bf1a2bb8",
      "tree": "e0c12088e544378554bc371d99f497d93470c4c4",
      "parents": [
        "a582a738c763e106f47eab24b8146c698a9c700b"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Jun 15 15:08:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "mm: compaction: ensure that the compaction free scanner does not move to the next zone\n\nCompaction works with two scanners, a migration and a free scanner.  When\nthe scanners crossover, migration within the zone is complete.  The\nlocation of the scanner is recorded on each cycle to avoid excesive\nscanning.\n\nWhen a zone is small and mostly reserved, it\u0027s very easy for the migration\nscanner to be close to the end of the zone.  Then the following situation\ncan occurs\n\n  o migration scanner isolates some pages near the end of the zone\n  o free scanner starts at the end of the zone but finds that the\n    migration scanner is already there\n  o free scanner gets reinitialised for the next cycle as\n    cc-\u003emigrate_pfn + pageblock_nr_pages\n    moving the free scanner into the next zone\n  o migration scanner moves into the next zone\n\nWhen this happens, NR_ISOLATED accounting goes haywire because some of the\naccounting happens against the wrong zone.  One zones counter remains\npositive while the other goes negative even though the overall global\ncount is accurate.  This was reported on X86-32 with !SMP because !SMP\nallows the negative counters to be visible.  The fact that it is the bug\nshould theoritically be possible there.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a582a738c763e106f47eab24b8146c698a9c700b",
      "tree": "aaa5eda6bae7adc04dc5cbd513f5c25ac684af97",
      "parents": [
        "5db8a73a8d7cc6a66afbf25ed7fda338caa8f5f9"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jun 15 15:08:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:02 2011 -0700"
      },
      "message": "compaction: checks correct fragmentation index\n\nfragmentation_index() returns -1000 when the allocation might succeed\nThis doesn\u0027t match the comment and code in compaction_suitable(). I\nthought compaction_suitable should return COMPACT_PARTIAL in -1000\ncase, because in this case allocation could succeed depending on\nwatermarks.\n\nThe impact of this is that compaction starts and compact_finished() is\ncalled which rechecks the watermarks and the free lists.  It should have\nthe same result in that compaction should not start but is more expensive.\n\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5db8a73a8d7cc6a66afbf25ed7fda338caa8f5f9",
      "tree": "ef9de80dcee654053f3725570b0e053d2812d66a",
      "parents": [
        "d2c32258798f813dc2be6cbc32f78aa5ac5cb205"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Wed Jun 15 15:08:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "mm/memory-failure.c: fix page isolated count mismatch\n\nPages isolated for migration are accounted with the vmstat counters\nNR_ISOLATE_[ANON|FILE].  Callers of migrate_pages() are expected to\nincrement these counters when pages are isolated from the LRU.  Once the\npages have been migrated, they are put back on the LRU or freed and the\nisolated count is decremented.\n\nMemory failure is not properly accounting for pages it isolates causing\nthe NR_ISOLATED counters to be negative.  On SMP builds, this goes\nunnoticed as negative counters are treated as 0 due to expected per-cpu\ndrift.  On UP builds, the counter is treated by too_many_isolated() as a\nlarge value causing processes to enter D state during page reclaim or\ncompaction.  This patch accounts for pages isolated by memory failure\ncorrectly.\n\n[mel@csn.ul.ie: rewrote changelog]\nReviewed-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\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": "d2c32258798f813dc2be6cbc32f78aa5ac5cb205",
      "tree": "e44c0d0feeaa52fe7d7b02ed343f7f5b671c372a",
      "parents": [
        "b0461a44a2f1fc052fc949ae19c3a5d684627b09"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Wed Jun 15 15:08:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "gcov: disable CONFIG_CONSTRUCTORS when not needed by CONFIG_GCOV_KERNEL\n\nCONFIG_CONSTRUCTORS controls support for running constructor functions at\nkernel init time.  According to commit b99b87f70c7785ab (\"kernel:\nconstructor support\"), gcov (CONFIG_GCOV_KERNEL) needs this.  However,\nCONFIG_CONSTRUCTORS currently defaults to y, with no option to disable it,\nand CONFIG_GCOV_KERNEL depends on it.  Instead, default it to n and have\nCONFIG_GCOV_KERNEL select it, so that the normal case of\nCONFIG_GCOV_KERNEL\u003dn will result in CONFIG_CONSTRUCTORS\u003dn.\n\nObserved in the short list of \u003dy values in a minimal kernel configuration.\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nAcked-by: Peter Oberparleiter \u003cpeter.oberparleiter@de.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": "b0461a44a2f1fc052fc949ae19c3a5d684627b09",
      "tree": "10de780417b2fe4db166559dd0078e0d0faa118b",
      "parents": [
        "fbc29a25e484be073e7d762c9f7f1d4bf8aecc48"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Wed Jun 15 15:08:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "MAINTAINERS: add entry for legacy eeprom driver\n\nI shall maintain the legacy eeprom driver, until we finally get rid of it.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fbc29a25e484be073e7d762c9f7f1d4bf8aecc48",
      "tree": "276a9e1e0c3d8f653dd821c049ec4b6940a06c1d",
      "parents": [
        "26fe616844491a41a1abc02e29f7a9d1ec2f8ddb"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "memcg: avoid percpu cached charge draining at softlimit\n\nBased on Michal Hocko\u0027s comment.\n\nWe are not draining per cpu cached charges during soft limit reclaim\nbecause background reclaim doesn\u0027t care about charges.  It tries to free\nsome memory and charges will not give any.\n\nCached charges might influence only selection of the biggest soft limit\noffender but as the call is done only after the selection has been already\ndone it makes no change.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26fe616844491a41a1abc02e29f7a9d1ec2f8ddb",
      "tree": "cd8747ad8e96d6ebda771db41b96db11a4b09f26",
      "parents": [
        "7ae534d074e01e54d5cfbc9734b73fdfc855501f"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "memcg: fix percpu cached charge draining frequency\n\nFor performance, memory cgroup caches some \"charge\" from res_counter into\nper cpu cache.  This works well but because it\u0027s cache, it needs to be\nflushed in some cases.  Typical cases are\n\n   1. when someone hit limit.\n\n   2. when rmdir() is called and need to charges to be 0.\n\nBut \"1\" has problem.\n\nRecently, with large SMP machines, we see many kworker runs because of\nflushing memcg\u0027s cache.  Bad things in implementation are that even if a\ncpu contains a cache for memcg not related to a memcg which hits limit,\ndrain code is called.\n\nThis patch does\n        A) check percpu cache contains a useful data or not.\n        B) check other asynchronous percpu draining doesn\u0027t run.\n        C) don\u0027t call local cpu callback.\n\n(*)This patch avoid changing the calling condition with hard-limit.\n\nWhen I run \"cat 1Gfile \u003e /dev/null\" under 300M limit memcg,\n\n[Before]\n13767 kamezawa  20   0 98.6m  424  416 D 10.0  0.0   0:00.61 cat\n   58 root      20   0     0    0    0 S  0.6  0.0   0:00.09 kworker/2:1\n   60 root      20   0     0    0    0 S  0.6  0.0   0:00.08 kworker/4:1\n    4 root      20   0     0    0    0 S  0.3  0.0   0:00.02 kworker/0:0\n   57 root      20   0     0    0    0 S  0.3  0.0   0:00.05 kworker/1:1\n   61 root      20   0     0    0    0 S  0.3  0.0   0:00.05 kworker/5:1\n   62 root      20   0     0    0    0 S  0.3  0.0   0:00.05 kworker/6:1\n   63 root      20   0     0    0    0 S  0.3  0.0   0:00.05 kworker/7:1\n\n[After]\n 2676 root      20   0 98.6m  416  416 D  9.3  0.0   0:00.87 cat\n 2626 kamezawa  20   0 15192 1312  920 R  0.3  0.0   0:00.28 top\n    1 root      20   0 19384 1496 1204 S  0.0  0.0   0:00.66 init\n    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd\n    3 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0\n    4 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kworker/0:0\n\n[akpm@linux-foundation.org: make percpu_charge_mutex static, tweak comments]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nTested-by: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ae534d074e01e54d5cfbc9734b73fdfc855501f",
      "tree": "8c815762779fd79cc83db788aa29e6239212c3f4",
      "parents": [
        "733eda7ac316cd4e550fa096e4ed42356dc546e7"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "memcg: fix wrong check of noswap with softlimit\n\nHierarchical reclaim doesn\u0027t swap out if memsw and resource limits are\nthye same (memsw_is_minimum \u003d\u003d true) because we would hit mem+swap limit\nanyway (during hard limit reclaim).\n\nIf it comes to the soft limit we shouldn\u0027t consider memsw_is_minimum at\nall because it doesn\u0027t make much sense.  Either the soft limit is bellow\nthe hard limit and then we cannot hit mem+swap limit or the direct reclaim\ntakes a precedence.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "733eda7ac316cd4e550fa096e4ed42356dc546e7",
      "tree": "6522f47608fb97314a7b615b1cb1d6e2c58952c8",
      "parents": [
        "37573e8c718277103f61f03741bdc5606d31b07e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "memcg: clear mm-\u003eowner when last possible owner leaves\n\nThe following crash was reported:\n\n\u003e Call Trace:\n\u003e [\u003cffffffff81139792\u003e] mem_cgroup_from_task+0x15/0x17\n\u003e [\u003cffffffff8113a75a\u003e] __mem_cgroup_try_charge+0x148/0x4b4\n\u003e [\u003cffffffff810493f3\u003e] ? need_resched+0x23/0x2d\n\u003e [\u003cffffffff814cbf43\u003e] ? preempt_schedule+0x46/0x4f\n\u003e [\u003cffffffff8113afe8\u003e] mem_cgroup_charge_common+0x9a/0xce\n\u003e [\u003cffffffff8113b6d1\u003e] mem_cgroup_newpage_charge+0x5d/0x5f\n\u003e [\u003cffffffff81134024\u003e] khugepaged+0x5da/0xfaf\n\u003e [\u003cffffffff81078ea0\u003e] ? __init_waitqueue_head+0x4b/0x4b\n\u003e [\u003cffffffff81133a4a\u003e] ? add_mm_counter.constprop.5+0x13/0x13\n\u003e [\u003cffffffff81078625\u003e] kthread+0xa8/0xb0\n\u003e [\u003cffffffff814d13e8\u003e] ? sub_preempt_count+0xa1/0xb4\n\u003e [\u003cffffffff814d5664\u003e] kernel_thread_helper+0x4/0x10\n\u003e [\u003cffffffff814ce858\u003e] ? retint_restore_args+0x13/0x13\n\u003e [\u003cffffffff8107857d\u003e] ? __init_kthread_worker+0x5a/0x5a\n\nWhat happens is that khugepaged tries to charge a huge page against an mm\nwhose last possible owner has already exited, and the memory controller\ncrashes when the stale mm-\u003eowner is used to look up the cgroup to charge.\n\nmm-\u003eowner has never been set to NULL with the last owner going away, but\nnobody cared until khugepaged came along.\n\nEven then it wasn\u0027t a problem because the final mmput() on an mm was\nforced to acquire and release mmap_sem in write-mode, preventing an\nexiting owner to go away while the mmap_sem was held, and until \"692e0b3\nmm: thp: optimize memcg charge in khugepaged\", the memory cgroup charge\nwas protected by mmap_sem in read-mode.\n\nInstead of going back to relying on the mmap_sem to enforce lifetime of a\ntask, this patch ensures that mm-\u003eowner is properly set to NULL when the\nlast possible owner is exiting, which the memory controller can handle\njust fine.\n\n[akpm@linux-foundation.org: tweak comments]\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReported-by: Hugh Dickins \u003chughd@google.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReviewed-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37573e8c718277103f61f03741bdc5606d31b07e",
      "tree": "7142211508420a8ea90b8ae01bfa5ee93ffa1a44",
      "parents": [
        "8957712710e045044e3c44375c6a87d7ffa17d51"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "memcg: fix init_page_cgroup nid with sparsemem\n\nCommit 21a3c9646873 (\"memcg: allocate memory cgroup structures in local\nnodes\") makes page_cgroup allocation as NUMA aware.  But that caused a\nproblem https://bugzilla.kernel.org/show_bug.cgi?id\u003d36192.\n\nThe problem was getting a NID from invalid struct pages, which was not\ninitialized because it was out-of-node, out of [node_start_pfn,\nnode_end_pfn)\n\nNow, with sparsemem, page_cgroup_init scans pfn from 0 to max_pfn.  But\nthis may scan a pfn which is not on any node and can access memmap which\nis not initialized.\n\nThis makes page_cgroup_init() for SPARSEMEM node aware and remove a code\nto get nid from page-\u003eflags.  (Then, we\u0027ll use valid NID always.)\n\n[akpm@linux-foundation.org: try to fix up comments]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8957712710e045044e3c44375c6a87d7ffa17d51"
}
