)]}'
{
  "log": [
    {
      "commit": "14c79bbed7e06135bcbccb2b92c19df7115b4502",
      "tree": "cf5d97f5fb988a1f5d5eea9a6cccb7f04d4ac73f",
      "parents": [
        "076f2cc449188b7d3d4866730afa3ac7be3e6640"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@ti.com",
        "time": "Thu Jun 23 17:16:14 2011 -0700"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 09:54:31 2011 +0100"
      },
      "message": "ARM: pm: omap34xx: remove get_*_restore_pointer functions, directly use entry points\n\nUpon return from off-mode, the ROM code jumps to a restore function\nsaved in the scratchpad.  Based on SoC revision or errata, this\nrestore entry point is different.  Current code uses some helper\nfunctions in sleep34xx.S (get_*_restore_pointer) to get the restore\nfunction entry point.\n\nWhen returning from off-mode, this code is executed from SDRAM, so\nthere\u0027s no reason to use these helper functions when using the SDRAM\nentry points directly would work just fine.\n\nThis patch uses ENTRY/ENDPROC to create \"real\" entry points for these\nfunctions, and uses those values directly when writing the scratchpad.\n\nTested all three entry points\n- restore_es3: 3430/n900\n- restore_3630: 3630/Zoom3\n- restore: 3530/Overo\n\nSuggested-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "076f2cc449188b7d3d4866730afa3ac7be3e6640",
      "tree": "cbedc1164f7c938982294c99a52a5fb59d16cb50",
      "parents": [
        "2637ce30e145557bf89ebcf35b2d78e729e16e5a"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jun 22 15:42:54 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:46 2011 +0100"
      },
      "message": "ARM: pm: omap34xx: convert to generic suspend/resume support\n\nConvert omap34xx to use the generic CPU suspend/resume support, rather\nthan implementing its own version.  Tested on 3430 LDP.\n\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "2637ce30e145557bf89ebcf35b2d78e729e16e5a",
      "tree": "b670a00b7d6047b7225c988d8787e358d82a9ead",
      "parents": [
        "857c1b81f8dd2e2a97d859d7e53dd955e2ab55af"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jun 22 12:54:41 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:45 2011 +0100"
      },
      "message": "ARM: pm: omap34xx: remove misleading comment and use of r9\n\nThe code alludes to r9 being used to indicate what was lost over the\nsuspend/resume transition.  However, although r9 is set, it is never\nactually used.\n\nAlso, the comments before the code (which refer to the value of r9)\nand the comments against the assignment of r9 contradict each other,\nso just remove them to avoid confusion.\n\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "857c1b81f8dd2e2a97d859d7e53dd955e2ab55af",
      "tree": "4d13af4e3c0e6abafcb1e5abd0cc9000292f7ab6",
      "parents": [
        "a9503d2185bbc28e498c435a07f24986c48b5cbe"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jun 22 12:44:32 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:45 2011 +0100"
      },
      "message": "ARM: pm: omap34xx: no need to save all registers in sleep34xx.S\n\nThe ABI allows called functions to corrupt r0-r3 and ip (r12).  So\nits pointless saving these registers in the suspend code - the\ncalling function will expect them to be corrupted and so won\u0027t rely\non their contents after resume.\n\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9503d2185bbc28e498c435a07f24986c48b5cbe",
      "tree": "86987b72ceccea710fa67085f51c6083a9fc672e",
      "parents": [
        "372c0ac8aca7655b6a8920b10bf9563402ac19d8"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 16:29:30 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:45 2011 +0100"
      },
      "message": "ARM: pm: pxa: move cpu_suspend into C code\n\nWe don\u0027t need a veneer for cpu_suspend, it can be called directly from\nC code now.  Move it into the PXA CPU suspend functions, along with\nthe accumulator register saving/restoring.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "372c0ac8aca7655b6a8920b10bf9563402ac19d8",
      "tree": "e9b0b8ea7c7a08968072ee27e5a85db4849c68bd",
      "parents": [
        "e7089da9567fa8da37e35e1f81a5e3579d0d582d"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 19:34:34 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:45 2011 +0100"
      },
      "message": "ARM: pm: samsung: no need to call flush_cache_all()\n\nThe core suspend code calls flush_cache_all() immediately prior to\ncalling the suspend finisher function, so remove these needless calls\nfrom the finisher functions.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e7089da9567fa8da37e35e1f81a5e3579d0d582d",
      "tree": "de492cf95d9b4643c52a85d2174fc22bf9a31609",
      "parents": [
        "4d01446fea61a32b6755ae1e11314ffca744dcaa"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 19:29:26 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:44 2011 +0100"
      },
      "message": "ARM: pm: samsung: move cpu_suspend into C code\n\nMove the call to cpu_suspend into C code, and noticing that all the\ns3c_cpu_save implementations are now identical, we can move this\ninto the common samsung code.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "4d01446fea61a32b6755ae1e11314ffca744dcaa",
      "tree": "0364668beef09beb2821e1b13dec6b6771f05332",
      "parents": [
        "769783a9300d47236766345cc98ce963122c2e4f"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 16:33:30 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:44 2011 +0100"
      },
      "message": "ARM: pm: mach-s3c64xx: cleanup s3c_cpu_save\n\ns3c_cpu_save does not need to save any registers with the new\ncpu_suspend calling convention.  Remove these redundant instructions.\n\nAcked-by: Frank Hofmann \u003cfrank.hofmann@tomtom.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "769783a9300d47236766345cc98ce963122c2e4f",
      "tree": "f4ceb8ed10e9e79e012f99348a45b301463ac451",
      "parents": [
        "3d32ead3f16f054fa7f4a85a34eb12c36fd76269"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 16:12:27 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:44 2011 +0100"
      },
      "message": "ARM: pm: mach-exynos4: cleanup s3c_cpu_save\n\ns3c_cpu_save does not need to save any registers with the new\ncpu_suspend calling convention.  Remove these redundant instructions.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "3d32ead3f16f054fa7f4a85a34eb12c36fd76269",
      "tree": "4a3d8f2be1a5023fbaa6221e02744453e7d81f51",
      "parents": [
        "c4ac82c07dd3e4fb5d65a52ffa94e302f80b609d"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 16:10:16 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:44 2011 +0100"
      },
      "message": "ARM: pm: mach-s5pv210: cleanup s3c_cpu_save\n\ns3c_cpu_save does not need to save any registers with the new\ncpu_suspend calling convention.  Remove these redundant instructions.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c4ac82c07dd3e4fb5d65a52ffa94e302f80b609d",
      "tree": "ca3c339e5f93f5de18f7778ebe4ac678e2fbe8ed",
      "parents": [
        "34c79de6b2ea5bc5734d970851fb966b49d55a17"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 16:03:19 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:44 2011 +0100"
      },
      "message": "ARM: pm: plat-s3c24xx: cleanup s3c_cpu_save\n\ns3c_cpu_save does not need to save any registers with the new\ncpu_suspend calling convention.  Remove these redundant instructions.\n\nTested-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "34c79de6b2ea5bc5734d970851fb966b49d55a17",
      "tree": "d0eda84c745e9147390b3af40c5cbeef98f57819",
      "parents": [
        "14cd8fd574bce1cfbe510ccb1f73c7c1024d770f"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 16:26:29 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:43 2011 +0100"
      },
      "message": "ARM: pm: sa1100: move cpu_suspend into C code\n\nWe don\u0027t need a veneer for cpu_suspend, it can be called directly from\nC code now.  Move it into sa11x0_pm_enter() along with the re-enabling\nof clock switching.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "14cd8fd574bce1cfbe510ccb1f73c7c1024d770f",
      "tree": "d50ddf743969ac54898b3cc3053c52bfa95d1690",
      "parents": [
        "e8856a8797e76e6883ae81f8f9ecbb231cc535df"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 16:32:58 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:43 2011 +0100"
      },
      "message": "ARM: pm: move cpu_init() call into core code\n\nAs we have core code dealing with CPU suspend/resume, we can\nre-initialize the CPUs exception banked registers via that code rather\nthan having platforms deal with that level of detail.  So, move the\ncall to cpu_init() out of platform code into core code.\n\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e8856a8797e76e6883ae81f8f9ecbb231cc535df",
      "tree": "f256d1100f2458e01ca2680052466b24bbabe664",
      "parents": [
        "dbc125168fd7dda4ffb24a29548746c7bd3b3d87"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 15:58:34 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:43 2011 +0100"
      },
      "message": "ARM: pm: convert cpu_suspend() to a normal function\n\ncpu_suspend() has a weird calling method which makes it only possible to\ncall from assembly code: it returns with a modified stack pointer to\nfinish the suspend, but on resume, it \u0027returns\u0027 via a provided pointer.\n\nWe can make cpu_suspend() appear to be a normal function merely by\nswapping the resume pointer argument and the link register.\n\nDo so, and update all callers to take account of this more traditional\nbehaviour.\n\nAcked-by: Frank Hofmann \u003cfrank.hofmann@tomtom.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "dbc125168fd7dda4ffb24a29548746c7bd3b3d87",
      "tree": "49dcd001850415d3b6789a52752fead4f33f013c",
      "parents": [
        "3799bbe57843d279008c9ec3406838966cad5f15"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 15:52:47 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:48:39 2011 +0100"
      },
      "message": "ARM: pm: move sa1100 to use proper suspend func arg0\n\nIn the previous commit, we introduced an official way to supply an\nargument to the suspend function.  Convert the sa1100 suspend code\nto use this method.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "3799bbe57843d279008c9ec3406838966cad5f15",
      "tree": "791781918bd18ac0747eb0b82d8eb5e2205af105",
      "parents": [
        "8111eaa6d424ab3ba8a4d7a3148d4681ae5c6ae3"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 15:28:40 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:36 2011 +0100"
      },
      "message": "ARM: pm: rejig suspend follow-on function calling convention\n\nSave the suspend function pointer onto the stack for use when returning.\nAllocate r2 to pass an argument to the suspend function.\n\nAcked-by: Frank Hofmann \u003cfrank.hofmann@tomtom.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "8111eaa6d424ab3ba8a4d7a3148d4681ae5c6ae3",
      "tree": "e4705fabb35d28447b6263a216f4992632999a63",
      "parents": [
        "5fa94c812c0001ac7c3d8868e956ec514734a352"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 15:25:11 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:32 2011 +0100"
      },
      "message": "ARM: pm: reallocate registers to avoid r2, r3\n\nAvoid using r2 and r3 in the suspend code, allowing these to be\npassed further into the function as arguments.\n\nAcked-by: Frank Hofmann \u003cfrank.hofmann@tomtom.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "5fa94c812c0001ac7c3d8868e956ec514734a352",
      "tree": "ec1196e56475336c419335251dc483aba5de5d91",
      "parents": [
        "3fd431bd0cbc75a506b90b42619de3b04fe813a7"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 15:04:14 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:29 2011 +0100"
      },
      "message": "ARM: pm: preserve r4 - r11 across a suspend\n\nMake cpu_suspend()..return function preserve r4 to r11 across a suspend\ncycle.  This is in preparation of relieving platform support code from\nthis task.\n\nAcked-by: Frank Hofmann \u003cfrank.hofmann@tomtom.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "3fd431bd0cbc75a506b90b42619de3b04fe813a7",
      "tree": "877d30136546ffb96d8114f7cfc109d7b8155998",
      "parents": [
        "2fefbcd58590cf33189c6178098e12b31b994b5f"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 13:53:06 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:26 2011 +0100"
      },
      "message": "ARM: pm: extract common code from MULTI_CPU/!MULTI_CPU paths\n\nVery little code is different between these two paths now, so extract\nthe common code.\n\nAcked-by: Frank Hofmann \u003cfrank.hofmann@tomtom.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "2fefbcd58590cf33189c6178098e12b31b994b5f",
      "tree": "3e93f33e0f9909cac3c595c528dd485479526ca0",
      "parents": [
        "6b5f6ab0e1c33beaed828271f13c03ed02ee3c15"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 13:45:34 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:23 2011 +0100"
      },
      "message": "ARM: pm: move return address (for cpu_resume) to top of stack\n\nMove the return address for cpu_resume to the top of stack so that\ncpu_resume looks more like a normal function.\n\nAcked-by: Frank Hofmann \u003cfrank.hofmann@tomtom.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b5f6ab0e1c33beaed828271f13c03ed02ee3c15",
      "tree": "d945a765d69fb9f60f6f359735aab9883998f7a9",
      "parents": [
        "3125af241cdb5a2421aad9f710b2744228a79084"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 13 13:39:44 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:20 2011 +0100"
      },
      "message": "ARM: pm: make MULTI_CPU and !MULTI_CPU resume paths the same\n\nEliminate the differences between MULTI_CPU and non-MULTI_CPU resume\npaths, making the saved structure identical irrespective of the way\nthe kernel was configured.\n\nAcked-by: Frank Hofmann \u003cfrank.hofmann@tomtom.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "3125af241cdb5a2421aad9f710b2744228a79084",
      "tree": "8b8226b303761399ab0de73d1ad384b3175995e5",
      "parents": [
        "b69874e4f530b0103e507f695c010d00cb85a4df"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 18:59:33 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:15 2011 +0100"
      },
      "message": "ARM: pm: sa1100: no need to re-enable clock switching\n\nThis is now taken care of by calling cpu_proc_init() in the resume\npath, so eliminate this unnecessary call.\n\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "b69874e4f530b0103e507f695c010d00cb85a4df",
      "tree": "fbb34a24796eab26046ea54138ef14a244d920bc",
      "parents": [
        "111b20d01346b9635b3223c7af4e40e43bee8dc6"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 18:57:31 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:12 2011 +0100"
      },
      "message": "ARM: pm: arrange for cpu_proc_init() to be called on resume\n\ncpu_proc_init() does processor specific initialization, which we do\nat boot time.  We have been omitting to do this on resume, which\ncauses some of this initialization to be skipped.  We\u0027ve also been\nskipping this on SMP initialization too.\n\nEnsure that cpu_proc_init() is always called appropriately by\nmoving it into cpu_init(), and move cpu_init() to a more appropriate\npoint in the boot initialization.\n\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "111b20d01346b9635b3223c7af4e40e43bee8dc6",
      "tree": "8ea01194b8aea0faf565f786a99ca9432670a594",
      "parents": [
        "7a0ee92b4a510bc2dd026333f90031e883e0cde0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jun 22 15:41:58 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:09 2011 +0100"
      },
      "message": "ARM: pm: ensure ARMv7 CPUs save and restore the TLS register\n\nEnsure that the TLS register is saved and restored over a suspend\ncycle, so that userspace programs don\u0027t see a corrupted TLS value.\n\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "7a0ee92b4a510bc2dd026333f90031e883e0cde0",
      "tree": "c0d0f3437e5452fb863f2998ef8ae118359be854",
      "parents": [
        "082763a80ad11adbe8418fff1cfe466343035b7a"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jun 23 22:00:20 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 24 08:47:01 2011 +0100"
      },
      "message": "ARM: pm: proc-v7: fix missing struct processor pointers for suspend code\n\nAdd the missing suspend/resume pointers for the suspend code.  This\nis needed when building for multiple CPUs.\n\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nAcked-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "082763a80ad11adbe8418fff1cfe466343035b7a",
      "tree": "e3be1e73cf6fdbde037e6c3f1907013a0cea0adc",
      "parents": [
        "946a105e16651c35e9cc670bff23812761f1ad35"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Mon Jun 20 08:13:00 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 11:33:21 2011 +0100"
      },
      "message": "ARM: 6969/1: plat-iop: fix build error\n\nThe iop13xx_defconfig didn\u0027t build since the platform code uses\ndefines from \u003casm/ptrace.h\u003e. Simply add the include so it\ncompiles.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "946a105e16651c35e9cc670bff23812761f1ad35",
      "tree": "cc5c434db14553737808d7b86bb2d6938b06ca53",
      "parents": [
        "573619d165b85152eeddd3b3871002c48cd94e42"
      ],
      "author": {
        "name": "Dave Martin",
        "email": "dave.martin@linaro.org",
        "time": "Tue Jun 14 14:20:44 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 11:33:20 2011 +0100"
      },
      "message": "ARM: 6961/1: zImage: Add build-time check for correctly-sized proc_type entries\n\nIt is easy to mis-maintain the proc_types table such that the\nentries become wrongly-sized and misaligned when the kernel is\nbuilt in Thumb-2.\n\nThis patch adds an assembly-time check which will turn most common\nsize/alignment mistakes in this table into build failures, to avoid\nhaving to debug the boot-time kernel hang which would happen if the\nresulting kernel were actually booted.\n\nSigned-off-by: Dave Martin \u003cdave.martin@linaro.org\u003e\nAcked-by: Nicolas Pitre \u003cnicolas.pitre@linaro.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "573619d165b85152eeddd3b3871002c48cd94e42",
      "tree": "ee74480fe8ae9d09ace5cb1dd97bf1ea525249bc",
      "parents": [
        "9a00318eadbb43db4e9c163c262a22a3c8b5a672"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jun 20 16:46:01 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jun 21 11:09:05 2011 +0100"
      },
      "message": "ARM: SMP: wait for CPU to be marked active\n\nWhen we bring a CPU online, we should wait for it to become active\nbefore entering the idle thread, so we know that the scheduler and\nthread migration is going to work.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "9a00318eadbb43db4e9c163c262a22a3c8b5a672",
      "tree": "139ebd71664b5d039b7e5eda7700eaaa7a9f63e1",
      "parents": [
        "343fda59823ca20f48578f816ec12e741214f509"
      ],
      "author": {
        "name": "Dave Martin",
        "email": "dave.martin@linaro.org",
        "time": "Thu Jun 16 12:09:37 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 17 11:25:04 2011 +0100"
      },
      "message": "ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols\n\nThe \"Thumb bit\" of a symbol is only really meaningful for function\nsymbols (STT_FUNC).\n\nHowever, sometimes a branch is relocated against a non-function\nsymbol; for example, PC-relative branches to anonymous assembler\nlocal symbols are typically fixed up against the start-of-section\nsymbol, which is not a function symbol.  Some inline assembler\ngenerates references of this type, such as fixup code generated by\nmacros in \u003casm/uaccess.h\u003e.\n\nThe existing relocation code for R_ARM_THM_CALL/R_ARM_THM_JUMP24\ninterprets this case as an error, because the target symbol appears\nto be an ARM symbol; but this is really not the case, since the\ntarget symbol is just a base in these cases.  The addend defines\nthe precise offset to the target location, but since the addend is\nencoded in a non-interworking Thumb branch instruction, there is no\nexplicit Thumb bit in the addend.  Because these instructions never\ninterwork, the implied Thumb bit in the addend is 1, and the\ndestination is Thumb by definition.\n\nThis patch removes the extraneous Thumb bit check for non-function\nsymbols, enabling modules containing the affected relocation types\nto be loaded.  No modification to the actual relocation code is\nrequired, since this code does not take bit[0] of the\nlocation-\u003edestination offset into account in any case.\n\nFunction symbols are always checked for interworking conflicts, as\nbefore.\n\nSigned-off-by: Dave Martin \u003cdave.martin@linaro.org\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "343fda59823ca20f48578f816ec12e741214f509",
      "tree": "9cf1b578f58a719a4b087f7fd2fc383f3e25d4bc",
      "parents": [
        "2bc58a6fd76f89052c7f151d78fb2d8b804aacfe"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Jun 16 08:26:06 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 17 11:25:03 2011 +0100"
      },
      "message": "ARM: 6962/1: mach-h720x: fix build error\n\nThe h7201/h7202 machines did not build since they define\nARM_DMA_ZONE_OFFSET but do not select ZONE_DMA. Fix it up by\nselecting ZONE_DMA in their Kconfig.\n\nCc: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "2bc58a6fd76f89052c7f151d78fb2d8b804aacfe",
      "tree": "4492a9b31ee291c8258bce496e051c096bea066f",
      "parents": [
        "eb96c925152fc289311e5d7e956b919e9b60ab53"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Mon Jun 13 06:46:44 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jun 17 11:25:03 2011 +0100"
      },
      "message": "ARM: 6959/1: SMP build fix for entry-macro-multi.S\n\nThe assembly code in entry-macro-multi.S does not build without\nthe include asm/assembler.h in the case of CONFIG_SMP\u003dy.\n\nFixes the rather theoretical SMP build of mach-shmobile/entry-intc.c:\n\narch/arm/include/asm/entry-macro-multi.S: Assembler messages:\narch/arm/include/asm/entry-macro-multi.S:20: Error: bad instruction `alt_smp(test_for_ipi r0,r6,r5,lr)\u0027\narch/arm/include/asm/entry-macro-multi.S:20: Error: bad instruction `alt_up_b(9997f)\u0027\nmake[1]: *** [arch/arm/mach-shmobile/entry-intc.o] Error 1\nmake: *** [arch/arm/mach-shmobile] Error 2\nmake: *** Waiting for unfinished jobs....\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\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": "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": "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": "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"
    },
    {
      "commit": "8957712710e045044e3c44375c6a87d7ffa17d51",
      "tree": "94d801709cb1a57d12695ba9b2f8da42996e178e",
      "parents": [
        "45d16f09ddd66597e561876f5652c05bf986360a"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "mm: memory.numa_stat: fix file permission\n\nCommit 406eb0c9ba76 (\"memcg: add memory.numastat api for numa\nstatistics\") adds memory.numa_stat file for memory cgroup.  But the file\npermissions are wrong.\n\n  [kamezawa@bluextal linux-2.6]$ ls -l /cgroup/memory/A/memory.numa_stat\n  ---------- 1 root root 0 Jun  9 18:36 /cgroup/memory/A/memory.numa_stat\n\nThis patch fixes the permission as\n\n  [root@bluextal kamezawa]# ls -l /cgroup/memory/A/memory.numa_stat\n  -r--r--r-- 1 root root 0 Jun 10 16:49 /cgroup/memory/A/memory.numa_stat\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-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": "45d16f09ddd66597e561876f5652c05bf986360a",
      "tree": "de154056ae071e11c4e4a4cddb1142461039bae9",
      "parents": [
        "b0320c7b7d1ac1bd5c2d9dff3258524ab39bad32"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@canonical.com",
        "time": "Wed Jun 15 15:08:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "leds: fix the incorrect display in menuconfig\n\nSeems when a config option does not have a dependency of the menuconfig,\nit messes the display of the rest configs, even if it\u0027s a hidden one.\n\nSigned-off-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0320c7b7d1ac1bd5c2d9dff3258524ab39bad32",
      "tree": "bdac09caec787a28b1b31fea3c2911808e9cb6d1",
      "parents": [
        "959ecc48fc7506b9d7825ea70e40d92d9b308033"
      ],
      "author": {
        "name": "Rafael Aquini",
        "email": "aquini@linux.com",
        "time": "Wed Jun 15 15:08:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "mm: fix negative commitlimit when gigantic hugepages are allocated\n\nWhen 1GB hugepages are allocated on a system, free(1) reports less\navailable memory than what really is installed in the box.  Also, if the\ntotal size of hugepages allocated on a system is over half of the total\nmemory size, CommitLimit becomes a negative number.\n\nThe problem is that gigantic hugepages (order \u003e MAX_ORDER) can only be\nallocated at boot with bootmem, thus its frames are not accounted to\n\u0027totalram_pages\u0027.  However, they are accounted to hugetlb_total_pages()\n\nWhat happens to turn CommitLimit into a negative number is this\ncalculation, in fs/proc/meminfo.c:\n\n        allowed \u003d ((totalram_pages - hugetlb_total_pages())\n                * sysctl_overcommit_ratio / 100) + total_swap_pages;\n\nA similar calculation occurs in __vm_enough_memory() in mm/mmap.c.\n\nAlso, every vm statistic which depends on \u0027totalram_pages\u0027 will render\nconfusing values, as if system were \u0027missing\u0027 some part of its memory.\n\nImpact of this bug:\n\nWhen gigantic hugepages are allocated and sysctl_overcommit_memory \u003d\u003d\nOVERCOMMIT_NEVER.  In a such situation, __vm_enough_memory() goes through\nthe mentioned \u0027allowed\u0027 calculation and might end up mistakenly returning\n-ENOMEM, thus forcing the system to start reclaiming pages earlier than it\nwould be ususal, and this could cause detrimental impact to overall\nsystem\u0027s performance, depending on the workload.\n\nBesides the aforementioned scenario, I can only think of this causing\nannoyances with memory reports from /proc/meminfo and free(1).\n\n[akpm@linux-foundation.org: standardize comment layout]\nReported-by: Russ Anderson \u003crja@sgi.com\u003e\nSigned-off-by: Rafael Aquini \u003caquini@linux.com\u003e\nAcked-by: Russ Anderson \u003crja@sgi.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "959ecc48fc7506b9d7825ea70e40d92d9b308033",
      "tree": "31dc427bf7153c8bf47d72413386c4eb632a602d",
      "parents": [
        "de695e159e3fd679594eb45449d2638d54434c32"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "mm/memory_hotplug.c: fix building of node hotplug zonelist\n\nDuring memory hotplug we refresh zonelists when we online a page in a new\nzone.  It means that the node\u0027s zonelist is not initialized until pages\nare onlined.  So for example, \"nid\" passed by MEM_GOING_ONLINE notifier\nwill point to NODE_DATA(nid) which has no zone fallback list.  Moreover,\nif we hot-add cpu-only nodes, alloc_pages() will do no fallback.\n\nThis patch makes a zonelist when a new pgdata is available.\n\nNote: in production, at fujitsu, memory should be onlined before cpu\n      and our server didn\u0027t have any memory-less nodes and had no problems.\n\n      But recent changes in MEM_GOING_ONLINE+page_cgroup\n      will access not initialized zonelist of node.\n      Anyway, there are memory-less node and we need some care.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de695e159e3fd679594eb45449d2638d54434c32",
      "tree": "19b5e359bcfd74e3e966954361ab3b515000fe4e",
      "parents": [
        "26575f9544530127757297d4de8fb2f2c75f1f69"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Jun 15 15:08:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "init/calibrate.c: remove annoying printk\n\nRemove calibrate_delay_direct()\u0027s KERN_DEBUG printk related to bogomips\ncalculation as it appears when booting every core on setups with\n\u0027ignore_loglevel\u0027 which dmesg people scan for possible issues.  As the\nmessage doesn\u0027t show very useful information to the widest audience of\nkernel boot message gazers, it should be removed.\n\nIntroduced by commit d2b463135f84 (\"init/calibrate.c: fix for critical\nbogoMIPS intermittent calculation failure\").\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nCc: Andrew Worsley \u003camworsley@gmail.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26575f9544530127757297d4de8fb2f2c75f1f69",
      "tree": "c227c2a5683840828baae1af2b300763dbf716fe",
      "parents": [
        "49b24d6b41c576ba43153fc94695f871cce139a5"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Jun 15 15:08:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:00 2011 -0700"
      },
      "message": "w1: W1_MASTER_DS1WM should depend on GENERIC_HARDIRQS\n\nOn m68k (which doesn\u0027t support generic hardirqs yet):\n\n  drivers/w1/masters/ds1wm.c: In function `ds1wm_probe\u0027:\n  drivers/w1/masters/ds1wm.c: error: implicit declaration of function `irq_set_irq_type\u0027\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nCc: Jean-Franois Dagenais \u003cdagenaisj@sonatest.com\u003e\nCc: Matt Reimer \u003cmreimer@vpop.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "49b24d6b41c576ba43153fc94695f871cce139a5"
}
