)]}'
{
  "log": [
    {
      "commit": "519b3b742d7d29c3386f0f35f3cee5dd362dd8e2",
      "tree": "1be195c58ea6e209ddd1c1325e3c9d9565972f21",
      "parents": [
        "18f5600ba2629feca202a7d6387b9c32371af329",
        "ec145babe754f9ea1079034a108104b6001e001c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 21 14:25:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 21 14:25:46 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fix from Ingo Molnar:\n \"One more timekeeping fix for v3.6\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time: Fix timeekeping_get_ns overflow on 32bit systems\n"
    },
    {
      "commit": "c5c473e29c641380aef4a9d1f9c39de49219980f",
      "tree": "7cc1d52fa7757ecd0903fc6e86bb22188d2a8bbd",
      "parents": [
        "925a6f0bf8bd122d5d2429af7f0ca0fecf4ae71f",
        "6889125b8b4e09c5e53e6ecab3433bed1ce198c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:00:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:00:07 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue / powernow-k8 fix from Tejun Heo:\n \"This is the fix for the bug where cpufreq/powernow-k8 was tripping\n  BUG_ON() in try_to_wake_up_local() by migrating workqueue worker to a\n  different CPU.\n\n    https://bugzilla.kernel.org/show_bug.cgi?id\u003d47301\n\n  As discussed, the fix is now two parts - one to reimplement\n  work_on_cpu() so that it doesn\u0027t create a new kthread each time and\n  the actual fix which makes powernow-k8 use work_on_cpu() instead of\n  performing manual migration.\n\n  While pretty late in the merge cycle, both changes are on the safer\n  side.  Jiri and I verified two existing users of work_on_cpu() and\n  Duncan confirmed that the powernow-k8 fix survived about 18 hours of\n  testing.\"\n\n* \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  cpufreq/powernow-k8: workqueue user shouldn\u0027t migrate the kworker to another CPU\n  workqueue: reimplement work_on_cpu() using system_wq\n"
    },
    {
      "commit": "ed48ece27cd3d5ee0354c32bbaec0f3e1d4715c3",
      "tree": "9ead3fba10ccd3118e6c4f38ed61cbf2bb2cbb3f",
      "parents": [
        "960bd11bf2daf669d0d910428fd9ef5a15c3d7cb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 18 12:48:43 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 19 10:13:12 2012 -0700"
      },
      "message": "workqueue: reimplement work_on_cpu() using system_wq\n\nThe existing work_on_cpu() implementation is hugely inefficient.  It\ncreates a new kthread, execute that single function and then let the\nkthread die on each invocation.\n\nNow that system_wq can handle concurrent executions, there\u0027s no\nadvantage of doing this.  Reimplement work_on_cpu() using system_wq\nwhich makes it simpler and way more efficient.\n\nstable: While this isn\u0027t a fix in itself, it\u0027s needed to fix a\n        workqueue related bug in cpufreq/powernow-k8.  AFAICS, this\n        shouldn\u0027t break other existing users.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "4651afbbae968772efd6dc4ba461cba9b49bb9d8",
      "tree": "486bfb263e8b7ad09c29db16f3d2925fc6c03555",
      "parents": [
        "08077ca849ced0306ce842ed597b0d80434a8bf0",
        "960bd11bf2daf669d0d910428fd9ef5a15c3d7cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 16:05:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 16:05:23 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull another workqueue fix from Tejun Heo:\n \"Unfortunately, yet another late fix.  This too is discovered and fixed\n  by Lai.  This bug was introduced during this merge window by commit\n  25511a477657 (\"workqueue: reimplement CPU online rebinding to handle\n  idle workers\") which started using WORKER_REBIND flag for idle rebind\n  too.\n\n  The bug is relatively easy to trigger if the CPU rapidly goes through\n  off, on and then off (and stay off).  The fix is on the safer side.\n  This hasn\u0027t been on linux-next yet but I\u0027m pushing early so that it\n  can get more exposure before v3.6 release.\"\n\n* \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: always clear WORKER_REBIND in busy_worker_rebind_fn()\n"
    },
    {
      "commit": "960bd11bf2daf669d0d910428fd9ef5a15c3d7cb",
      "tree": "f2649d121f402be4a19a0432a1987615a2e45c09",
      "parents": [
        "ee378aa49b594da9bda6a2c768cc5b2ad585f911"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Sep 17 15:42:31 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 17 15:42:31 2012 -0700"
      },
      "message": "workqueue: always clear WORKER_REBIND in busy_worker_rebind_fn()\n\nbusy_worker_rebind_fn() didn\u0027t clear WORKER_REBIND if rebinding failed\n(CPU is down again).  This used to be okay because the flag wasn\u0027t\nused for anything else.\n\nHowever, after 25511a477 \"workqueue: reimplement CPU online rebinding\nto handle idle workers\", WORKER_REBIND is also used to command idle\nworkers to rebind.  If not cleared, the worker may confuse the next\nCPU_UP cycle by having REBIND spuriously set or oops / get stuck by\nprematurely calling idle_worker_rebind().\n\n  WARNING: at /work/os/wq/kernel/workqueue.c:1323 worker_thread+0x4cd/0x5\n 00()\n  Hardware name: Bochs\n  Modules linked in: test_wq(O-)\n  Pid: 33, comm: kworker/1:1 Tainted: G           O 3.6.0-rc1-work+ #3\n  Call Trace:\n   [\u003cffffffff8109039f\u003e] warn_slowpath_common+0x7f/0xc0\n   [\u003cffffffff810903fa\u003e] warn_slowpath_null+0x1a/0x20\n   [\u003cffffffff810b3f1d\u003e] worker_thread+0x4cd/0x500\n   [\u003cffffffff810bc16e\u003e] kthread+0xbe/0xd0\n   [\u003cffffffff81bd2664\u003e] kernel_thread_helper+0x4/0x10\n  ---[ end trace e977cf20f4661968 ]---\n  BUG: unable to handle kernel NULL pointer dereference at           (null)\n  IP: [\u003cffffffff810b3db0\u003e] worker_thread+0x360/0x500\n  PGD 0\n  Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n  Modules linked in: test_wq(O-)\n  CPU 0\n  Pid: 33, comm: kworker/1:1 Tainted: G        W  O 3.6.0-rc1-work+ #3 Bochs Bochs\n  RIP: 0010:[\u003cffffffff810b3db0\u003e]  [\u003cffffffff810b3db0\u003e] worker_thread+0x360/0x500\n  RSP: 0018:ffff88001e1c9de0  EFLAGS: 00010086\n  RAX: 0000000000000000 RBX: ffff88001e633e00 RCX: 0000000000004140\n  RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000009\n  RBP: ffff88001e1c9ea0 R08: 0000000000000000 R09: 0000000000000001\n  R10: 0000000000000002 R11: 0000000000000000 R12: ffff88001fc8d580\n  R13: ffff88001fc8d590 R14: ffff88001e633e20 R15: ffff88001e1c6900\n  FS:  0000000000000000(0000) GS:ffff88001fc00000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n  CR2: 0000000000000000 CR3: 00000000130e8000 CR4: 00000000000006f0\n  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n  Process kworker/1:1 (pid: 33, threadinfo ffff88001e1c8000, task ffff88001e1c6900)\n  Stack:\n   ffff880000000000 ffff88001e1c9e40 0000000000000001 ffff88001e1c8010\n   ffff88001e519c78 ffff88001e1c9e58 ffff88001e1c6900 ffff88001e1c6900\n   ffff88001e1c6900 ffff88001e1c6900 ffff88001fc8d340 ffff88001fc8d340\n  Call Trace:\n   [\u003cffffffff810bc16e\u003e] kthread+0xbe/0xd0\n   [\u003cffffffff81bd2664\u003e] kernel_thread_helper+0x4/0x10\n  Code: b1 00 f6 43 48 02 0f 85 91 01 00 00 48 8b 43 38 48 89 df 48 8b 00 48 89 45 90 e8 ac f0 ff ff 3c 01 0f 85 60 01 00 00 48 8b 53 50 \u003c8b\u003e 02 83 e8 01 85 c0 89 02 0f 84 3b 01 00 00 48 8b 43 38 48 8b\n  RIP  [\u003cffffffff810b3db0\u003e] worker_thread+0x360/0x500\n   RSP \u003cffff88001e1c9de0\u003e\n  CR2: 0000000000000000\n\nThere was no reason to keep WORKER_REBIND on failure in the first\nplace - WORKER_UNBOUND is guaranteed to be set in such cases\npreventing incorrectly activating concurrency management.  Always\nclear WORKER_REBIND.\n\ntj: Updated comment and description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "579035dc5ddd6d48fd8529e7358b03d911ab9d8a",
      "tree": "bd54e0a33715547454b241124258c0c3c0d2be5e",
      "parents": [
        "35c448a8a3471b95ebc0ebcf91eb1183401b4274"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon Sep 17 14:09:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "pid-namespace: limit value of ns_last_pid to (0, max_pid)\n\nThe kernel doesn\u0027t check the pid for negative values, so if you try to\nwrite -2 to /proc/sys/kernel/ns_last_pid, you will get a kernel panic.\n\nThe crash happens because the next pid is -1, and alloc_pidmap() will\ntry to access to a nonexistent pidmap.\n\n  map \u003d \u0026pid_ns-\u003epidmap[pid/BITS_PER_PAGE];\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37407ea7f93864c2cfc03edf8f37872ec539ea2b",
      "tree": "7c07e7adadd40fc94cebfe816f1c65a4a630b147",
      "parents": [
        "3f0c3c8fe30c725c1264fb6db8cc4b69db3a658a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:29:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:29:43 2012 -0700"
      },
      "message": "Revert \"sched: Improve scalability via \u0027CPU buddies\u0027, which withstand random perturbations\"\n\nThis reverts commit 970e178985cadbca660feb02f4d2ee3a09f7fdda.\n\nNikolay Ulyanitsky reported thatthe 3.6-rc5 kernel has a 15-20%\nperformance drop on PostgreSQL 9.2 on his machine (running \"pgbench\").\n\nBorislav Petkov was able to reproduce this, and bisected it to this\ncommit 970e178985ca (\"sched: Improve scalability via \u0027CPU buddies\u0027 ...\")\napparently because the new single-idle-buddy model simply doesn\u0027t find\nidle CPU\u0027s to reschedule on aggressively enough.\n\nMike Galbraith suspects that it is likely due to the user-mode spinlocks\nin PostgreSQL not reacting well to preemption, but we don\u0027t really know\nthe details - I\u0027ll just revert the commit for now.\n\nThere are hopefully other approaches to improve scheduler scalability\nwithout it causing these kinds of downsides.\n\nReported-by: Nikolay Ulyanitsky \u003clystor@gmail.com\u003e\nBisected-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "889cb3b9a4da012f8f8a336b050d7871d1f7383f",
      "tree": "e6d9a04aa86840e5367f69b6227b7e195f9bd132",
      "parents": [
        "7ef6e97380a1cb0f38cab795fe696f43c71d3ae9",
        "9450d57eab5cad36774c297da123062744472588"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 14 17:44:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 14 17:44:52 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar:\n \"Smaller fixlets\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix kernel-doc warnings in kernel/sched/fair.c\n  sched: Unthrottle rt runqueues in __disable_runtime()\n  sched: Add missing call to calc_load_exit_idle()\n  sched: Fix load avg vs cpu-hotplug\n"
    },
    {
      "commit": "7ef6e97380a1cb0f38cab795fe696f43c71d3ae9",
      "tree": "0557d01616fb4a41bfc98e6908ace912fa6d717c",
      "parents": [
        "7076cca9a700af5ccb0bd5eb7261dcfd7356dc5a",
        "e4390fa632d7c592e68e8106b7daea923ac995f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 14 17:43:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 14 17:43:45 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"This tree includes various fixes\"\n\nIngo really needs to improve on the whole \"explain git pull\" part.\n\"Various fixes\" indeed.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/hwpb: Invoke __perf_event_disable() if interrupts are already disabled\n  perf/x86: Enable Intel Cedarview Atom suppport\n  perf_event: Switch to internal refcount, fix race with close()\n  oprofile, s390: Fix uninitialized memory access when writing to oprofilefs\n  perf/x86: Fix microcode revision check for SNB-PEBS\n"
    },
    {
      "commit": "ec145babe754f9ea1079034a108104b6001e001c",
      "tree": "2b65fdc6916989cacdc2bbcc94a48ef847eae099",
      "parents": [
        "0bd1189e239c76eb3a50e458548fbe7e4a5dfff1"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 19:26:03 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 13 17:39:14 2012 +0200"
      },
      "message": "time: Fix timeekeping_get_ns overflow on 32bit systems\n\nDaniel Lezcano reported seeing multi-second stalls from\nkeyboard input on his T61 laptop when NOHZ and CPU_IDLE\nwere enabled on a 32bit kernel.\n\nHe bisected the problem down to commit\n1e75fa8be9fb6 (\"time: Condense timekeeper.xtime into xtime_sec\").\n\nAfter reproducing this issue, I narrowed the problem down\nto the fact that timekeeping_get_ns() returns a 64bit\nnsec value that hasn\u0027t been accumulated. In some cases\nthis value was being then stored in timespec.tv_nsec\n(which is a long).\n\nOn 32bit systems, with idle times larger then 4 seconds\n(or less, depending on the value of xtime_nsec), the\nreturned nsec value would overflow 32bits. This limited\nkept time from increasing, causing timers to not expire.\n\nThe fix is to make sure we don\u0027t directly store the\nresult of timekeeping_get_ns() into a tv_nsec field,\ninstead using a 64bit nsec value which can then be\nadded into the timespec via timespec_add_ns().\n\nReported-and-bisected-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nTested-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1347405963-35715-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0bd1189e239c76eb3a50e458548fbe7e4a5dfff1",
      "tree": "8c46cfcd8ab9d94bbcfaaf5969a79b6b11914042",
      "parents": [
        "274a2f5ddb3e8bf67e561574e6529a65a4039240",
        "ee378aa49b594da9bda6a2c768cc5b2ad585f911"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 12 07:16:54 2012 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 12 07:16:54 2012 +0800"
      },
      "message": "Merge branch \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue fixes from Tejun Heo:\n \"It\u0027s later than I\u0027d like but well the timing just didn\u0027t work out this\n  time.\n\n  There are three bug fixes.  One from before 3.6-rc1 and two from the\n  new CPU hotplug code.  Kudos to Lai for discovering all of them and\n  providing fixes.\n\n   * Atomicity bug when clearing a flag and setting another.  The two\n     operation should have been atomic but wasn\u0027t.  This bug has existed\n     for a long time but is unlikely to have actually happened.  Fix is\n     safe.  Marked for -stable.\n\n   * If CPU hotplug cycles happen back-to-back before workers finish the\n     previous cycle, the states could get out of sync and it could get\n     stuck.  Fixed by waiting for workers to complete before finishing\n     hotplug cycle.\n\n   * While CPU hotplug is in progress, idle workers could be depleted\n     which can then lead to deadlock.  I think both happening together\n     is highly unlikely but still better to fix it and the fix isn\u0027t too\n     scary.\n\n  There\u0027s another workqueue related regression which reported a few days\n  ago:\n\n    https://bugzilla.kernel.org/show_bug.cgi?id\u003d47301\n\n  It\u0027s a bit of head scratcher but there is a semi-reliable reproduce\n  case, so I\u0027m hoping to resolve it soonish.\"\n\n* \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix possible idle worker depletion across CPU hotplug\n  workqueue: restore POOL_MANAGING_WORKERS\n  workqueue: fix possible deadlock in idle worker rebinding\n  workqueue: move WORKER_REBIND clearing in rebind_workers() to the end of the function\n  workqueue: UNBOUND -\u003e REBIND morphing in rebind_workers() should be atomic\n"
    },
    {
      "commit": "ee378aa49b594da9bda6a2c768cc5b2ad585f911",
      "tree": "33d73f93b93388e92fce1d4f4a5b3ae4100060ba",
      "parents": [
        "552a37e9360a293cd20e7f8ff1fb326a244c5f1e"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Sep 10 10:03:44 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 10 10:05:54 2012 -0700"
      },
      "message": "workqueue: fix possible idle worker depletion across CPU hotplug\n\nTo simplify both normal and CPU hotplug paths, worker management is\nprevented while CPU hoplug is in progress.  This is achieved by CPU\nhotplug holding the same exclusion mechanism used by workers to ensure\nthere\u0027s only one manager per pool.\n\nIf someone else seems to be performing the manager role, workers\nproceed to execute work items.  CPU hotplug using the same mechanism\ncan lead to idle worker depletion because all workers could proceed to\nexecute work items while CPU hotplug is in progress and CPU hotplug\nitself wouldn\u0027t actually perform the worker management duty - it\ndoesn\u0027t guarantee that there\u0027s an idle worker left when it releases\nmanagement.\n\nThis idle worker depletion, under extreme circumstances, can break\nforward-progress guarantee and thus lead to deadlock.\n\nThis patch fixes the bug by using separate mechanisms for manager\nexclusion among workers and hotplug exclusion.  For manager exclusion,\nPOOL_MANAGING_WORKERS which was restored by the previous patch is\nused.  pool-\u003emanager_mutex is now only used for exclusion between the\nelected manager and CPU hotplug.  The elected manager won\u0027t proceed\nwithout holding pool-\u003emanager_mutex.\n\nThis ensures that the worker which won the manager position can\u0027t skip\nmanaging while CPU hotplug is in progress.  It will block on\nmanager_mutex and perform management after CPU hotplug is complete.\n\nNote that hotplug may happen while waiting for manager_mutex.  A\nmanager isn\u0027t either on idle or busy list and thus the hoplug code\ncan\u0027t unbind/rebind it.  Make the manager handle its own un/rebinding.\n\ntj: Updated comment and description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "552a37e9360a293cd20e7f8ff1fb326a244c5f1e",
      "tree": "00d89d5778d4ab8320f6bf24d81e33a290f9fcb1",
      "parents": [
        "ec58815ab0409a921a7c9744eb4ca44866b14d71"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Sep 10 10:03:33 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 10 10:04:54 2012 -0700"
      },
      "message": "workqueue: restore POOL_MANAGING_WORKERS\n\nThis patch restores POOL_MANAGING_WORKERS which was replaced by\npool-\u003emanager_mutex by 6037315269 \"workqueue: use mutex for global_cwq\nmanager exclusion\".\n\nThere\u0027s a subtle idle worker depletion bug across CPU hotplug events\nand we need to distinguish an actual manager and CPU hotplug\npreventing management.  POOL_MANAGING_WORKERS will be used for the\nformer and manager_mutex the later.\n\nThis patch just lays POOL_MANAGING_WORKERS on top of the existing\nmanager_mutex and doesn\u0027t introduce any synchronization changes.  The\nnext patch will update it.\n\nNote that this patch fixes a non-critical anomaly where\ntoo_many_workers() may return %true spuriously while CPU hotplug is in\nprogress.  While the issue could schedule idle timer spuriously, it\ndidn\u0027t trigger any actual misbehavior.\n\ntj: Rewrote patch description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "ec58815ab0409a921a7c9744eb4ca44866b14d71",
      "tree": "228f1fb9035cc0b3f60fc14707614305608c96d1",
      "parents": [
        "90beca5de591e12482a812f23a7f10690962ed4a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 04 23:16:32 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 05 16:10:15 2012 -0700"
      },
      "message": "workqueue: fix possible deadlock in idle worker rebinding\n\nCurrently, rebind_workers() and idle_worker_rebind() are two-way\ninterlocked.  rebind_workers() waits for idle workers to finish\nrebinding and rebound idle workers wait for rebind_workers() to finish\nrebinding busy workers before proceeding.\n\nUnfortunately, this isn\u0027t enough.  The second wait from idle workers\nis implemented as follows.\n\n\twait_event(gcwq-\u003erebind_hold, !(worker-\u003eflags \u0026 WORKER_REBIND));\n\nrebind_workers() clears WORKER_REBIND, wakes up the idle workers and\nthen returns.  If CPU hotplug cycle happens again before one of the\nidle workers finishes the above wait_event(), rebind_workers() will\nrepeat the first part of the handshake - set WORKER_REBIND again and\nwait for the idle worker to finish rebinding - and this leads to\ndeadlock because the idle worker would be waiting for WORKER_REBIND to\nclear.\n\nThis is fixed by adding another interlocking step at the end -\nrebind_workers() now waits for all the idle workers to finish the\nabove WORKER_REBIND wait before returning.  This ensures that all\nrebinding steps are complete on all idle workers before the next\nhotplug cycle can happen.\n\nThis problem was diagnosed by Lai Jiangshan who also posted a patch to\nfix the issue, upon which this patch is based.\n\nThis is the minimal fix and further patches are scheduled for the next\nmerge window to simplify the CPU hotplug path.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nOriginal-patch-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1346516916-1991-3-git-send-email-laijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "90beca5de591e12482a812f23a7f10690962ed4a",
      "tree": "39e6a6e4e22ba49908d5542b4de6c01fbff48744",
      "parents": [
        "96e65306b81351b656835c15931d1d237b252f27"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 04 23:12:33 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 05 16:10:14 2012 -0700"
      },
      "message": "workqueue: move WORKER_REBIND clearing in rebind_workers() to the end of the function\n\nThis doesn\u0027t make any functional difference and is purely to help the\nnext patch to be simpler.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "96e65306b81351b656835c15931d1d237b252f27",
      "tree": "af06187bebae44b48ca8e68a639a4ddc6b0a3509",
      "parents": [
        "0d7614f09c1ebdbaa1599a5aba7593f147bf96ee"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sun Sep 02 00:28:19 2012 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 04 17:04:45 2012 -0700"
      },
      "message": "workqueue: UNBOUND -\u003e REBIND morphing in rebind_workers() should be atomic\n\nThe compiler may compile the following code into TWO write/modify\ninstructions.\n\n\tworker-\u003eflags \u0026\u003d ~WORKER_UNBOUND;\n\tworker-\u003eflags |\u003d WORKER_REBIND;\n\nso the other CPU may temporarily see worker-\u003eflags which doesn\u0027t have\neither WORKER_UNBOUND or WORKER_REBIND set and perform local wakeup\nprematurely.\n\nFix it by using single explicit assignment via ACCESS_ONCE().\n\nBecause idle workers have another WORKER_NOT_RUNNING flag, this bug\ndoesn\u0027t exist for them; however, update it to use the same pattern for\nconsistency.\n\ntj: Applied the change to idle workers too and updated comments and\n    patch description a bit.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "500ad2d8b01390c98bc6dce068bccfa9534b8212",
      "tree": "a7e1330e5380d4cb4be02820a86fbea1dc0da5c9",
      "parents": [
        "3ec18cd8b8f8395d0df604c62ab3bc2cf3a966b4"
      ],
      "author": {
        "name": "K.Prasad",
        "email": "Prasad.Krishnan@gmail.com",
        "time": "Thu Aug 02 13:46:35 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 17:29:53 2012 +0200"
      },
      "message": "perf/hwpb: Invoke __perf_event_disable() if interrupts are already disabled\n\nWhile debugging a warning message on PowerPC while using hardware\nbreakpoints, it was discovered that when perf_event_disable is invoked\nthrough hw_breakpoint_handler function with interrupts disabled, a\nsubsequent IPI in the code path would trigger a WARN_ON_ONCE message in\nsmp_call_function_single function.\n\nThis patch calls __perf_event_disable() when interrupts are already\ndisabled, instead of perf_event_disable().\n\nReported-by: Edjunior Barbosa Machado \u003cemachado@linux.vnet.ibm.com\u003e\nSigned-off-by: K.Prasad \u003cPrasad.Krishnan@gmail.com\u003e\n[naveen.n.rao@linux.vnet.ibm.com: v3: Check to make sure we target current task]\nSigned-off-by: Naveen N. Rao \u003cnaveen.n.rao@linux.vnet.ibm.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120802081635.5811.17737.stgit@localhost.localdomain\n[ Fixed build error on MIPS. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a6fa941d94b411bbd2b6421ffbde6db3c93e65ab",
      "tree": "2d80af531f906c6b27184148bbf15b8a7469c2a7",
      "parents": [
        "e3e45c01ae690e65f2650e5288b9af802e95a136"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Mon Aug 20 14:59:25 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 17:29:22 2012 +0200"
      },
      "message": "perf_event: Switch to internal refcount, fix race with close()\n\nDon\u0027t mess with file refcounts (or keep a reference to file, for\nthat matter) in perf_event.  Use explicit refcount of its own\ninstead.  Deal with the race between the final reference to event\ngoing away and new children getting created for it by use of\natomic_long_inc_not_zero() in inherit_event(); just have the\nlatter free what it had allocated and return NULL, that works\nout just fine (children of siblings of something doomed are\ncreated as singletons, same as if the child of leader had been\ncreated and immediately killed).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: stable@kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120820135925.GG23464@ZenIV.linux.org.uk\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9450d57eab5cad36774c297da123062744472588",
      "tree": "871a943ff0d6eb4fc5211781f50776ccf65a1cb5",
      "parents": [
        "a4c96ae319b8047f62dedbe1eac79e321c185749"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Aug 18 17:45:08 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:30:49 2012 +0200"
      },
      "message": "sched: Fix kernel-doc warnings in kernel/sched/fair.c\n\nFix two kernel-doc warnings in kernel/sched/fair.c:\n\n  Warning(kernel/sched/fair.c:3660): Excess function parameter \u0027cpus\u0027 description in \u0027update_sg_lb_stats\u0027\n  Warning(kernel/sched/fair.c:3806): Excess function parameter \u0027cpus\u0027 description in \u0027update_sd_lb_stats\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/50303714.3090204@xenotime.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a4c96ae319b8047f62dedbe1eac79e321c185749",
      "tree": "e93b18f6ca2d2a734962ee880d8e2cb7bd1e42b0",
      "parents": [
        "749c8814f08f12baa4a9c2812a7c6ede7d69507d"
      ],
      "author": {
        "name": "Peter Boonstoppel",
        "email": "pboonstoppel@nvidia.com",
        "time": "Thu Aug 09 15:34:47 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:30:30 2012 +0200"
      },
      "message": "sched: Unthrottle rt runqueues in __disable_runtime()\n\nmigrate_tasks() uses _pick_next_task_rt() to get tasks from the\nreal-time runqueues to be migrated. When rt_rq is throttled\n_pick_next_task_rt() won\u0027t return anything, in which case\nmigrate_tasks() can\u0027t move all threads over and gets stuck in an\ninfinite loop.\n\nInstead unthrottle rt runqueues before migrating tasks.\n\nAdditionally: move unthrottle_offline_cfs_rqs() to rq_offline_fair()\n\nSigned-off-by: Peter Boonstoppel \u003cpboonstoppel@nvidia.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nLink: http://lkml.kernel.org/r/5FBF8E85CA34454794F0F7ECBA79798F379D3648B7@HQMAIL04.nvidia.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "749c8814f08f12baa4a9c2812a7c6ede7d69507d",
      "tree": "c557a90a5f5d94b6de660b293bc7c24cf7e0d0a4",
      "parents": [
        "f319da0c6894fcf55e21320e40506418a2aad629"
      ],
      "author": {
        "name": "Charles Wang",
        "email": "muming.wq@taobao.com",
        "time": "Mon Aug 20 16:02:33 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:30:29 2012 +0200"
      },
      "message": "sched: Add missing call to calc_load_exit_idle()\n\nAzat Khuzhin reported high loadavg in Linux v3.6\n\nAfter checking the upstream scheduler code, I found Peter\u0027s commit:\n\n  5167e8d5417b sched/nohz: Rewrite and fix load-avg computation -- again\n\nnot fully applied, missing the call to calc_load_exit_idle().\n\nAfter that idle exit in sampling window will always be calculated\nto non-idle, and the load will be higher than normal.\n\nThis patch adds the missing call to calc_load_exit_idle().\n\nSigned-off-by: Charles Wang \u003cmuming.wq@taobao.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1345449754-27130-1-git-send-email-muming.wq@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f319da0c6894fcf55e21320e40506418a2aad629",
      "tree": "d1ae1cb6eb190e9feb6b9122bd62091cf6095809",
      "parents": [
        "5b716ac728bcc01b1f2a7ed6e437196602237c27"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 20 11:26:57 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:30:18 2012 +0200"
      },
      "message": "sched: Fix load avg vs cpu-hotplug\n\nRabik and Paul reported two different issues related to the same few\nlines of code.\n\nRabik\u0027s issue is that the nr_uninterruptible migration code is wrong in\nthat he sees artifacts due to this (Rabik please do expand in more\ndetail).\n\nPaul\u0027s issue is that this code as it stands relies on us using\nstop_machine() for unplug, we all would like to remove this assumption\nso that eventually we can remove this stop_machine() usage altogether.\n\nThe only reason we\u0027d have to migrate nr_uninterruptible is so that we\ncould use for_each_online_cpu() loops in favour of\nfor_each_possible_cpu() loops, however since nr_uninterruptible() is the\nonly such loop and its using possible lets not bother at all.\n\nThe problem Rabik sees is (probably) caused by the fact that by\nmigrating nr_uninterruptible we screw rq-\u003ecalc_load_active for both rqs\ninvolved.\n\nSo don\u0027t bother with fancy migration schemes (meaning we now have to\nkeep using for_each_possible_cpu()) and instead fold any nr_active delta\nafter we migrate all tasks away to make sure we don\u0027t have any skewed\nnr_active accounting.\n\nReported-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nReported-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1345454817.23018.27.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cee58483cf56e0ba355fdd97ff5e8925329aa936",
      "tree": "8cc2dc979a93a48a07c25d309250a2271e508e21",
      "parents": [
        "7a611e69b26069a511d9d5251c6a28af6c521121"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Aug 31 13:30:06 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 01 10:24:48 2012 -0700"
      },
      "message": "time: Move ktime_t overflow checking into timespec_valid_strict\n\nAndreas Bombe reported that the added ktime_t overflow checking added to\ntimespec_valid in commit 4e8b14526ca7 (\"time: Improve sanity checking of\ntimekeeping inputs\") was causing problems with X.org because it caused\ntimeouts larger then KTIME_T to be invalid.\n\nPreviously, these large timeouts would be clamped to KTIME_MAX and would\nnever expire, which is valid.\n\nThis patch splits the ktime_t overflow checking into a new\ntimespec_valid_strict function, and converts the timekeeping codes\ninternal checking to use this more strict function.\n\nReported-and-tested-by: Andreas Bombe \u003caeb@debian.org\u003e\nCc: Zhouping Liu \u003czliu@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ca63ee1b005623af7c4f3481a2976de3b9fed53",
      "tree": "43095ed12f75a7930e91625ea974b61e9664d2bc",
      "parents": [
        "caf1aaf6d20684f532099c242a18ad3f46cf7a17",
        "f5042d037544215de530a375431c3fca60140823"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 23 21:48:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 23 21:48:41 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"This tree contains misc fixlets: a perf script python binding fix, a\n  uprobes fix and a syscall tracing fix.\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf tools: Add missing files to build the python binding\n  uprobes: Fix mmap_region()\u0027s mm-\u003emm_rb corruption if uprobe_mmap() fails\n  tracing/syscalls: Fix perf syscall tracing when syscall_nr \u003d\u003d -1\n"
    },
    {
      "commit": "b5bc0c7054725e238d1be6965fec452b0f0e5213",
      "tree": "c92a6c31fb6eaec9ba5834a21a35e072b5d40db6",
      "parents": [
        "d37e44969e60dc652fdbaf4397d5436e07c967af",
        "bf2ac312195155511a0f79325515cbb61929898a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 23 21:46:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 23 21:46:57 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fixes from Thomas Gleixner:\n \"Mostly small fixes for the fallout of the timekeeping overhaul in 3.6\n  along with stable fixes to address an accumulation problem and missing\n  sanity checks for RTC readouts and user space provided values.\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time: Avoid making adjustments if we haven\u0027t accumulated anything\n  time: Avoid potential shift overflow with large shift values\n  time: Fix casting issue in timekeeping_forward_now\n  time: Ensure we normalize the timekeeper in tk_xtime_add\n  time: Improve sanity checking of timekeeping inputs\n"
    },
    {
      "commit": "bf2ac312195155511a0f79325515cbb61929898a",
      "tree": "514057045cf52d3da13f551661131fd102f67376",
      "parents": [
        "6ea565a9be32a3c8d1092017686f183b6d8c4514"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:49 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Avoid making adjustments if we haven\u0027t accumulated anything\n\nIf update_wall_time() is called and the current offset isn\u0027t large\nenough to accumulate, avoid re-calling timekeeping_adjust which may\nchange the clock freq and can cause 1ns inconsistencies with\nCLOCK_REALTIME_COARSE/CLOCK_MONOTONIC_COARSE.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1345595449-34965-5-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6ea565a9be32a3c8d1092017686f183b6d8c4514",
      "tree": "2db67e9659f91f11997998ba9845f4c7cb0d89ab",
      "parents": [
        "85dc8f05c93c8105987de9d7e7cebf15a72ff4ec"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:48 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Avoid potential shift overflow with large shift values\n\nAndreas Schwab noticed that the 1 \u003c\u003c tk-\u003eshift could overflow if the\nshift value was greater than 30, since 1 would be a 32bit long on\n32bit architectures. This issue was introduced by 1e75fa8be (time:\nCondense timekeeper.xtime into xtime_sec)\n\nUse 1ULL instead to ensure we don\u0027t overflow on the shift.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-4-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "85dc8f05c93c8105987de9d7e7cebf15a72ff4ec",
      "tree": "5be946b9b6f5be3c20fa4c6692b3a4491b86b0a9",
      "parents": [
        "784ffcbb96c3a97b4c64fd48b1dfe12ef3fcbcda"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Tue Aug 21 20:30:47 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Fix casting issue in timekeeping_forward_now\n\narch_gettimeoffset returns a u32 value which when shifted by tk-\u003eshift\ncan overflow. This issue was introduced with 1e75fa8be (time: Condense\ntimekeeper.xtime into xtime_sec)\n\nCast it to u64 first.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-3-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "784ffcbb96c3a97b4c64fd48b1dfe12ef3fcbcda",
      "tree": "bd413e1c43512c1963d25ed25dd617642a639444",
      "parents": [
        "4e8b14526ca7fb046a81c94002c1c43b6fdf0e9b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:46 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:12 2012 +0200"
      },
      "message": "time: Ensure we normalize the timekeeper in tk_xtime_add\n\nAndreas noticed problems with resume on specific hardware after commit\n1e75fa8b (time: Condense timekeeper.xtime into xtime_sec) combined\nwith commit b44d50dca (time: Fix casting issue in tk_set_xtime and\ntk_xtime_add)\n\nAfter some digging I realized we aren\u0027t normalizing the timekeeper\nafter the add. Add the missing normalize call.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nTested-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-2-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1456c75a80dfd3fd02b9ea44d1223bb51a5683d5",
      "tree": "b883150562354c25aa4ddff37e8cc054e5c76751",
      "parents": [
        "a6b881a5b8d4fa2135e55a74be6d6b1e17e445dd",
        "b3e8692b4dde5cf5fc60e4b95385229a72623182"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 21 12:25:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 21 12:25:24 2012 -0700"
      },
      "message": "Merge branch \u0027audit-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs\n\nPull audit-tree fixes from Miklos Szeredi:\n \"The audit subsystem maintainers (Al and Eric) are not responding to\n  repeated resends.  Eric did ack them a while ago, but no response\n  since then.  So I\u0027m sending these directly to you.\"\n\n* \u0027audit-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:\n  audit: clean up refcounting in audit-tree\n  audit: fix refcounting in audit-tree\n  audit: don\u0027t free_chunk() after fsnotify_add_mark()\n"
    },
    {
      "commit": "f341861fb0b701139849f8a85c2d3cdff466e8e8",
      "tree": "a6e6fedd03fdb923828fa7143a0363738cd7dfcb",
      "parents": [
        "ec5da7f8dc023fc4dcbdd42e87dad231d2c2812d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Aug 21 15:05:14 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 21 09:11:44 2012 -0700"
      },
      "message": "task_work: add a scheduling point in task_work_run()\n\nIt seems commit 4a9d4b024a31 (\"switch fput to task_work_add\") re-\nintroduced the problem addressed in 944be0b22472 (\"close_files(): add\nscheduling point\")\n\nIf a server process with a lot of files (say 2 million tcp sockets) is\nkilled, we can spend a lot of time in task_work_run() and trigger a soft\nlockup.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c65ca75209de8cc1802e7d3761b404957689cda",
      "tree": "63dbd61c004b5785df56fc224717eb7bc8219f6b",
      "parents": [
        "c7a3a88c938fbe3d70c2278e082b80eb830d1c58",
        "60916a9382e88fbf5e54fd36a3e658efd7ab7bed"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 21 11:49:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 21 11:49:37 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n\nPull syscall tracing fix from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c7a3a88c938fbe3d70c2278e082b80eb830d1c58",
      "tree": "e25070dc5141c2614fbcfaae543de4237418a623",
      "parents": [
        "9160338de92c0305329be5163a76f849806e83de"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Aug 19 19:10:42 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Aug 21 11:48:12 2012 +0200"
      },
      "message": "uprobes: Fix mmap_region()\u0027s mm-\u003emm_rb corruption if uprobe_mmap() fails\n\nThis patch fixes:\n\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d843640\n\nIf mmap_region()-\u003euprobe_mmap() fails, unmap_and_free_vma path\ndoes unmap_region() but does not remove the soon-to-be-freed vma\nfrom rb tree. Actually there are more problems but this is how\nWilliam noticed this bug.\n\nPerhaps we could do do_munmap() + return in this case, but in\nfact it is simply wrong to abort if uprobe_mmap() fails. Until\nat least we move the !UPROBE_COPY_INSN code from\ninstall_breakpoint() to uprobe_register().\n\nFor example, uprobe_mmap()-\u003einstall_breakpoint() can fail if the\nprobed insn is not supported (remember, uprobe_register()\nsucceeds if nobody mmaps inode/offset), mmap() should not fail\nin this case.\n\ndup_mmap()-\u003euprobe_mmap() is wrong too by the same reason,\nfork() can race with uprobe_register() and fail for no reason if\nit wins the race and does install_breakpoint() first.\n\nAnd, if nothing else, both mmap_region() and dup_mmap() return\nsuccess if uprobe_mmap() fails. Change them to ignore the error\ncode from uprobe_mmap().\n\nReported-and-tested-by: William Cohen \u003cwcohen@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e # v3.5\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: William Cohen \u003cwcohen@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20120819171042.GB26957@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "53795ced6e270fbb5cef7b527a71ffbb69657c78",
      "tree": "0e0532682837493bb84a38df10bc115521226c81",
      "parents": [
        "f78602ab7cbc902559406d2e8e21517056708295",
        "8f6189684eb4e85e6c593cd710693f09c944450a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 20 10:35:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 20 10:35:05 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix migration thread runtime bogosity\n  sched,rt: fix isolated CPUs leaving root_task_group indefinitely throttled\n  sched,cgroup: Fix up task_groups list\n  sched: fix divide by zero at {thread_group,task}_times\n  sched, cgroup: Reduce rq-\u003elock hold times for large cgroup hierarchies\n"
    },
    {
      "commit": "90785be317dabdef6e9763e75e370991a6a46c91",
      "tree": "39335e323aab2ca9eb5ff5fe4a0646070acd0364",
      "parents": [
        "6dab7ede9390d4d937cb89feca932e4fd575d2da",
        "d1b5153f3ec83789b71d64efaf2a880c8fe6358e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 19 08:41:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 19 08:41:29 2012 -0700"
      },
      "message": "Merge branch \u0027alpha\u0027 (alpha architecture patches)\n\nMerge alpha architecture update from Michael Cree:\n \"The Alpha Maintainer, Matt Turner, is currently unavailable, so I have\n  collected up patches that have been posted to the linux-alpha mailing\n  list over the last couple of months, and are forwarding them to you in\n  the hope that you are prepared to accept them via me.\n\n  The patches by Al Viro and myself I have been running against kernels\n  for two months now so have had quite a bit of testing.  All except one\n  patch were intended for the 3.5 kernel but because of Matt\u0027s\n  unavailability never got forwarded to you.\"\n\n* emailed patches from Michael Cree \u003cmcree@orcon.net.nz\u003e: (9 commits)\n  alpha: Fix fall-out from disintegrating asm/system.h\n  Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts\n  alpha: fix fpu.h usage in userspace\n  alpha/mm/fault.c: Port OOM changes to do_page_fault\n  alpha: take kernel_execve() out of entry.S\n  alpha: take a bunch of syscalls into osf_sys.c\n  alpha: Use new generic strncpy_from_user() and strnlen_user()\n  alpha: Wire up cross memory attach syscalls\n  alpha: Don\u0027t export SOCK_NONBLOCK to user space.\n"
    },
    {
      "commit": "be53db6e4edd9dc013b21a929ad2b142dea8b9c0",
      "tree": "7c4604295375f432071c2077362df2e6c278af53",
      "parents": [
        "f2db633d301b4b50f5f93de0e8314cc81e9bc7de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Aug 19 14:40:59 2012 +1200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 19 08:41:19 2012 -0700"
      },
      "message": "alpha: take a bunch of syscalls into osf_sys.c\n\nNew helper: current_thread_info().  Allows to do a bunch of odd syscalls\nin C. While we are at it, there had never been a reason to do\nosf_getpriority() in assembler.  We also get \"namespace\"-aware (read:\nconsistent with getuid(2), etc.) behaviour from getx?id() syscalls now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Michael Cree \u003cmcree@orcon.net.nz\u003e\nAcked-by: Matt Turner \u003cmattst88@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60916a9382e88fbf5e54fd36a3e658efd7ab7bed",
      "tree": "803e8decdd28831fa4a60d5c75c5bb5a77a460db",
      "parents": [
        "26a4f3c08de49c1437a7b7f97693cf22d8c31656"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu Aug 16 18:14:14 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 17 15:19:46 2012 -0400"
      },
      "message": "tracing/syscalls: Fix perf syscall tracing when syscall_nr \u003d\u003d -1\n\nsyscall_get_nr can return -1 in the case that the task is not executing\na system call.\n\nThis patch fixes perf_syscall_{enter,exit} to check that the syscall\nnumber is valid before using it as an index into a bitmap.\n\nLink: http://lkml.kernel.org/r/1345137254-7377-1-git-send-email-will.deacon@arm.com\n\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Wade Farnsworth \u003cwade_farnsworth@mentor.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4e8b14526ca7fb046a81c94002c1c43b6fdf0e9b",
      "tree": "d0681e8e99fe2fbae1bfa574a8a68320ae5c7c1f",
      "parents": [
        "3bf671af14d591ede9251acb0085e8017f3705e7"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 08 15:36:20 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 15 15:54:01 2012 +0200"
      },
      "message": "time: Improve sanity checking of timekeeping inputs\n\nUnexpected behavior could occur if the time is set to a value large\nenough to overflow a 64bit ktime_t (which is something larger then the\nyear 2262).\n\nAlso unexpected behavior could occur if large negative offsets are\ninjected via adjtimex.\n\nSo this patch improves the sanity check timekeeping inputs by\nimproving the timespec_valid() check, and then makes better use of\ntimespec_valid() to make sure we don\u0027t set the time to an invalid\nnegative value or one that overflows ktime_t.\n\nNote: This does not protect from setting the time close to overflowing\nktime_t and then letting natural accumulation cause the overflow.\n\nReported-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Zhouping Liu \u003czliu@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1344454580-17031-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3e8692b4dde5cf5fc60e4b95385229a72623182",
      "tree": "5145a92e403b7faa54ac47b24d0791ca9c6c01bc",
      "parents": [
        "a2140fc0cb0325bb6384e788edd27b9a568714e2"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 15 12:55:22 2012 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 15 12:55:22 2012 +0200"
      },
      "message": "audit: clean up refcounting in audit-tree\n\nDrop the initial reference by fsnotify_init_mark early instead of\naudit_tree_freeing_mark() at destroy time.\n\nIn the cases we destroy the mark before we drop the initial reference we need to\nget rid of the get_mark that balances the put_mark in audit_tree_freeing_mark().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "a2140fc0cb0325bb6384e788edd27b9a568714e2",
      "tree": "2dfe6d8a064d478f1bd376241ecee42af10d6cf1",
      "parents": [
        "0fe33aae0e94b4097dd433c9399e16e17d638cd8"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 15 12:55:22 2012 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 15 12:55:22 2012 +0200"
      },
      "message": "audit: fix refcounting in audit-tree\n\nRefcounting of fsnotify_mark in audit tree is broken.  E.g:\n\n                              refcount\ncreate_chunk\n  alloc_chunk                 1\n  fsnotify_add_mark           2\n\nuntag_chunk\n  fsnotify_get_mark           3\n  fsnotify_destroy_mark\n    audit_tree_freeing_mark   2\n  fsnotify_put_mark           1\n  fsnotify_put_mark           0\n  via destroy_list\n    fsnotify_mark_destroy    -1\n\nThis was reported by various people as triggering Oops when stopping auditd.\n\nWe could just remove the put_mark from audit_tree_freeing_mark() but that would\nbreak freeing via inode destruction.  So this patch simply omits a put_mark\nafter calling destroy_mark or adds a get_mark before.\n\nThe additional get_mark is necessary where there\u0027s no other put_mark after\nfsnotify_destroy_mark() since it assumes that the caller is holding a reference\n(or the inode is keeping the mark pinned, not the case here AFAICS).\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nReported-by: Valentin Avram \u003caval13@gmail.com\u003e\nReported-by: Peter Moody \u003cpmoody@google.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nCC: stable@vger.kernel.org\n"
    },
    {
      "commit": "0fe33aae0e94b4097dd433c9399e16e17d638cd8",
      "tree": "799d8107cc7b000c1fba87f87b59cb6d467dc9a2",
      "parents": [
        "ddf343f635fe4440cad528e12f96f28bd50aa099"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 15 12:55:22 2012 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 15 12:55:22 2012 +0200"
      },
      "message": "audit: don\u0027t free_chunk() after fsnotify_add_mark()\n\nDon\u0027t do free_chunk() after fsnotify_add_mark().  That one does a delayed unref\nvia the destroy list and this results in use-after-free.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nCC: stable@vger.kernel.org\n"
    },
    {
      "commit": "8f6189684eb4e85e6c593cd710693f09c944450a",
      "tree": "a733526c634f4a7ea1366dc0da69371650c1d1d2",
      "parents": [
        "e221d028bb08b47e624c5f0a31732c642db9d19a"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "mgalbraith@suse.de",
        "time": "Sat Aug 04 05:44:14 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 18:41:55 2012 +0200"
      },
      "message": "sched: Fix migration thread runtime bogosity\n\nMake stop scheduler class do the same accounting as other classes,\n\nMigration threads can be caught in the act while doing exec balancing,\nleading to the below due to use of unmaintained -\u003ese.exec_start.  The\nload that triggered this particular instance was an apparently out of\ncontrol heavily threaded application that does system monitoring in\nwhat equated to an exec bomb, with one of the VERY frequently migrated\ntasks being ps.\n\n%CPU   PID USER     CMD\n99.3    45 root     [migration/10]\n97.7    53 root     [migration/12]\n97.0    57 root     [migration/13]\n90.1    49 root     [migration/11]\n89.6    65 root     [migration/15]\n88.7    17 root     [migration/3]\n80.4    37 root     [migration/8]\n78.1    41 root     [migration/9]\n44.2    13 root     [migration/2]\n\nSigned-off-by: Mike Galbraith \u003cmgalbraith@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1344051854.6739.19.camel@marge.simpson.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e221d028bb08b47e624c5f0a31732c642db9d19a",
      "tree": "0bfe6324f58c7c27fcd7b3dafd749903ab598ecc",
      "parents": [
        "35cf4e50b16331def6cfcbee11e49270b6db07f5"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Aug 07 10:02:38 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 18:41:55 2012 +0200"
      },
      "message": "sched,rt: fix isolated CPUs leaving root_task_group indefinitely throttled\n\nRoot task group bandwidth replenishment must service all CPUs, regardless of\nwhere the timer was last started, and regardless of the isolation mechanism,\nlest \u0027Quoth the Raven, \"Nevermore\"\u0027 become rt scheduling policy.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1344326558.6968.25.camel@marge.simpson.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "35cf4e50b16331def6cfcbee11e49270b6db07f5",
      "tree": "0db0da974b4c4a563811bbf734a8d7cf116ae597",
      "parents": [
        "bea6832cc8c4a0a9a65dd17da6aaa657fe27bc3e"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Aug 07 05:00:13 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 18:41:54 2012 +0200"
      },
      "message": "sched,cgroup: Fix up task_groups list\n\nWith multiple instances of task_groups, for_each_rt_rq() is a noop,\nno task groups having been added to the rt.c list instance.  This\nrenders __enable/disable_runtime() and print_rt_stats() noop, the\nuser (non) visible effect being that rt task groups are missing in\n/proc/sched_debug.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: stable@kernel.org # v3.3+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1344308413.6846.7.camel@marge.simpson.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bea6832cc8c4a0a9a65dd17da6aaa657fe27bc3e",
      "tree": "b5b28462080ba5900d4318858a7318997063ea96",
      "parents": [
        "a35b6466aabb051568b844e8c63f87a356d3d129"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Wed Aug 08 11:27:15 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 18:41:54 2012 +0200"
      },
      "message": "sched: fix divide by zero at {thread_group,task}_times\n\nOn architectures where cputime_t is 64 bit type, is possible to trigger\ndivide by zero on do_div(temp, (__force u32) total) line, if total is a\nnon zero number but has lower 32 bit\u0027s zeroed. Removing casting is not\na good solution since some do_div() implementations do cast to u32\ninternally.\n\nThis problem can be triggered in practice on very long lived processes:\n\n  PID: 2331   TASK: ffff880472814b00  CPU: 2   COMMAND: \"oraagent.bin\"\n   #0 [ffff880472a51b70] machine_kexec at ffffffff8103214b\n   #1 [ffff880472a51bd0] crash_kexec at ffffffff810b91c2\n   #2 [ffff880472a51ca0] oops_end at ffffffff814f0b00\n   #3 [ffff880472a51cd0] die at ffffffff8100f26b\n   #4 [ffff880472a51d00] do_trap at ffffffff814f03f4\n   #5 [ffff880472a51d60] do_divide_error at ffffffff8100cfff\n   #6 [ffff880472a51e00] divide_error at ffffffff8100be7b\n      [exception RIP: thread_group_times+0x56]\n      RIP: ffffffff81056a16  RSP: ffff880472a51eb8  RFLAGS: 00010046\n      RAX: bc3572c9fe12d194  RBX: ffff880874150800  RCX: 0000000110266fad\n      RDX: 0000000000000000  RSI: ffff880472a51eb8  RDI: 001038ae7d9633dc\n      RBP: ffff880472a51ef8   R8: 00000000b10a3a64   R9: ffff880874150800\n      R10: 00007fcba27ab680  R11: 0000000000000202  R12: ffff880472a51f08\n      R13: ffff880472a51f10  R14: 0000000000000000  R15: 0000000000000007\n      ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018\n   #7 [ffff880472a51f00] do_sys_times at ffffffff8108845d\n   #8 [ffff880472a51f40] sys_times at ffffffff81088524\n   #9 [ffff880472a51f80] system_call_fastpath at ffffffff8100b0f2\n      RIP: 0000003808caac3a  RSP: 00007fcba27ab6d8  RFLAGS: 00000202\n      RAX: 0000000000000064  RBX: ffffffff8100b0f2  RCX: 0000000000000000\n      RDX: 00007fcba27ab6e0  RSI: 000000000076d58e  RDI: 00007fcba27ab6e0\n      RBP: 00007fcba27ab700   R8: 0000000000000020   R9: 000000000000091b\n      R10: 00007fcba27ab680  R11: 0000000000000202  R12: 00007fff9ca41940\n      R13: 0000000000000000  R14: 00007fcba27ac9c0  R15: 00007fff9ca41940\n      ORIG_RAX: 0000000000000064  CS: 0033  SS: 002b\n\nCc: stable@vger.kernel.org\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120808092714.GA3580@redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a35b6466aabb051568b844e8c63f87a356d3d129",
      "tree": "a5d38cce8290a60f6729f97591cfa25d545c6474",
      "parents": [
        "b9403130a5350fca59a50ed11c198cb8c7e54119"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Aug 08 21:46:40 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 18:41:54 2012 +0200"
      },
      "message": "sched, cgroup: Reduce rq-\u003elock hold times for large cgroup hierarchies\n\nPeter Portante reported that for large cgroup hierarchies (and or on\nlarge CPU counts) we get immense lock contention on rq-\u003elock and stuff\nstops working properly.\n\nHis workload was a ton of processes, each in their own cgroup,\neverybody idling except for a sporadic wakeup once every so often.\n\nIt was found that:\n\n  schedule()\n    idle_balance()\n      load_balance()\n        local_irq_save()\n        double_rq_lock()\n        update_h_load()\n          walk_tg_tree(tg_load_down)\n            tg_load_down()\n\nResults in an entire cgroup hierarchy walk under rq-\u003elock for every\nnew-idle balance and since new-idle balance isn\u0027t throttled this\nresults in a lot of work while holding the rq-\u003elock.\n\nThis patch does two things, it removes the work from under rq-\u003elock\nbased on the good principle of race and pray which is widely employed\nin the load-balancer as a whole. And secondly it throttles the\nupdate_h_load() calculation to max once per jiffy.\n\nI considered excluding update_h_load() for new-idle balance\nall-together, but purely relying on regular balance passes to update\nthis data might not work out under some rare circumstances where the\nnew-idle busiest isn\u0027t the regular busiest for a while (unlikely, but\na nightmare to debug if someone hits it and suffers).\n\nCc: pjt@google.com\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nReported-by: Peter Portante \u003cpportant@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-aaarrzfpnaam7pqrekofu8a6@git.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e4e139bebd9cc2c867950ad8ea6814e542dbcc6f",
      "tree": "269b6fa6014b06aac70b4e2fbfc2299b2fd09fbc",
      "parents": [
        "88de3d0d714bff03b2e0a3fcd5b8b346a392e9ea",
        "07368d32f1a67e797def08cf2ee3ea1647b204b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 12 21:34:09 2012 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 12 21:34:09 2012 +0300"
      },
      "message": "Merge tag \u0027pm-for-3.6-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management fixes from Rafael J. Wysocki:\n\n - Fix for two recent regressions in the generic PM domains framework.\n\n - Revert of a commit that introduced a resume regression and is\n   conceptually incorrect in my opinion.\n\n - Fix for a return value in pcc-cpufreq.c from Julia Lawall.\n\n - RTC wakeup signaling fix from Neil Brown.\n\n - Suppression of compiler warnings for CONFIG_PM_SLEEP unset in ACPI,\n   platform/x86 and TPM drivers.\n\n* tag \u0027pm-for-3.6-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  tpm_tis / PM: Fix unused function warning for CONFIG_PM_SLEEP\n  platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP\n  ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP\n  Revert \"NMI watchdog: fix for lockup detector breakage on resume\"\n  PM: Make dev_pm_get_subsys_data() always return 0 on success\n  drivers/cpufreq/pcc-cpufreq.c: fix error return code\n  RTC: Avoid races between RTC alarm wakeup and suspend.\n"
    },
    {
      "commit": "e3756477aec028427fec767957c0d4b6cfb87208",
      "tree": "c92974b2e75dea5f050b2060cf181a44c2d49643",
      "parents": [
        "f4ba394c1b02e7fc2179fda8d3941a5b3b65efb6"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Aug 10 15:07:09 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 12 21:25:50 2012 +0300"
      },
      "message": "printk: Fix calculation of length used to discard records\n\nWhile tracking down a weird buffer overflow issue in a program that\nlooked to be sane, I started double checking the length returned by\nsyslog(SYSLOG_ACTION_READ_ALL, ...) to make sure it wasn\u0027t overflowing\nthe buffer.\n\nSure enough, it was.  I saw this in strace:\n\n  11339 syslog(SYSLOG_ACTION_READ_ALL, \"\u003c5\u003e[244017.708129] REISERFS (dev\"..., 8192) \u003d 8279\n\nIt turns out that the loops that calculate how much space the entries\nwill take when they\u0027re copied don\u0027t include the newlines and prefixes\nthat will be included in the final output since prev flags is passed as\nzero.\n\nThis patch properly accounts for it and fixes the overflow.\n\nCC: stable@kernel.org\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "300d3739e873d50d4c6e3656f89007a217fb1d29",
      "tree": "05ed9e06da5920926e0048ee0591a724ee487968",
      "parents": [
        "77254950bb174d637cd88d1a74e137ecf3185a65"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 07 13:50:22 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Aug 08 20:49:45 2012 +0200"
      },
      "message": "Revert \"NMI watchdog: fix for lockup detector breakage on resume\"\n\nRevert commit 45226e9 (NMI watchdog: fix for lockup detector breakage\non resume) which breaks resume from system suspend on my SH7372\nMackerel board (by causing a NULL pointer dereference to happen) and\nis generally wrong, because it abuses the CPU hotplug functionality\nin a shamelessly blatant way.\n\nThe original issue should be addressed through appropriate syscore\nresume callback instead.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1d17d17484d40f2d5b35c79518597a2b25296996",
      "tree": "a11000cb9a7197b5d70573d0faa417cb36ba0e4b",
      "parents": [
        "e7882d6c40874a5b5033ca85f7508a602a60b662"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Aug 04 21:21:14 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Aug 05 12:37:14 2012 +0200"
      },
      "message": "time: Fix adjustment cleanup bug in timekeeping_adjust()\n\nTetsuo Handa reported that sporadically the system clock starts\ncounting up too quickly which is enough to confuse the hangcheck\ntimer to print a bogus stall warning.\n\nCommit 2a8c0883 \"time: Move xtime_nsec adjustment underflow handling\ntimekeeping_adjust\" overlooked this exit path:\n\n        } else\n                return;\n\nwhich should really be a proper exit sequence, fixing the bug as a\nside effect.\n\nAlso make the flow more readable by properly balancing curly\nbraces.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e wrote:\nTested-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e wrote:\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: john.stultz@linaro.org\nCc: a.p.zijlstra@chello.nl\nCc: richardcochran@gmail.com\nCc: prarit@redhat.com\nLink: http://lkml.kernel.org/r/20120804192114.GA28347@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c4e62d67854e247b09ffe763163057237c8b1614",
      "tree": "ddcdca15427671ab44334320e91b67877aa95f1a",
      "parents": [
        "1ca0049f2c8b28611f30798aa75858763c9fcbea",
        "6f7b0a2a5c0fb03be7c25bd1745baa50582348ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 11:00:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 11:00:26 2012 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull futex fixes from Ingo Molnar:\n \"A couple of futex fixes from Darren Hart: two bugs reported by Dave\n  Jones (found with his trinity test) and Dan Carpenter through static\n  analysis.  The third found while debugging the first two.\"\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  futex: Forbid uaddr \u003d\u003d uaddr2 in futex_wait_requeue_pi()\n  futex: Fix bug in WARN_ON for NULL q.pi_state\n  futex: Test for pi_mutex on fault in futex_wait_requeue_pi()\n"
    },
    {
      "commit": "ddc5057c1c1fb3e99afeeef45d2b8ff9597e6707",
      "tree": "801e4842f3a4dce2d777336b54f3caf075975025",
      "parents": [
        "fcc1d2a9cea4ba97c9800e1de0748003bba07335",
        "4e250fdde9be50581c7dd5fed88c9b9960615314"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:58:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:58:57 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fixes from Ingo Molnar:\n \"One regression fix, and a couple of cleanups that clean up the code\n  flow in areas that had high-profile bugs recently.\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time: Remove all direct references to timekeeper\n  time: Clean up offs_real/wall_to_mono and offs_boot/total_sleep_time updates\n  time: Clean up stray newlines\n  time/jiffies: Rename ACTHZ to SHIFTED_HZ\n  time/jiffies: Allow CLOCK_TICK_RATE to be undefined\n  time: Fix casting issue in tk_set_xtime and tk_xtime_add\n"
    },
    {
      "commit": "fcc1d2a9cea4ba97c9800e1de0748003bba07335",
      "tree": "c27c56275048e33e61097202cabaa48ef49f1314",
      "parents": [
        "bd463a06064c4bc8497f6aa6dfb4437be8f07a3b",
        "b9403130a5350fca59a50ed11c198cb8c7e54119"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:58:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:58:13 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar:\n \"Fixes and two late cleanups\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/cleanups: Add load balance cpumask pointer to \u0027struct lb_env\u0027\n  sched: Fix comment about PREEMPT_ACTIVE bit location\n  sched: Fix minor code style issues\n  sched: Use task_rq_unlock() in __sched_setscheduler()\n  sched/numa: Add SD_PERFER_SIBLING to CPU domain\n"
    },
    {
      "commit": "bd463a06064c4bc8497f6aa6dfb4437be8f07a3b",
      "tree": "3499f105c565d977d0ae9486f0a4572cd5fcbd2e",
      "parents": [
        "148311d2ade909a79afb85a853c7979eb499563f",
        "e6dab5ffab59e910ec0e3355f4a6f29f7a7be474"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:57:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:57:20 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"Fix merge window fallout and fix sleep profiling (this was always\n  broken, so it\u0027s not a fix for the merge window - we can skip this one\n  from the head of the tree).\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/trace: Add ability to set a target task for events\n  perf/x86: Fix USER/KERNEL tagging of samples properly\n  perf/x86/intel/uncore: Make UNCORE_PMU_HRTIMER_INTERVAL 64-bit\n"
    },
    {
      "commit": "148311d2ade909a79afb85a853c7979eb499563f",
      "tree": "6dde0ac8804b729e084c3bef7226b10d661f12da",
      "parents": [
        "d97e1dcde5e19ed1f828baff4ab5fd0e517c8dae",
        "dc9b229a58dc0dfed34272ff26c6d5fd17c674e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:56:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:56:44 2012 -0700"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq fix from Ingo Molnar.\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Allow irq chips to mark themself oneshot safe\n"
    },
    {
      "commit": "d97e1dcde5e19ed1f828baff4ab5fd0e517c8dae",
      "tree": "b383820ad8075479d31168cc35aabbb3bed35736",
      "parents": [
        "587a9e1f95794c05419d3bdb4c409a3274849f93",
        "f96a4216e85050c0a9d41a41ecb0ae9d8e39b509"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:53:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:53:47 2012 -0700"
      },
      "message": "Merge tag \u0027for_linux-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb\n\nPull KGDB/KDB/usb-dbgp fixes and cleanups from Jason Wessel:\n \"There are no new features, those will be delayed to the 3.7 window.\n  There are only fixes/cleanup against the usual kernel churn and we are\n  removing more lines than we add:\n\n   - usb-dbgp - increase the controller wait time to come out of halt.\n   - kdb - Remove unused KDB_FLAG_ONLY_DO_DUMP code and cpu in more prompt\n   - debug core - pass NMI type on archs that provide NMI types\"\n\n* tag \u0027for_linux-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:\n  USB: echi-dbgp: increase the controller wait time to come out of halt.\n  kernel/debug: Make use of KGDB_REASON_NMI\n  kdb: Remove cpu from the more prompt\n  kdb: Remove unused KDB_FLAG_ONLY_DO_DUMP\n"
    },
    {
      "commit": "a0e881b7c189fa2bd76c024dbff91e79511c971d",
      "tree": "0c801918565b08921d21aceee5b326f64d998f5f",
      "parents": [
        "eff0d13f3823f35d70228cd151d2a2c89288ff32",
        "dbc6e0222d79e78925fe20733844a796a4b72cf9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 10:26:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 10:26:23 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull second vfs pile from Al Viro:\n \"The stuff in there: fsfreeze deadlock fixes by Jan (essentially, the\n  deadlock reproduced by xfstests 068), symlink and hardlink restriction\n  patches, plus assorted cleanups and fixes.\n\n  Note that another fsfreeze deadlock (emergency thaw one) is *not*\n  dealt with - the series by Fernando conflicts a lot with Jan\u0027s, breaks\n  userland ABI (FIFREEZE semantics gets changed) and trades the deadlock\n  for massive vfsmount leak; this is going to be handled next cycle.\n  There probably will be another pull request, but that stuff won\u0027t be\n  in it.\"\n\nFix up trivial conflicts due to unrelated changes next to each other in\ndrivers/{staging/gdm72xx/usb_boot.c, usb/gadget/storage_common.c}\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (54 commits)\n  delousing target_core_file a bit\n  Documentation: Correct s_umount state for freeze_fs/unfreeze_fs\n  fs: Remove old freezing mechanism\n  ext2: Implement freezing\n  btrfs: Convert to new freezing mechanism\n  nilfs2: Convert to new freezing mechanism\n  ntfs: Convert to new freezing mechanism\n  fuse: Convert to new freezing mechanism\n  gfs2: Convert to new freezing mechanism\n  ocfs2: Convert to new freezing mechanism\n  xfs: Convert to new freezing code\n  ext4: Convert to new freezing mechanism\n  fs: Protect write paths by sb_start_write - sb_end_write\n  fs: Skip atime update on frozen filesystem\n  fs: Add freezing handling to mnt_want_write() / mnt_drop_write()\n  fs: Improve filesystem freezing handling\n  switch the protection of percpu_counter list to spinlock\n  nfsd: Push mnt_want_write() outside of i_mutex\n  btrfs: Push mnt_want_write() outside of i_mutex\n  fat: Push mnt_want_write() outside of i_mutex\n  ...\n"
    },
    {
      "commit": "2d534926205db9ffce4bbbde67cb9b2cee4b835c",
      "tree": "b906e41009b54d9a286df3454a841fd2b3f170cc",
      "parents": [
        "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
        "f5a1ad057e6da5d0fc9c5677ff44797d193d3e62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 20:44:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 20:44:03 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irqdomain changes from Grant Likely:\n \"Round of refactoring and enhancements to irq_domain infrastructure.\n  This series starts the process of simplifying irqdomain.  The ultimate\n  goal is to merge LEGACY, LINEAR and TREE mappings into a single\n  system, but had to back off from that after some last minute bugs.\n  Instead it mainly reorganizes the code and ensures that the reverse\n  map gets populated when the irq is mapped instead of the first time it\n  is looked up.\n\n  Merging of the irq_domain types is deferred to v3.7\n\n  In other news, this series adds helpers for creating static mappings\n  on a linear or tree mapping.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irqdomain: Improve diagnostics when a domain mapping fails\n  irqdomain: eliminate slow-path revmap lookups\n  irqdomain: Fix irq_create_direct_mapping() to test irq_domain type.\n  irqdomain: Eliminate dedicated radix lookup functions\n  irqdomain: Support for static IRQ mapping and association.\n  irqdomain: Always update revmap when setting up a virq\n  irqdomain: Split disassociating code into separate function\n  irq_domain: correct a minor wrong comment for linear revmap\n  irq_domain: Standardise legacy/linear domain selection\n  irqdomain: Make ops-\u003emap hook optional\n  irqdomain: Remove unnecessary test for IRQ_DOMAIN_MAP_LEGACY\n  irqdomain: Simple NUMA awareness.\n  devicetree: add helper inline for retrieving a node\u0027s full name\n"
    },
    {
      "commit": "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
      "tree": "e37328cfbeaf43716dd5914cad9179e57e84df76",
      "parents": [
        "a40a1d3d0a2fd613fdec6d89d3c053268ced76ed",
        "437ea90cc3afdca5229b41c6b1d38c4842756cb9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge Andrew\u0027s second set of patches:\n - MM\n - a few random fixes\n - a couple of RTC leftovers\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (120 commits)\n  rtc/rtc-88pm80x: remove unneed devm_kfree\n  rtc/rtc-88pm80x: assign ret only when rtc_register_driver fails\n  mm: hugetlbfs: close race during teardown of hugetlbfs shared page tables\n  tmpfs: distribute interleave better across nodes\n  mm: remove redundant initialization\n  mm: warn if pg_data_t isn\u0027t initialized with zero\n  mips: zero out pg_data_t when it\u0027s allocated\n  memcg: gix memory accounting scalability in shrink_page_list\n  mm/sparse: remove index_init_lock\n  mm/sparse: more checks on mem_section number\n  mm/sparse: optimize sparse_index_alloc\n  memcg: add mem_cgroup_from_css() helper\n  memcg: further prevent OOM with too many dirty pages\n  memcg: prevent OOM with too many dirty pages\n  mm: mmu_notifier: fix freed page still mapped in secondary MMU\n  mm: memcg: only check anon swapin page charges for swap cache\n  mm: memcg: only check swap cache pages for repeated charging\n  mm: memcg: split swapin charge function into private and public part\n  mm: memcg: remove needless !mm fixup to init_mm when charging\n  mm: memcg: remove unneeded shmem charge type\n  ...\n"
    },
    {
      "commit": "3e9a97082fa639394e905e1fc4a0a7f719ca7644",
      "tree": "9985cfa26e0597128eae03a2ee7e4614efea571f",
      "parents": [
        "941c8726e4e737e74d418ccec3d8e7b946a65541",
        "d2e7c96af1e54b507ae2a6a7dd2baf588417a7e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "message": "Merge tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random\n\nPull random subsystem patches from Ted Ts\u0027o:\n \"This patch series contains a major revamp of how we collect entropy\n  from interrupts for /dev/random and /dev/urandom.\n\n  The goal is to addresses weaknesses discussed in the paper \"Mining\n  your Ps and Qs: Detection of Widespread Weak Keys in Network Devices\",\n  by Nadia Heninger, Zakir Durumeric, Eric Wustrow, J.  Alex Halderman,\n  which will be published in the Proceedings of the 21st Usenix Security\n  Symposium, August 2012.  (See https://factorable.net for more\n  information and an extended version of the paper.)\"\n\nFix up trivial conflicts due to nearby changes in\ndrivers/{mfd/ab3100-core.c, usb/gadget/omap_udc.c}\n\n* tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (33 commits)\n  random: mix in architectural randomness in extract_buf()\n  dmi: Feed DMI table to /dev/random driver\n  random: Add comment to random_initialize()\n  random: final removal of IRQF_SAMPLE_RANDOM\n  um: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  sparc/ldc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  [ARM] pxa: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  board-palmz71: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  isp1301_omap: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pxa25x_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  omap_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  goku_udc: remove IRQF_SAMPLE_RANDOM which was commented out\n  uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  drivers: hv: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  xen-blkfront: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  n2_crypto: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pda_power: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  i2c-pmcmsp: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  input/serio/hp_sdc.c: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  ...\n"
    },
    {
      "commit": "907aed48f65efeecf91575397e3d79335d93a466",
      "tree": "8e06d29e71888f65a7217880c55472125d1b88d4",
      "parents": [
        "b37f1dd0f543d9714f96c2f9b9f74f7bdfdfdf31"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:45 2012 -0700"
      },
      "message": "mm: allow PF_MEMALLOC from softirq context\n\nThis is needed to allow network softirq packet processing to make use of\nPF_MEMALLOC.\n\nCurrently softirq context cannot use PF_MEMALLOC due to it not being\nassociated with a task, and therefore not having task flags to fiddle with\n- thus the gfp to alloc flag mapping ignores the task flags when in\ninterrupts (hard or soft) context.\n\nAllowing softirqs to make use of PF_MEMALLOC therefore requires some\ntrickery.  This patch borrows the task flags from whatever process happens\nto be preempted by the softirq.  It then modifies the gfp to alloc flags\nmapping to not exclude task flags in softirq context, and modify the\nsoftirq code to save, clear and restore the PF_MEMALLOC flag.\n\nThe save and clear, ensures the preempted task\u0027s PF_MEMALLOC flag doesn\u0027t\nleak into the softirq.  The restore ensures a softirq\u0027s PF_MEMALLOC flag\ncannot leak back into the preempted process.  This should be safe due to\nthe following reasons\n\nSoftirqs can run on multiple CPUs sure but the same task should not be\n\texecuting the same softirq code. Neither should the softirq\n\thandler be preempted by any other softirq handler so the flags\n\tshould not leak to an unrelated softirq.\n\nSoftirqs re-enable hardware interrupts in __do_softirq() so can be\n\tpreempted by hardware interrupts so PF_MEMALLOC is inherited\n\tby the hard IRQ. However, this is similar to a process in\n\treclaim being preempted by a hardirq. While PF_MEMALLOC is\n\tset, gfp_to_alloc_flags() distinguishes between hard and\n\tsoft irqs and avoids giving a hardirq the ALLOC_NO_WATERMARKS\n\tflag.\n\nIf the softirq is deferred to ksoftirq then its flags may be used\n        instead of a normal tasks but as the softirq cannot be preempted,\n        the PF_MEMALLOC flag does not leak to other code by accident.\n\n[davem@davemloft.net: Document why PF_MEMALLOC is safe]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9adb62a5df9c0fbef7b4665919329f73a34651ed",
      "tree": "8372c9c1202adac889714ea99319346279107f33",
      "parents": [
        "da92c47d069890106484cb6605df701a54d24499"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "jiang.liu@huawei.com",
        "time": "Tue Jul 31 16:43:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:44 2012 -0700"
      },
      "message": "mm/hotplug: correctly setup fallback zonelists when creating new pgdat\n\nWhen hotadd_new_pgdat() is called to create new pgdat for a new node, a\nfallback zonelist should be created for the new node.  There\u0027s code to try\nto achieve that in hotadd_new_pgdat() as below:\n\n\t/*\n\t * The node we allocated has no zone fallback lists. For avoiding\n\t * to access not-initialized zonelist, build here.\n\t */\n\tmutex_lock(\u0026zonelists_mutex);\n\tbuild_all_zonelists(pgdat, NULL);\n\tmutex_unlock(\u0026zonelists_mutex);\n\nBut it doesn\u0027t work as expected.  When hotadd_new_pgdat() is called, the\nnew node is still in offline state because node_set_online(nid) hasn\u0027t\nbeen called yet.  And build_all_zonelists() only builds zonelists for\nonline nodes as:\n\n        for_each_online_node(nid) {\n                pg_data_t *pgdat \u003d NODE_DATA(nid);\n\n                build_zonelists(pgdat);\n                build_zonelist_cache(pgdat);\n        }\n\nThough we hope to create zonelist for the new pgdat, but it doesn\u0027t.  So\nadd a new parameter \"pgdat\" the build_all_zonelists() to build pgdat for\nthe new pgdat too.\n\nSigned-off-by: Jiang Liu \u003cliuj97@gmail.com\u003e\nSigned-off-by: Xishi Qiu \u003cqiuxishi@huawei.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Keping Chen \u003cchenkeping@huawei.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c255a458055e459f65eb7b7f51dc5dbdd0caf1d8",
      "tree": "b143b1914eeb6f27f53e30f9f0275d0f1ca5480b",
      "parents": [
        "80934513b230bfcf70265f2ef0fdae89fb391633"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jul 31 16:43:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:43 2012 -0700"
      },
      "message": "memcg: rename config variables\n\nSanity:\n\nCONFIG_CGROUP_MEM_RES_CTLR -\u003e CONFIG_MEMCG\nCONFIG_CGROUP_MEM_RES_CTLR_SWAP -\u003e CONFIG_MEMCG_SWAP\nCONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED -\u003e CONFIG_MEMCG_SWAP_ENABLED\nCONFIG_CGROUP_MEM_RES_CTLR_KMEM -\u003e CONFIG_MEMCG_KMEM\n\n[mhocko@suse.cz: fix missed bits]\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3965c9ae47d64aadf6f13b6fcd37767b83c0689a",
      "tree": "9896fbd841edbaa8e374b593ad0f7b96191cda5d",
      "parents": [
        "deaf386ee58d5336bbef8959bf304573afb67c20"
      ],
      "author": {
        "name": "Wanpeng Li",
        "email": "liwp@linux.vnet.ibm.com",
        "time": "Tue Jul 31 16:41:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:40 2012 -0700"
      },
      "message": "mm: prepare for removal of obsolete /proc/sys/vm/nr_pdflush_threads\n\nSince per-BDI flusher threads were introduced in 2.6, the pdflush\nmechanism is not used any more.  But the old interface exported through\n/proc/sys/vm/nr_pdflush_threads still exists and is obviously useless.\n\nFor back-compatibility, printk warning information and return 2 to notify\nthe users that the interface is removed.\n\nSigned-off-by: Wanpeng Li \u003cliwp@linux.vnet.ibm.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44de9d0cad41f2c51ef26916842be046b582dcc9",
      "tree": "a9ce576f28e5038e9e3ae2e360cadf176dc74898",
      "parents": [
        "df858fa8276f85106f2f5c3cd49c1fa524058070"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Tue Jul 31 16:41:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:39 2012 -0700"
      },
      "message": "mm: account the total_vm in the vm_stat_account()\n\nvm_stat_account() accounts the shared_vm, stack_vm and reserved_vm now.\nBut we can also account for total_vm in the vm_stat_account() which makes\nthe code tidy.\n\nEven for mprotect_fixup(), we can get the right result in the end.\n\nSigned-off-by: Huang Shijie \u003cshijie8@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": "bca1a5c0eabe0f17081760c61e8d08e73dd6b6a6",
      "tree": "f939c6f42bf459786eb0050578044fdde56fec90",
      "parents": [
        "ec7a19bfec544aa73e347369232f9bd654954aa3",
        "194f8dcbe9629d8e9346cf96345a9c0bbf0e67ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 15:34:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 15:34:13 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates from Ingo Molnar:\n \"The biggest changes are Intel Nehalem-EX PMU uncore support, uprobes\n  updates/cleanups/fixes from Oleg and diverse tooling updates (mostly\n  fixes) now that Arnaldo is back from vacation.\"\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  uprobes: __replace_page() needs munlock_vma_page()\n  uprobes: Rename vma_address() and make it return \"unsigned long\"\n  uprobes: Fix register_for_each_vma()-\u003evma_address() check\n  uprobes: Introduce vaddr_to_offset(vma, vaddr)\n  uprobes: Teach build_probe_list() to consider the range\n  uprobes: Remove insert_vm_struct()-\u003euprobe_mmap()\n  uprobes: Remove copy_vma()-\u003euprobe_mmap()\n  uprobes: Fix overflow in vma_address()/find_active_uprobe()\n  uprobes: Suppress uprobe_munmap() from mmput()\n  uprobes: Uprobe_mmap/munmap needs list_for_each_entry_safe()\n  uprobes: Clean up and document write_opcode()-\u003elock_page(old_page)\n  uprobes: Kill write_opcode()-\u003elock_page(new_page)\n  uprobes: __replace_page() should not use page_address_in_vma()\n  uprobes: Don\u0027t recheck vma/f_mapping in write_opcode()\n  perf/x86: Fix missing struct before structure name\n  perf/x86: Fix format definition of SNB-EP uncore QPI box\n  perf/x86: Make bitfield unsigned\n  perf/x86: Fix LLC-* and node-* events on Intel SandyBridge\n  perf/x86: Add Intel Nehalem-EX uncore support\n  perf/x86: Fix typo in format definition of uncore PCU filter\n  ...\n"
    },
    {
      "commit": "4e250fdde9be50581c7dd5fed88c9b9960615314",
      "tree": "12f19a5c6f55f67d2b8dc2f24d9efa25faaa8eab",
      "parents": [
        "6d0ef903e2bda70da124c10d8ad89f2382c87991"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:13 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:14 2012 +0200"
      },
      "message": "time: Remove all direct references to timekeeper\n\nIngo noted that the numerous timekeeper.value references made\nthe timekeeping code ugly and caused many long lines that\nhad to be broken up. He recommended replacing timekeeper.value\nreferences with tk-\u003evalue.\n\nThis patch provides a local tk value for all top level time\nfunctions and sets it to \u0026timekeeper. Then all timekeeper\naccess is done via a tk pointer.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-6-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6d0ef903e2bda70da124c10d8ad89f2382c87991",
      "tree": "fae52a865dbe0757e4e5ff49ce4a7f65447e0343",
      "parents": [
        "d4e3ab384b2343c7074f713ac330f839c38c52ee"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:12 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:14 2012 +0200"
      },
      "message": "time: Clean up offs_real/wall_to_mono and offs_boot/total_sleep_time updates\n\nFor performance reasons, we maintain ktime_t based duplicates of\nwall_to_monotonic (offs_real) and total_sleep_time (offs_boot).\n\nSince large problems could occur (such as the resume regression\non 3.5-rc7, or the leapsecond hrtimer issue) if these value\npairs were to be inconsistently updated, this patch this cleans\nup how we modify these value pairs to ensure we are always\nconsistent.\n\nAs a side-effect this is also more efficient as we only\ncaulculate the duplicate values when they are changed,\nrather then every update_wall_time call.\n\nThis also provides WARN_ONs to detect if future changes break\nthe invariants.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-5-git-send-email-john.stultz@linaro.org\n[ Cleaned up minor style issues. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d4e3ab384b2343c7074f713ac330f839c38c52ee",
      "tree": "f5e387e160533e7bb6a7b6fb70b9564b7aa31283",
      "parents": [
        "02ab20ae38337b99b5c29c81090f594b8fd61283"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:11 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:13 2012 +0200"
      },
      "message": "time: Clean up stray newlines\n\nIngo noted inconsistent newline usage between functions.\nThis patch cleans those up.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-4-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "02ab20ae38337b99b5c29c81090f594b8fd61283",
      "tree": "c64ac720c8af5230e4f9e2aa7c56ede8f86b31f3",
      "parents": [
        "a7ea3bbf5d58f4df2265d312f91d5769eabc8144"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:10 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:12 2012 +0200"
      },
      "message": "time/jiffies: Rename ACTHZ to SHIFTED_HZ\n\nIngo noted that ACTHZ is a confusing name, and requested it\nbe renamed, so this patch renames ACTHZ to SHIFTED_HZ to\nbetter describe it.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-3-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1f815faec46e83bc96039797151846b60875bb06",
      "tree": "41a874f8090e3f69c8a9f13e3c85dd7a371e569b",
      "parents": [
        "b44d50dcacea0d485ca2ff9140f8cc28ee22f28d",
        "e2b34e311be3a57c9abcb927e37a57e38913714c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:05:27 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:05:27 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/urgent\n\nMerge in Linus\u0027s branch which already has timers/core merged.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e6dab5ffab59e910ec0e3355f4a6f29f7a7be474",
      "tree": "87acf0fb071b8d09794ac7d834cb256de030cceb",
      "parents": [
        "d07bdfd322d307789f15b427dbcc39257665356f"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Wed Jul 11 18:14:58 2012 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:02:05 2012 +0200"
      },
      "message": "perf/trace: Add ability to set a target task for events\n\nA few events are interesting not only for a current task.\nFor example, sched_stat_* events are interesting for a task\nwhich wakes up. For this reason, it will be good if such\nevents will be delivered to a target task too.\n\nNow a target task can be set by using __perf_task().\n\nThe original idea and a draft patch belongs to Peter Zijlstra.\n\nI need these events for profiling sleep times. sched_switch is used for\ngetting callchains and sched_stat_* is used for getting time periods.\nThese events are combined in user space, then it can be analyzed by\nperf tools.\n\nInspired-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1342016098-213063-1-git-send-email-avagin@openvz.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b9403130a5350fca59a50ed11c198cb8c7e54119",
      "tree": "68a4a4c6c270c14e7bbfa4c928e0e2a864ac4127",
      "parents": [
        "a7e4786b937a3ae918a7520cfdba557a80915fa7"
      ],
      "author": {
        "name": "Michael Wang",
        "email": "wangyun@linux.vnet.ibm.com",
        "time": "Thu Jul 12 16:10:13 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:00:16 2012 +0200"
      },
      "message": "sched/cleanups: Add load balance cpumask pointer to \u0027struct lb_env\u0027\n\nWith this patch struct ld_env will have a pointer of the load balancing\ncpumask and we don\u0027t need to pass a cpumask around anymore.\n\nSigned-off-by: Michael Wang \u003cwangyun@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4FFE8665.3080705@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b10d22d6e8f76b9e94871aebe0fc62aab2748200",
      "tree": "fd2452bd709147091ac03f7d458d974e1f8d5ab4",
      "parents": [
        "07cd27bbd4d07af6c3e24ae479316a69e7935e1e"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Mon Jul 30 04:58:10 2012 -0700"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jul 31 08:16:43 2012 -0500"
      },
      "message": "kernel/debug: Make use of KGDB_REASON_NMI\n\nCurrently kernel never set KGDB_REASON_NMI. We do now, when we enter\nKGDB/KDB from an NMI.\n\nThis is not to be confused with kgdb_nmicallback(), NMI callback is\nan entry for the slave CPUs during CPUs roundup, but REASON_NMI is the\nentry for the master CPU.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "07cd27bbd4d07af6c3e24ae479316a69e7935e1e",
      "tree": "74eb5854bcd9d8d838031c0359c82c6621b79363",
      "parents": [
        "0f26d0e0a715556270d85b7946b99546a2f92888"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Jul 30 22:44:41 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jul 31 08:16:43 2012 -0500"
      },
      "message": "kdb: Remove cpu from the more prompt\n\nHaving the CPU in the more prompt is completely redundent vs the\nstandard kdb prompt, and it also wastes 32 bytes on the stack.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "0f26d0e0a715556270d85b7946b99546a2f92888",
      "tree": "4dcfb4d8e509d958badde6f099650b382e7b7733",
      "parents": [
        "28a33cbc24e4256c143dce96c7d93bf423229f92"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Jul 30 22:44:41 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jul 31 08:16:42 2012 -0500"
      },
      "message": "kdb: Remove unused KDB_FLAG_ONLY_DO_DUMP\n\nThis code cleanup was missed in the original kdb merge, and this code\nis simply not used at all.  The code that was previously used to set\nthe KDB_FLAG_ONLY_DO_DUMP was removed prior to the initial kdb merge.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "65fed8f6f23070b56d0ed3841173ddd410130a89",
      "tree": "d9549d5cc05f74789bd34a400ce3275c9c224c01",
      "parents": [
        "f7e1becb078c2b996420a61f2a411ef19335e2da"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "octavian.purdila@intel.com",
        "time": "Mon Jul 30 14:42:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:21 2012 -0700"
      },
      "message": "resource: make sure requested range is included in the root range\n\nWhen the requested range is outside of the root range the logic in\n__reserve_region_with_split will cause an infinite recursion which will\noverflow the stack as seen in the warning bellow.\n\nThis particular stack overflow was caused by requesting the\n(100000000-107ffffff) range while the root range was (0-ffffffff).  In\nthis case __request_resource would return the whole root range as\nconflict range (i.e.  0-ffffffff).  Then, the logic in\n__reserve_region_with_split would continue the recursion requesting the\nnew range as (conflict-\u003eend+1, end) which incidentally in this case\nequals the originally requested range.\n\nThis patch aborts looking for an usable range when the request does not\nintersect with the root range.  When the request partially overlaps with\nthe root range, it ajust the request to fall in the root range and then\ncontinues with the new request.\n\nWhen the request is modified or aborted errors and a stack trace are\nlogged to allow catching the errors in the upper layers.\n\n[    5.968374] WARNING: at kernel/sched.c:4129 sub_preempt_count+0x63/0x89()\n[    5.975150] Modules linked in:\n[    5.978184] Pid: 1, comm: swapper Not tainted 3.0.22-mid27-00004-gb72c817 #46\n[    5.985324] Call Trace:\n[    5.987759]  [\u003cc1039dfc\u003e] ? console_unlock+0x17b/0x18d\n[    5.992891]  [\u003cc1039620\u003e] warn_slowpath_common+0x48/0x5d\n[    5.998194]  [\u003cc1031758\u003e] ? sub_preempt_count+0x63/0x89\n[    6.003412]  [\u003cc1039644\u003e] warn_slowpath_null+0xf/0x13\n[    6.008453]  [\u003cc1031758\u003e] sub_preempt_count+0x63/0x89\n[    6.013499]  [\u003cc14d60c4\u003e] _raw_spin_unlock+0x27/0x3f\n[    6.018453]  [\u003cc10c6349\u003e] add_partial+0x36/0x3b\n[    6.022973]  [\u003cc10c7c0a\u003e] deactivate_slab+0x96/0xb4\n[    6.027842]  [\u003cc14cf9d9\u003e] __slab_alloc.isra.54.constprop.63+0x204/0x241\n[    6.034456]  [\u003cc103f78f\u003e] ? kzalloc.constprop.5+0x29/0x38\n[    6.039842]  [\u003cc103f78f\u003e] ? kzalloc.constprop.5+0x29/0x38\n[    6.045232]  [\u003cc10c7dc9\u003e] kmem_cache_alloc_trace+0x51/0xb0\n[    6.050710]  [\u003cc103f78f\u003e] ? kzalloc.constprop.5+0x29/0x38\n[    6.056100]  [\u003cc103f78f\u003e] kzalloc.constprop.5+0x29/0x38\n[    6.061320]  [\u003cc17b45e9\u003e] __reserve_region_with_split+0x1c/0xd1\n[    6.067230]  [\u003cc17b4693\u003e] __reserve_region_with_split+0xc6/0xd1\n...\n[    7.179057]  [\u003cc17b4693\u003e] __reserve_region_with_split+0xc6/0xd1\n[    7.184970]  [\u003cc17b4779\u003e] reserve_region_with_split+0x30/0x42\n[    7.190709]  [\u003cc17a8ebf\u003e] e820_reserve_resources_late+0xd1/0xe9\n[    7.196623]  [\u003cc17c9526\u003e] pcibios_resource_survey+0x23/0x2a\n[    7.202184]  [\u003cc17cad8a\u003e] pcibios_init+0x23/0x35\n[    7.206789]  [\u003cc17ca574\u003e] pci_subsys_init+0x3f/0x44\n[    7.211659]  [\u003cc1002088\u003e] do_one_initcall+0x72/0x122\n[    7.216615]  [\u003cc17ca535\u003e] ? pci_legacy_init+0x3d/0x3d\n[    7.221659]  [\u003cc17a27ff\u003e] kernel_init+0xa6/0x118\n[    7.226265]  [\u003cc17a2759\u003e] ? start_kernel+0x334/0x334\n[    7.231223]  [\u003cc14d7482\u003e] kernel_thread_helper+0x6/0x10\n\nSigned-off-by: Octavian Purdila \u003coctavian.purdila@intel.com\u003e\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25353b3377d5a75d4b830477bb90a3691155de72",
      "tree": "fc1227929cb2cf7c5356e19c5adbb238bcfb14bb",
      "parents": [
        "fd4b616b0fbb77e3f349e7d60914f2b7c7e39f9c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Jul 30 14:42:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:21 2012 -0700"
      },
      "message": "taskstats: check nla_reserve() return\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d44621\n\nReported-by: \u003crucsoftsec@gmail.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd4b616b0fbb77e3f349e7d60914f2b7c7e39f9c",
      "tree": "a0cc595c7680bd08467fb803738d534cfa8f150e",
      "parents": [
        "c1d7e01d7877a397655277a920aeaa3830ed9461"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 30 14:42:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:21 2012 -0700"
      },
      "message": "sysctl: suppress kmemleak messages\n\nregister_sysctl_table() is a strange function, as it makes internal\nallocations (a header) to register a sysctl_table.  This header is a\nhandle to the table that is created, and can be used to unregister the\ntable.  But if the table is permanent and never unregistered, the header\nacts the same as a static variable.\n\nUnfortunately, this allocation of memory that is never expected to be\nfreed fools kmemleak in thinking that we have leaked memory.  For those\nsysctl tables that are never unregistered, and have no pointer referencing\nthem, kmemleak will think that these are memory leaks:\n\nunreferenced object 0xffff880079fb9d40 (size 192):\n  comm \"swapper/0\", pid 0, jiffies 4294667316 (age 12614.152s)\n  hex dump (first 32 bytes):\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cffffffff8146b590\u003e] kmemleak_alloc+0x73/0x98\n    [\u003cffffffff8110a935\u003e] kmemleak_alloc_recursive.constprop.42+0x16/0x18\n    [\u003cffffffff8110b852\u003e] __kmalloc+0x107/0x153\n    [\u003cffffffff8116fa72\u003e] kzalloc.constprop.8+0xe/0x10\n    [\u003cffffffff811703c9\u003e] __register_sysctl_paths+0xe1/0x160\n    [\u003cffffffff81170463\u003e] register_sysctl_paths+0x1b/0x1d\n    [\u003cffffffff8117047d\u003e] register_sysctl_table+0x18/0x1a\n    [\u003cffffffff81afb0a1\u003e] sysctl_init+0x10/0x14\n    [\u003cffffffff81b05a6f\u003e] proc_sys_init+0x2f/0x31\n    [\u003cffffffff81b0584c\u003e] proc_root_init+0xa5/0xa7\n    [\u003cffffffff81ae5b7e\u003e] start_kernel+0x3d0/0x40a\n    [\u003cffffffff81ae52a7\u003e] x86_64_start_reservations+0xae/0xb2\n    [\u003cffffffff81ae53ad\u003e] x86_64_start_kernel+0x102/0x111\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nThe sysctl_base_table used by sysctl itself is one such instance that\nregisters the table to never be unregistered.\n\nUse kmemleak_not_leak() to suppress the kmemleak false positive.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63dca8d5b5ef7effb58b8d6892a024125c0fab0b",
      "tree": "057bc9465bada7c101114c3aaee24f3b50dfd4db",
      "parents": [
        "f19b9f74b7ea3b21ddcee55d852a6488239608a4"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Mon Jul 30 14:42:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:20 2012 -0700"
      },
      "message": "kdump: append newline to the last lien of vmcoreinfo note\n\nThe last line of vmcoreinfo note does not end with \\n.  Parsing all the\nlines in note becomes easier if all lines end with \\n instead of trying to\nspecial case the last line.\n\nI know at least one tool, vmcore-dmesg in kexec-tools tree which made the\nassumption that all lines end with \\n.  I think it is a good idea to fix\nit.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Atsushi Kumagai \u003ckumagai-atsushi@mxc.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": "f19b9f74b7ea3b21ddcee55d852a6488239608a4",
      "tree": "d57515cb110bc8b30043e1ab67c962ab78898e2f",
      "parents": [
        "87bec58a52652e2eb2a575692a40f9466c7bd31b"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jul 30 14:42:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:20 2012 -0700"
      },
      "message": "fork: fix error handling in dup_task()\n\nThe function dup_task() may fail at the following function calls in the\nfollowing order.\n\n0) alloc_task_struct_node()\n1) alloc_thread_info_node()\n2) arch_dup_task_struct()\n\nError by 0) is not a matter, it can just return.  But error by 1) requires\nreleasing task_struct allocated by 0) before it returns.  Likewise, error\nby 2) requires releasing task_struct and thread_info allocated by 0) and\n1).\n\nThe existing error handling calls free_task_struct() and\nfree_thread_info() which do not only release task_struct and thread_info,\nbut also call architecture specific arch_release_task_struct() and\narch_release_thread_info().\n\nThe problem is that task_struct and thread_info are not fully initialized\nyet at this point, but arch_release_task_struct() and\narch_release_thread_info() are called with them.\n\nFor example, x86 defines its own arch_release_task_struct() that releases\na task_xstate.  If alloc_thread_info_node() fails in dup_task(),\narch_release_task_struct() is called with task_struct which is just\nallocated and filled with garbage in this error handling.\n\nThis actually happened with tools/testing/fault-injection/failcmd.sh\n\n\t# env FAILCMD_TYPE\u003dfail_page_alloc \\\n\t\t./tools/testing/fault-injection/failcmd.sh --times\u003d100 \\\n\t\t--min-order\u003d0 --ignore-gfp-wait\u003d0 \\\n\t\t-- make -C tools/testing/selftests/ run_tests\n\nIn order to fix this issue, make free_{task_struct,thread_info}() not to\ncall arch_release_{task_struct,thread_info}() and call\narch_release_{task_struct,thread_info}() implicitly where needed.\n\nDefault arch_release_task_struct() and arch_release_thread_info() are\ndefined as empty by default.  So this change only affects the\narchitectures which implement their own arch_release_task_struct() or\narch_release_thread_info() as listed below.\n\narch_release_task_struct(): x86, sh\narch_release_thread_info(): mn10300, tile\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Salman Qazi \u003csqazi@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87bec58a52652e2eb2a575692a40f9466c7bd31b",
      "tree": "bd7d6408b61ee2c1ad6df9f0b44277fb08e75034",
      "parents": [
        "b2412b7fa7a3816fa8633dc2ff19f1a90aabe423"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jul 30 14:42:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:20 2012 -0700"
      },
      "message": "revert \"sched: Fix fork() error path to not crash\"\n\nTo make way for \"fork: fix error handling in dup_task()\", which fixes the\nerrors more completely.\n\nCc: Salman Qazi \u003csqazi@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Akinobu Mita \u003cakinobu.mita@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": "b2412b7fa7a3816fa8633dc2ff19f1a90aabe423",
      "tree": "5059c916b993726b3b208859f35c8b59761f2656",
      "parents": [
        "bc452b4b65bd589083a7a7ba4f14f85dfc8454fa"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon Jul 30 14:42:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:20 2012 -0700"
      },
      "message": "fork: use vma_pages() to simplify the code\n\nThe current code can be replaced by vma_pages().  So use it to simplify\nthe code.\n\n[akpm@linux-foundation.org: initialise `len\u0027 at its definition site]\nSigned-off-by: Huang Shijie \u003cshijie8@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": "0f20784d4ba3f88ca33b703b23372d8ccf6dbd42",
      "tree": "3cb33ac4afdf3679e12520f579e2e1a607f33670",
      "parents": [
        "79c743dd1e8de61c31f484c0a1b48930543044b3"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@i-love.sakura.ne.jp",
        "time": "Mon Jul 30 14:42:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:20 2012 -0700"
      },
      "message": "kmod: avoid deadlock from recursive kmod call\n\nThe system deadlocks (at least since 2.6.10) when\ncall_usermodehelper(UMH_WAIT_EXEC) request triggers\ncall_usermodehelper(UMH_WAIT_PROC) request.\n\nThis is because \"khelper thread is waiting for the worker thread at\nwait_for_completion() in do_fork() since the worker thread was created\nwith CLONE_VFORK flag\" and \"the worker thread cannot call complete()\nbecause do_execve() is blocked at UMH_WAIT_PROC request\" and \"the khelper\nthread cannot start processing UMH_WAIT_PROC request because the khelper\nthread is waiting for the worker thread at wait_for_completion() in\ndo_fork()\".\n\nThe easiest example to observe this deadlock is to use a corrupted\n/sbin/hotplug binary (like shown below).\n\n  # : \u003e /tmp/dummy\n  # chmod 755 /tmp/dummy\n  # echo /tmp/dummy \u003e /proc/sys/kernel/hotplug\n  # modprobe whatever\n\ncall_usermodehelper(\"/tmp/dummy\", UMH_WAIT_EXEC) is called from\nkobject_uevent_env() in lib/kobject_uevent.c upon loading/unloading a\nmodule.  do_execve(\"/tmp/dummy\") triggers a call to\nrequest_module(\"binfmt-0000\") from search_binary_handler() which in turn\ncalls call_usermodehelper(UMH_WAIT_PROC).\n\nIn order to avoid deadlock, as a for-now and easy-to-backport solution, do\nnot try to call wait_for_completion() in call_usermodehelper_exec() if the\nworker thread was created by khelper thread with CLONE_VFORK flag.  Future\nand fundamental solution might be replacing singleton khelper thread with\nsome workqueue so that recursive calls up to max_active dependency loop\ncan be handled without deadlock.\n\n[akpm@linux-foundation.org: add comment to kmod_thread_locker]\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@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": "79c743dd1e8de61c31f484c0a1b48930543044b3",
      "tree": "ba52350fdd587f56182e9d92f94c37f0519c79a2",
      "parents": [
        "deb8274a0cf44827ec260330cc1d94d0f3dcfb94"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jul 30 14:42:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:20 2012 -0700"
      },
      "message": "kernel/kmod.c: document call_usermodehelper_fns() a bit\n\nThis function\u0027s interface is, uh, subtle.  Attempt to apologise for it.\n\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "088a52aac810655c1db1e40331e4936946701e9c",
      "tree": "51ad8938a70c0bd3a08c74379dbec3107037d602",
      "parents": [
        "04d2c8c83d0e3ac5f78aeede51babb3236200112"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 30 14:40:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:14 2012 -0700"
      },
      "message": "printk: only look for prefix levels in kernel messages\n\nvprintk_emit() prefix parsing should only be done for internal kernel\nmessages.  This allows existing behavior to be kept in all cases.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acc8fa41ad31c576cdbc569cc3e0e443b1b98b44",
      "tree": "74b4072203646bd7432249e57f5a1505fa346b5e",
      "parents": [
        "cdf53441368cc02ee4aa8a8343a5dc25132836f0"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 30 14:40:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "printk: add generic functions to find KERN_\u003cLEVEL\u003e headers\n\nThe current form of a KERN_\u003cLEVEL\u003e is \"\u003c.\u003e\".\n\nAdd printk_get_level and printk_skip_level functions to handle these\nformats.\n\nThese functions centralize tests of KERN_\u003cLEVEL\u003e so a future modification\ncan change the KERN_\u003cLEVEL\u003e style and shorten the number of bytes consumed\nby these headers.\n\n[akpm@linux-foundation.org: fix build error and warning]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Wu Fengguang \u003cwfg@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdf53441368cc02ee4aa8a8343a5dc25132836f0",
      "tree": "3867dc7e3a4477f7d2ed9ed5990b6d71f075c0d2",
      "parents": [
        "5353cf089bb32b69a7515be909c14bf05fe2e81e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon Jul 30 14:40:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "kmsg: /dev/kmsg - properly return possible copy_from_user() failure\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b57b44ae698944ffc6161352b8ff5c9cf9c592e2",
      "tree": "15d8d4c9681c2cba7c882f29b1b4f88378928095",
      "parents": [
        "45226e944ce071d0231949f2fea90969437cd2dc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jul 30 14:40:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "kernel/sys.c: avoid argv_free(NULL)\n\nIf argv_split() failed, the code will end up calling argv_free(NULL).  Fix\nit up and clean things up a bit.\n\nAddresses Coverity report 703573.\n\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: David Rientjes \u003crientjes@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": "45226e944ce071d0231949f2fea90969437cd2dc",
      "tree": "6f323df1f61d028f77175525ae54948820cd09a1",
      "parents": [
        "190320c3b6640d4104650f55ff69611e050ea06b"
      ],
      "author": {
        "name": "Sameer Nanda",
        "email": "snanda@chromium.org",
        "time": "Mon Jul 30 14:40:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "NMI watchdog: fix for lockup detector breakage on resume\n\nOn the suspend/resume path the boot CPU does not go though an\noffline-\u003eonline transition.  This breaks the NMI detector post-resume\nsince it depends on PMU state that is lost when the system gets\nsuspended.\n\nFix this by forcing a CPU offline-\u003eonline transition for the lockup\ndetector on the boot CPU during resume.\n\nTo provide more context, we enable NMI watchdog on Chrome OS.  We have\nseen several reports of systems freezing up completely which indicated\nthat the NMI watchdog was not firing for some reason.\n\nDebugging further, we found a simple way of repro\u0027ing system freezes --\nissuing the command \u0027tasket 1 sh -c \"echo nmilockup \u003e /proc/breakme\"\u0027\nafter the system has been suspended/resumed one or more times.\n\nWith this patch in place, the system freeze result in panics, as\nexpected.\n\nThese panics provide a nice stack trace for us to debug the actual issue\ncausing the freeze.\n\n[akpm@linux-foundation.org: fiddle with code comment]\n[akpm@linux-foundation.org: make lockup_detector_bootcpu_resume() conditional on CONFIG_SUSPEND]\n[akpm@linux-foundation.org: fix section errors]\nSigned-off-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Anshuman Khandual \u003ckhandual@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": "190320c3b6640d4104650f55ff69611e050ea06b",
      "tree": "94d43c11e025e4b4efc577a2cf88a29250d4f510",
      "parents": [
        "6c55845e71ba7a862395f504a240a5b62632e0d6"
      ],
      "author": {
        "name": "Vikram Mulukutla",
        "email": "markivx@codeaurora.org",
        "time": "Mon Jul 30 14:39:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "panic: fix a possible deadlock in panic()\n\npanic_lock is meant to ensure that panic processing takes place only on\none cpu; if any of the other cpus encounter a panic, they will spin\nwaiting to be shut down.\n\nHowever, this causes a regression in this scenario:\n\n1. Cpu 0 encounters a panic and acquires the panic_lock\n   and proceeds with the panic processing.\n2. There is an interrupt on cpu 0 that also encounters\n   an error condition and invokes panic.\n3. This second invocation fails to acquire the panic_lock\n   and enters the infinite while loop in panic_smp_self_stop.\n\nThus all panic processing is stopped, and the cpu is stuck for eternity\nin the while(1) inside panic_smp_self_stop.\n\nTo address this, disable local interrupts with local_irq_disable before\nacquiring the panic_lock.  This will prevent interrupt handlers from\nexecuting during the panic processing, thus avoiding this particular\nproblem.\n\nSigned-off-by: Vikram Mulukutla \u003cmarkivx@codeaurora.org\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Michael Holzheu \u003cholzheu@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": "54b501992dd2a839e94e76aa392c392b55080ce8",
      "tree": "6d174fb95516f01e385d31d5ef87a248d8740fd2",
      "parents": [
        "9520628e8ceb69fa9a4aee6b57f22675d9e1b709"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Jul 30 14:39:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:11 2012 -0700"
      },
      "message": "coredump: warn about unsafe suid_dumpable / core_pattern combo\n\nWhen suid_dumpable\u003d2, detect unsafe core_pattern settings and warn when\nthey are seen.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: James Morris \u003cjames.l.morris@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": "f1fd75bfa07822b1de314062baff3280419a8bf4",
      "tree": "7f5b234b6554dfa1459c32e3f941b3481700b044",
      "parents": [
        "6c4088ac3a4d82779903433bcd5f048c58fb1aca"
      ],
      "author": {
        "name": "Sasikantha babu",
        "email": "sasikanth.v19@gmail.com",
        "time": "Mon Jul 30 14:39:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:11 2012 -0700"
      },
      "message": "prctl: remove redunant assignment of \"error\" to zero\n\nJust setting the \"error\" to error number is enough on failure and It\ndoesn\u0027t require to set \"error\" variable to zero in each switch case,\nsince it was already initialized with zero.  And also removed return 0\nin switch case with break statement\n\nSigned-off-by: Sasikantha babu \u003csasikanth.v19@gmail.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "194f8dcbe9629d8e9346cf96345a9c0bbf0e67ae",
      "tree": "10aac2913ee4f9263af68c42682c456788d990fe",
      "parents": [
        "57683f72b8c01c53c85fe13e82fe1feb3a06bcd5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 29 20:22:49 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 30 11:27:25 2012 +0200"
      },
      "message": "uprobes: __replace_page() needs munlock_vma_page()\n\nLike do_wp_page(), __replace_page() should do munlock_vma_page()\nfor the case when the old page still has other !VM_LOCKED\nmappings. Unfortunately this needs mm/internal.h.\n\nAlso, move put_page() outside of ptl lock. This doesn\u0027t really\nmatter but looks a bit better.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar.vnet.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120729182249.GA20372@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "57683f72b8c01c53c85fe13e82fe1feb3a06bcd5",
      "tree": "87014149ef710e9f3c0af87cd6ec3118fc4eb723",
      "parents": [
        "f4d6dfe55115efe981b4b5f37183ddccaaa792f0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 29 20:22:47 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 30 11:27:25 2012 +0200"
      },
      "message": "uprobes: Rename vma_address() and make it return \"unsigned long\"\n\n1. vma_address() returns loff_t, this looks confusing and this\n   is unnecessary after the previous change. Make it return \"ulong\",\n   all callers truncate the result anyway.\n\n2. Its name conflicts with mm/rmap.c:vma_address(), rename it to\n   offset_to_vaddr(), this matches vaddr_to_offset().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar.vnet.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120729182247.GA20365@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f4d6dfe55115efe981b4b5f37183ddccaaa792f0",
      "tree": "2d81b1b5a17334895282b42de6134b4e2dcf9f24",
      "parents": [
        "cb113b47d098185f3f1f67e8300d05ddce842b66"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 29 20:22:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 30 11:27:24 2012 +0200"
      },
      "message": "uprobes: Fix register_for_each_vma()-\u003evma_address() check\n\n1. register_for_each_vma() checks that vma_address() \u003d\u003d vaddr,\n   but this is not enough. We should also ensure that\n   vaddr \u003e\u003d vm_start, find_vma() guarantees \"vaddr \u003c vm_end\" only.\n\n2. After the prevous changes, register_for_each_vma() is the\n   only reason why vma_address() has to return loff_t, all other\n   users know that we have the valid mapping at this offset and\n   thus the overflow is not possible.\n\n   Change the code to use vaddr_to_offset() instead, imho this looks\n   more clean/understandable and now we can change vma_address().\n\n3. While at it, remove the unnecessary type-cast.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar.vnet.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120729182244.GA20362@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cb113b47d098185f3f1f67e8300d05ddce842b66",
      "tree": "86601eb6728a4142e94e4cc3e45697840f6b0768",
      "parents": [
        "891c39708144bbe401b4aa151bffd0fe41b1dafd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 29 20:22:42 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 30 11:27:24 2012 +0200"
      },
      "message": "uprobes: Introduce vaddr_to_offset(vma, vaddr)\n\nAdd the new helper, vaddr_to_offset(vma, vaddr) which returns\nthe offset in vma-\u003evm_file this vaddr is mapped at.\n\nChange build_probe_list() and find_active_uprobe() to use the\nnew helper, the next patch adds another user.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar.vnet.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120729182242.GA20355@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "891c39708144bbe401b4aa151bffd0fe41b1dafd",
      "tree": "4d49f2169a6f1e7051fd1b88a8a0fbe612a9224e",
      "parents": [
        "89133786f9408d53361874a8c784fff150fc7f7c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 29 20:22:40 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 30 11:27:23 2012 +0200"
      },
      "message": "uprobes: Teach build_probe_list() to consider the range\n\nCurrently build_probe_list() builds the list of all uprobes\nattached to the given inode, and the caller should filter out\nthose who don\u0027t fall into the [start,end) range, this is\nsub-optimal.\n\nThis patch turns find_least_offset_node() into\nfind_node_in_range() which returns the first node inside the\n[min,max] range, and changes build_probe_list() to use this node\nas a starting point for rb_prev() and rb_next() to find all\nother nodes the caller needs. The resulting list is no longer\nsorted but we do not care.\n\nThis can speed up both build_probe_list() and the callers, but\nthere is another reason to introduce find_node_in_range(). It\ncan be used to figure out whether the given vma has uprobes or\nnot, this will be needed soon.\n\nWhile at it, shift INIT_LIST_HEAD(tmp_list) into\nbuild_probe_list().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar.vnet.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120729182240.GA20352@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "aefd8933d445abf7ff0d4027c624737898827bcd",
      "tree": "f32864bfa64158141326ac35bc57204e49b2774f",
      "parents": [
        "2fd611a991391a6050cbd139201a2e12fc306540"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 29 20:22:33 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 30 11:27:21 2012 +0200"
      },
      "message": "uprobes: Fix overflow in vma_address()/find_active_uprobe()\n\nvma-\u003evm_pgoff is \"unsigned long\", it should be promoted to\nloff_t before the multiplication to avoid the overflow.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar.vnet.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120729182233.GA20339@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2fd611a991391a6050cbd139201a2e12fc306540",
      "tree": "8233d2ba7dd41e29c6477d4905b6fdc1e7a721e0",
      "parents": [
        "665605a2a207dbe1fa429b474f932d6ea138ba92"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 29 20:22:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jul 30 11:27:21 2012 +0200"
      },
      "message": "uprobes: Suppress uprobe_munmap() from mmput()\n\nuprobe_munmap() does get_user_pages() and it is also called from\nthe final mmput()-\u003eexit_mmap() path. This slows down\nexit/mmput() for no reason, and I think  it is simply\ndangerous/wrong to try to fault-in a page into the dying mm. If\nnothing else, this happens after the last sync_mm_rss(), afaics\nhandle_mm_fault() can change the task-\u003erss_stat and make the\nsubsequent check_mm() unhappy.\n\nChange uprobe_munmap() to check mm-\u003emm_users !\u003d 0.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar.vnet.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120729182231.GA20336@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    }
  ],
  "next": "665605a2a207dbe1fa429b474f932d6ea138ba92"
}
