)]}'
{
  "log": [
    {
      "commit": "4d7981bfc21f7b6ef48f9a819d2c9969ad6eea71",
      "tree": "bcfce7dceeba920d49de2f696b1f12380818bafc",
      "parents": [
        "0d38a8789caf511e5b997caf76eb32fddbff051c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 29 22:31:16 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 17 08:50:51 2013 -0800"
      },
      "message": "ring-buffer: Fix race between integrity check and readers\n\ncommit 9366c1ba13fbc41bdb57702e75ca4382f209c82f upstream.\n\nThe function rb_check_pages() was added to make sure the ring buffer\u0027s\npages were sane. This check is done when the ring buffer size is modified\nas well as when the iterator is released (closing the \"trace\" file),\nas that was considered a non fast path and a good place to do a sanity\ncheck.\n\nThe problem is that the check does not have any locks around it.\nIf one process were to read the trace file, and another were to read\nthe raw binary file, the check could happen while the reader is reading\nthe file.\n\nThe issues with this is that the check requires to clear the HEAD page\nbefore doing the full check and it restores it afterward. But readers\nrequire the HEAD page to exist before it can read the buffer, otherwise\nit gives a nasty warning and disables the buffer.\n\nBy adding the reader lock around the check, this keeps the race from\nhappening.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "475261dbbf5d85e1a298886385d859ada787ae1f",
      "tree": "8f6505342bc36ca3d51798e65ea6d71cb4b10dc7",
      "parents": [
        "66f8b956aeeeea9e5b3024f860251687f13f9013"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 19 08:13:35 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 09:06:58 2013 -0800"
      },
      "message": "cgroup: remove incorrect dget/dput() pair in cgroup_create_dir()\n\ncommit 175431635ec09b1d1bba04979b006b99e8305a83 upstream.\n\ncgroup_create_dir() does weird dancing with dentry refcnt.  On\nsuccess, it gets and then puts it achieving nothing.  On failure, it\nputs but there isn\u0027t no matching get anywhere leading to the following\noops if cgroup_create_file() fails for whatever reason.\n\n  ------------[ cut here ]------------\n  kernel BUG at /work/os/work/fs/dcache.c:552!\n  invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n  Modules linked in:\n  CPU 2\n  Pid: 697, comm: mkdir Not tainted 3.7.0-rc4-work+ #3 Bochs Bochs\n  RIP: 0010:[\u003cffffffff811d9c0c\u003e]  [\u003cffffffff811d9c0c\u003e] dput+0x1dc/0x1e0\n  RSP: 0018:ffff88001a3ebef8  EFLAGS: 00010246\n  RAX: 0000000000000000 RBX: ffff88000e5b1ef8 RCX: 0000000000000403\n  RDX: 0000000000000303 RSI: 2000000000000000 RDI: ffff88000e5b1f58\n  RBP: ffff88001a3ebf18 R08: ffffffff82c76960 R09: 0000000000000001\n  R10: ffff880015022080 R11: ffd9bed70f48a041 R12: 00000000ffffffea\n  R13: 0000000000000001 R14: ffff88000e5b1f58 R15: 00007fff57656d60\n  FS:  00007ff05fcb3800(0000) GS:ffff88001fd00000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n  CR2: 00000000004046f0 CR3: 000000001315f000 CR4: 00000000000006e0\n  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n  Process mkdir (pid: 697, threadinfo ffff88001a3ea000, task ffff880015022080)\n  Stack:\n   ffff88001a3ebf48 00000000ffffffea 0000000000000001 0000000000000000\n   ffff88001a3ebf38 ffffffff811cc889 0000000000000001 ffff88000e5b1ef8\n   ffff88001a3ebf68 ffffffff811d1fc9 ffff8800198d7f18 ffff880019106ef8\n  Call Trace:\n   [\u003cffffffff811cc889\u003e] done_path_create+0x19/0x50\n   [\u003cffffffff811d1fc9\u003e] sys_mkdirat+0x59/0x80\n   [\u003cffffffff811d2009\u003e] sys_mkdir+0x19/0x20\n   [\u003cffffffff81be1e02\u003e] system_call_fastpath+0x16/0x1b\n  Code: 00 48 8d 90 18 01 00 00 48 89 93 c0 00 00 00 4c 89 a0 18 01 00 00 48 8b 83 a0 00 00 00 83 80 28 01 00 00 01 e8 e6 6f a0 00 eb 92 \u003c0f\u003e 0b 66 90 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 49 89 fe 41\n  RIP  [\u003cffffffff811d9c0c\u003e] dput+0x1dc/0x1e0\n   RSP \u003cffff88001a3ebef8\u003e\n  ---[ end trace 1277bcfd9561ddb0 ]---\n\nFix it by dropping the unnecessary dget/dput() pair.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "09c4161c8a1fe8900561029a5d1dce8887231afd",
      "tree": "dde521f62d7a805dfc0ef269bc031e6b46d9af6a",
      "parents": [
        "1a37441ae4ad38d98c39b349137c0fb7f76b32ad"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 03 11:52:09 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 09:06:56 2013 -0800"
      },
      "message": "genirq: Always force thread affinity\n\ncommit 04aa530ec04f61875b99c12721162e2964e3318c upstream.\n\nSankara reported that the genirq core code fails to adjust the\naffinity of an interrupt thread in several cases:\n\n 1) On request/setup_irq() the call to setup_affinity() happens before\n    the new action is registered, so the new thread is not notified.\n\n 2) For secondary shared interrupts nothing notifies the new thread to\n    change its affinity.\n\n 3) Interrupts which have the IRQ_NO_BALANCE flag set are not moving\n    the thread either.\n\nFix this by setting the thread affinity flag right on thread creation\ntime. This ensures that under all circumstances the thread moves to\nthe right place. Requires a check in irq_thread_check_affinity for an\nexisting affinity mask (CONFIG_CPU_MASK_OFFSTACK\u003dy)\n\nReported-and-tested-by: Sankara Muthukrishnan \u003csankara.m@gmail.com\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1209041738200.2754@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "29251de53e1712158c29b3626a008d8b93a6e024",
      "tree": "acbbbf18020a71fd5d01beba87453b70fc24b989",
      "parents": [
        "d5a79aa30b7e6cd68dfee6a76acbe6c7f7905f51"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Oct 18 04:55:36 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 17 10:37:46 2012 -0800"
      },
      "message": "rcu: Fix batch-limit size problem\n\ncommit 878d7439d0f45a95869e417576774673d1fa243f upstream.\n\nCommit 29c00b4a1d9e27 (rcu: Add event-tracing for RCU callback\ninvocation) added a regression in rcu_do_batch()\n\nUnder stress, RCU is supposed to allow to process all items in queue,\ninstead of a batch of 10 items (blimit), but an integer overflow makes\nthe effective limit being 1.  So, unless there is frequent idle periods\n(during which RCU ignores batch limits), RCU can be forced into a\nstate where it cannot keep up with the callback-generation rate,\neventually resulting in OOM.\n\nThis commit therefore converts a few variables in rcu_do_batch() from\nint to long to fix this problem, along with the module parameters\ncontrolling the batch limits.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "455d8953951baf0d38673b010100241e508b765c",
      "tree": "094cf118760740e10acdef2f4edffd425e5a86f4",
      "parents": [
        "31fdb19eb968995b3c5f4337918bd51442f992ec"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sat Jun 09 19:10:27 2012 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 17 10:37:46 2012 -0800"
      },
      "message": "ftrace: Clear bits properly in reset_iter_read()\n\ncommit 70f77b3f7ec010ff9624c1f2e39a81babc9e2429 upstream.\n\nThere is a typo here where \u0027\u0026\u0027 is used instead of \u0027|\u0027 and it turns the\nstatement into a noop.  The original code is equivalent to:\n\n\titer-\u003eflags \u0026\u003d ~((1 \u003c\u003c 2) \u0026 (1 \u003c\u003c 4));\n\nLink: http://lkml.kernel.org/r/20120609161027.GD6488@elgon.mountain\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "4afca924c03e95345be979bfb7abbfa85963fada",
      "tree": "75874997200733af14b43737abd0fd19b0b84ada",
      "parents": [
        "a11bf0aa146b60e917dc30348e301d6a7d13dcbd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 04 07:40:39 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 17 10:37:43 2012 -0800"
      },
      "message": "workqueue: convert BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s\n\ncommit fc4b514f2727f74a4587c31db87e0e93465518c3 upstream.\n\n8852aac25e (\"workqueue: mod_delayed_work_on() shouldn\u0027t queue timer on\n0 delay\") unexpectedly uncovered a very nasty abuse of delayed_work in\nmegaraid - it allocated work_struct, casted it to delayed_work and\nthen pass that into queue_delayed_work().\n\nPreviously, this was okay because 0 @delay short-circuited to\nqueue_work() before doing anything with delayed_work.  8852aac25e\nmoved 0 @delay test into __queue_delayed_work() after sanity check on\ndelayed_work making megaraid trigger BUG_ON().\n\nAlthough megaraid is already fixed by c1d390d8e6 (\"megaraid: fix\nBUG_ON() from incorrect use of delayed work\"), this patch converts\nBUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s so that such\nabusers, if there are more, trigger warning but don\u0027t crash the\nmachine.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Xiaotian Feng \u003cxtfeng@gmail.com\u003e\nSigned-off-by: Shuah Khan \u003cshuah.khan@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3d81da8645585b9c116a7ac20b99ac8909677c80",
      "tree": "a62c27746288ba6e17666bfa6aa017ec3ff3f576",
      "parents": [
        "43477d60e75490b168627aaafccb7032b28d2574"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Dec 03 06:25:25 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 10 10:59:40 2012 -0800"
      },
      "message": "Revert \"sched, autogroup: Stop going ahead if autogroup is disabled\"\n\ncommit fd8ef11730f1d03d5d6555aa53126e9e34f52f12 upstream.\n\nThis reverts commit 800d4d30c8f20bd728e5741a3b77c4859a613f7c.\n\nBetween commits 8323f26ce342 (\"sched: Fix race in task_group()\") and\n800d4d30c8f2 (\"sched, autogroup: Stop going ahead if autogroup is\ndisabled\"), autogroup is a wreck.\n\nWith both applied, all you have to do to crash a box is disable\nautogroup during boot up, then reboot..  boom, NULL pointer dereference\ndue to commit 800d4d30c8f2 not allowing autogroup to move things, and\ncommit 8323f26ce342 making that the only way to switch runqueues:\n\n  BUG: unable to handle kernel NULL pointer dereference at           (null)\n  IP: [\u003cffffffff81063ac0\u003e] effective_load.isra.43+0x50/0x90\n  Pid: 7047, comm: systemd-user-se Not tainted 3.6.8-smp #7 MEDIONPC MS-7502/MS-7502\n  RIP: effective_load.isra.43+0x50/0x90\n  Process systemd-user-se (pid: 7047, threadinfo ffff880221dde000, task ffff88022618b3a0)\n  Call Trace:\n    select_task_rq_fair+0x255/0x780\n    try_to_wake_up+0x156/0x2c0\n    wake_up_state+0xb/0x10\n    signal_wake_up+0x28/0x40\n    complete_signal+0x1d6/0x250\n    __send_signal+0x170/0x310\n    send_signal+0x40/0x80\n    do_send_sig_info+0x47/0x90\n    group_send_sig_info+0x4a/0x70\n    kill_pid_info+0x3a/0x60\n    sys_kill+0x97/0x1a0\n    ? vfs_read+0x120/0x160\n    ? sys_read+0x45/0x90\n    system_call_fastpath+0x16/0x1b\n  Code: 49 0f af 41 50 31 d2 49 f7 f0 48 83 f8 01 48 0f 46 c6 48 2b 07 48 8b bf 40 01 00 00 48 85 ff 74 3a 45 31 c0 48 8b 8f 50 01 00 00 \u003c48\u003e 8b 11 4c 8b 89 80 00 00 00 49 89 d2 48 01 d0 45 8b 59 58 4c\n  RIP  [\u003cffffffff81063ac0\u003e] effective_load.isra.43+0x50/0x90\n   RSP \u003cffff880221ddfbd8\u003e\n  CR2: 0000000000000000\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "dbdd7f0c98e8ee0d49da5e8b462ad2ba07d0f358",
      "tree": "cda3dbb59914171ff1aee49b7df3c9e6b154ef6e",
      "parents": [
        "1b9dd61a10bed126661645cbf2623965fbbdefb3"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "mgalbraith@suse.de",
        "time": "Wed Nov 28 07:17:18 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 10 10:59:39 2012 -0800"
      },
      "message": "workqueue: exit rescuer_thread() as TASK_RUNNING\n\ncommit 412d32e6c98527078779e5b515823b2810e40324 upstream.\n\nA rescue thread exiting TASK_INTERRUPTIBLE can lead to a task scheduling\noff, never to be seen again.  In the case where this occurred, an exiting\nthread hit reiserfs homebrew conditional resched while holding a mutex,\nbringing the box to its knees.\n\nPID: 18105  TASK: ffff8807fd412180  CPU: 5   COMMAND: \"kdmflush\"\n #0 [ffff8808157e7670] schedule at ffffffff8143f489\n #1 [ffff8808157e77b8] reiserfs_get_block at ffffffffa038ab2d [reiserfs]\n #2 [ffff8808157e79a8] __block_write_begin at ffffffff8117fb14\n #3 [ffff8808157e7a98] reiserfs_write_begin at ffffffffa0388695 [reiserfs]\n #4 [ffff8808157e7ad8] generic_perform_write at ffffffff810ee9e2\n #5 [ffff8808157e7b58] generic_file_buffered_write at ffffffff810eeb41\n #6 [ffff8808157e7ba8] __generic_file_aio_write at ffffffff810f1a3a\n #7 [ffff8808157e7c58] generic_file_aio_write at ffffffff810f1c88\n #8 [ffff8808157e7cc8] do_sync_write at ffffffff8114f850\n #9 [ffff8808157e7dd8] do_acct_process at ffffffff810a268f\n    [exception RIP: kernel_thread_helper]\n    RIP: ffffffff8144a5c0  RSP: ffff8808157e7f58  RFLAGS: 00000202\n    RAX: 0000000000000000  RBX: 0000000000000000  RCX: 0000000000000000\n    RDX: 0000000000000000  RSI: ffffffff8107af60  RDI: ffff8803ee491d18\n    RBP: 0000000000000000   R8: 0000000000000000   R9: 0000000000000000\n    R10: 0000000000000000  R11: 0000000000000000  R12: 0000000000000000\n    R13: 0000000000000000  R14: 0000000000000000  R15: 0000000000000000\n    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018\n\nSigned-off-by: Mike Galbraith \u003cmgalbraith@suse.de\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "1103ef8e70a1725b7fd9e0cb18a8b1edb6e5c42d",
      "tree": "b8380d301e5608d6151d24adb89948b1e972c6e5",
      "parents": [
        "e84ad739d8a2143e5cd284a4c0462278587e4aa3"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Oct 09 10:18:23 2012 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 03 11:47:23 2012 -0800"
      },
      "message": "timekeeping: Cast raw_interval to u64 to avoid shift overflow\n\ncommit 5b3900cd409466c0070b234d941650685ad0c791 upstream.\n\nWe fixed a bunch of integer overflows in timekeeping code during the 3.6\ncycle.  I did an audit based on that and found this potential overflow.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20121009071823.GA19159@elgon.mountain\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\n[ herton: adapt for 3.5, timekeeper instead of tk pointer ]\nSigned-off-by: Herton Ronaldo Krzesinski \u003cherton.krzesinski@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "53b360c604575070c83d2da83636af4e5c5de35a",
      "tree": "f32a2a1681f43c565b4c36009d8e80ee947c3cd4",
      "parents": [
        "368c8c73d4648843bece41f7c083f11fa4d1aa36"
      ],
      "author": {
        "name": "Chuansheng Liu",
        "email": "chuansheng.liu@intel.com",
        "time": "Mon Nov 26 16:29:54 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 03 11:47:17 2012 -0800"
      },
      "message": "watchdog: using u64 in get_sample_period()\n\ncommit 8ffeb9b0e6369135bf03a073514f571ef10606b9 upstream.\n\nIn get_sample_period(), unsigned long is not enough:\n\n  watchdog_thresh * 2 * (NSEC_PER_SEC / 5)\n\ncase1:\n  watchdog_thresh is 10 by default, the sample value will be: 0xEE6B2800\n\ncase2:\n set watchdog_thresh is 20, the sample value will be: 0x1 DCD6 5000\n\nIn case2, we need use u64 to express the sample period.  Otherwise,\nchanging the threshold thru proc often can not be successful.\n\nSigned-off-by: liu chuansheng \u003cchuansheng.liu@intel.com\u003e\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Shuah Khan \u003cshuah.khan@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "fceca5e72e787dd0a8ea29e22a874e363389356c",
      "tree": "240a0c9388448ca7465695204862916afe53d996",
      "parents": [
        "f42513b9fd98a0f3afa8fe9bc23700b4226e1f6f"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Mon Nov 26 16:29:56 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 03 11:47:07 2012 -0800"
      },
      "message": "futex: avoid wake_futex() for a PI futex_q\n\ncommit aa10990e028cac3d5e255711fb9fb47e00700e35 upstream.\n\nDave Jones reported a bug with futex_lock_pi() that his trinity test\nexposed.  Sometime between queue_me() and taking the q.lock_ptr, the\nlock_ptr became NULL, resulting in a crash.\n\nWhile futex_wake() is careful to not call wake_futex() on futex_q\u0027s with\na pi_state or an rt_waiter (which are either waiting for a\nfutex_unlock_pi() or a PI futex_requeue()), futex_wake_op() and\nfutex_requeue() do not perform the same test.\n\nUpdate futex_wake_op() and futex_requeue() to test for q.pi_state and\nq.rt_waiter and abort with -EINVAL if detected.  To ensure any future\nbreakage is caught, add a WARN() to wake_futex() if the same condition\nis true.\n\nThis fix has seen 3 hours of testing with \"trinity -c futex\" on an\nx86_64 VM with 4 CPUS.\n\n[akpm@linux-foundation.org: tidy up the WARN()]\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nReported-by: Dave Jones \u003cdavej@redat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "0de578d014506a662b239708f4a0ded7e083292c",
      "tree": "310f65499150f1ae2f65472bc18770c667c4e7ea",
      "parents": [
        "a6a19e36b35fcb17d6c2bf9a49014e9461dfcef2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 10:49:25 2012 +1030"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:37:41 2012 -0800"
      },
      "message": "module: fix out-by-one error in kallsyms\n\ncommit 59ef28b1f14899b10d6b2682c7057ca00a9a3f47 upstream.\n\nMasaki found and patched a kallsyms issue: the last symbol in a\nmodule\u0027s symtab wasn\u0027t transferred.  This is because we manually copy\nthe zero\u0027th entry (which is always empty) then copy the rest in a loop\nstarting at 1, though from src[0].  His fix was minimal, I prefer to\nrewrite the loops in more standard form.\n\nThere are two loops: one to get the size, and one to copy.  Make these\nidentical: always count entry 0 and any defined symbol in an allocated\nnon-init section.\n\nThis bug exists since the following commit was introduced.\n   module: reduce symbol table for loaded modules (v2)\n   commit: 4a4962263f07d14660849ec134ee42b63e95ea9a\n\nLKML: http://lkml.org/lkml/2012/10/24/27\nReported-by: Masaki Kimura \u003cmasaki.kimura.kz@hitachi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "c4cbedfda2227df82126c9dd5e7593565bf45d21",
      "tree": "bdd654f05951bc06e8992ee67310ff7729acae4f",
      "parents": [
        "f0d6767af2ece14b24064258dffbc816c4258ae5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 23 22:29:38 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Nov 17 13:16:22 2012 -0800"
      },
      "message": "futex: Handle futex_pi OWNER_DIED take over correctly\n\ncommit 59fa6245192159ab5e1e17b8e31f15afa9cff4bf upstream.\n\nSiddhesh analyzed a failure in the take over of pi futexes in case the\nowner died and provided a workaround.\nSee: http://sourceware.org/bugzilla/show_bug.cgi?id\u003d14076\n\nThe detailed problem analysis shows:\n\nFutex F is initialized with PTHREAD_PRIO_INHERIT and\nPTHREAD_MUTEX_ROBUST_NP attributes.\n\nT1 lock_futex_pi(F);\n\nT2 lock_futex_pi(F);\n   --\u003e T2 blocks on the futex and creates pi_state which is associated\n       to T1.\n\nT1 exits\n   --\u003e exit_robust_list() runs\n       --\u003e Futex F userspace value TID field is set to 0 and\n           FUTEX_OWNER_DIED bit is set.\n\nT3 lock_futex_pi(F);\n   --\u003e Succeeds due to the check for F\u0027s userspace TID field \u003d\u003d 0\n   --\u003e Claims ownership of the futex and sets its own TID into the\n       userspace TID field of futex F\n   --\u003e returns to user space\n\nT1 --\u003e exit_pi_state_list()\n       --\u003e Transfers pi_state to waiter T2 and wakes T2 via\n       \t   rt_mutex_unlock(\u0026pi_state-\u003emutex)\n\nT2 --\u003e acquires pi_state-\u003emutex and gains real ownership of the\n       pi_state\n   --\u003e Claims ownership of the futex and sets its own TID into the\n       userspace TID field of futex F\n   --\u003e returns to user space\n\nT3 --\u003e observes inconsistent state\n\nThis problem is independent of UP/SMP, preemptible/non preemptible\nkernels, or process shared vs. private. The only difference is that\ncertain configurations are more likely to expose it.\n\nSo as Siddhesh correctly analyzed the following check in\nfutex_lock_pi_atomic() is the culprit:\n\n\tif (unlikely(ownerdied || !(curval \u0026 FUTEX_TID_MASK))) {\n\nWe check the userspace value for a TID value of 0 and take over the\nfutex unconditionally if that\u0027s true.\n\nAFAICT this check is there as it is correct for a different corner\ncase of futexes: the WAITERS bit became stale.\n\nNow the proposed change\n\n-\tif (unlikely(ownerdied || !(curval \u0026 FUTEX_TID_MASK))) {\n+       if (unlikely(ownerdied ||\n+                       !(curval \u0026 (FUTEX_TID_MASK | FUTEX_WAITERS)))) {\n\nsolves the problem, but it\u0027s not obvious why and it wreckages the\n\"stale WAITERS bit\" case.\n\nWhat happens is, that due to the WAITERS bit being set (T2 is blocked\non that futex) it enforces T3 to go through lookup_pi_state(), which\nin the above case returns an existing pi_state and therefor forces T3\nto legitimately fight with T2 over the ownership of the pi_state (via\npi_state-\u003emutex). Probelm solved!\n\nThough that does not work for the \"WAITERS bit is stale\" problem\nbecause if lookup_pi_state() does not find existing pi_state it\nreturns -ERSCH (due to TID \u003d\u003d 0) which causes futex_lock_pi() to\nreturn -ESRCH to user space because the OWNER_DIED bit is not set.\n\nNow there is a different solution to that problem. Do not look at the\nuser space value at all and enforce a lookup of possibly available\npi_state. If pi_state can be found, then the new incoming locker T3\nblocks on that pi_state and legitimately races with T2 to acquire the\nrt_mutex and the pi_state and therefor the proper ownership of the\nuser space futex.\n\nlookup_pi_state() has the correct order of checks. It first tries to\nfind a pi_state associated with the user space futex and only if that\nfails it checks for futex TID value \u003d 0. If no pi_state is available\nnothing can create new state at that point because this happens with\nthe hash bucket lock held.\n\nSo the above scenario changes to:\n\nT1 lock_futex_pi(F);\n\nT2 lock_futex_pi(F);\n   --\u003e T2 blocks on the futex and creates pi_state which is associated\n       to T1.\n\nT1 exits\n   --\u003e exit_robust_list() runs\n       --\u003e Futex F userspace value TID field is set to 0 and\n           FUTEX_OWNER_DIED bit is set.\n\nT3 lock_futex_pi(F);\n   --\u003e Finds pi_state and blocks on pi_state-\u003ert_mutex\n\nT1 --\u003e exit_pi_state_list()\n       --\u003e Transfers pi_state to waiter T2 and wakes it via\n       \t   rt_mutex_unlock(\u0026pi_state-\u003emutex)\n\nT2 --\u003e acquires pi_state-\u003emutex and gains ownership of the pi_state\n   --\u003e Claims ownership of the futex and sets its own TID into the\n       userspace TID field of futex F\n   --\u003e returns to user space\n\nThis covers all gazillion points on which T3 might come in between\nT1\u0027s exit_robust_list() clearing the TID field and T2 fixing it up. It\nalso solves the \"WAITERS bit stale\" problem by forcing the take over.\n\nAnother benefit of changing the code this way is that it makes it less\ndependent on untrusted user space values and therefor minimizes the\npossible wreckage which might be inflicted.\n\nAs usual after staring for too long at the futex code my brain hurts\nso much that I really want to ditch that whole optimization of\navoiding the syscall for the non contended case for PI futexes and rip\nout the maze of corner case handling code. Unfortunately we can\u0027t as\nuser space relies on that existing behaviour, but at least thinking\nabout it helps me to preserve my mental sanity. Maybe we should\nnevertheless :)\n\nReported-and-tested-by: Siddhesh Poyarekar \u003csiddhesh.poyarekar@gmail.com\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1210232138540.2756@ionos\nAcked-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "727fa37e405a71dc1c7208ea7352be55e0310eca",
      "tree": "43de8999a864592379df86384426ad2ebf1038fa",
      "parents": [
        "5993bba302a1a6df9c73690a08346411ff7cd56e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 18 17:52:07 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:14 2012 -0700"
      },
      "message": "Revert \"cgroup: Drop task_lock(parent) on cgroup_fork()\"\n\ncommit 9bb71308b8133d643648776243e4d5599b1c193d upstream.\n\nThis reverts commit 7e381b0eb1e1a9805c37335562e8dc02e7d7848c.\n\nThe commit incorrectly assumed that fork path always performed\nthreadgroup_change_begin/end() and depended on that for\nsynchronization against task exit and cgroup migration paths instead\nof explicitly grabbing task_lock().\n\nthreadgroup_change is not locked when forking a new process (as\nopposed to a new thread in the same process) and even if it were it\nwouldn\u0027t be effective as different processes use different threadgroup\nlocks.\n\nRevert the incorrect optimization.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c20121008020000.GB2575@localhost\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nBitterly-Acked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "5993bba302a1a6df9c73690a08346411ff7cd56e",
      "tree": "d10d70343dd1df236e6d16d75de9c107c86f82d1",
      "parents": [
        "9a55fef20afb3d7362b0c9d19ba1e78dfe482d3d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 18 17:40:30 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:14 2012 -0700"
      },
      "message": "Revert \"cgroup: Remove task_lock() from cgroup_post_fork()\"\n\ncommit d87838321124061f6c935069d97f37010fa417e6 upstream.\n\nThis reverts commit 7e3aa30ac8c904a706518b725c451bb486daaae9.\n\nThe commit incorrectly assumed that fork path always performed\nthreadgroup_change_begin/end() and depended on that for\nsynchronization against task exit and cgroup migration paths instead\nof explicitly grabbing task_lock().\n\nthreadgroup_change is not locked when forking a new process (as\nopposed to a new thread in the same process) and even if it were it\nwouldn\u0027t be effective as different processes use different threadgroup\nlocks.\n\nRevert the incorrect optimization.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c20121008020000.GB2575@localhost\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "9a55fef20afb3d7362b0c9d19ba1e78dfe482d3d",
      "tree": "ee17e4fd3a8b21aa09e66d5bca06bbe349d122b3",
      "parents": [
        "9b1ca55bf3ff5fa1c3ff87bac9c7183bc421dc82"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Thu Oct 04 16:37:16 2012 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:14 2012 -0700"
      },
      "message": "cgroup: notify_on_release may not be triggered in some cases\n\ncommit 1f5320d5972aa50d3e8d2b227b636b370e608359 upstream.\n\nnotify_on_release must be triggered when the last process in a cgroup is\nmove to another. But if the first(and only) process in a cgroup is moved to\nanother, notify_on_release is not triggered.\n\n\t# mkdir /cgroup/cpu/SRC\n\t# mkdir /cgroup/cpu/DST\n\t#\n\t# echo 1 \u003e/cgroup/cpu/SRC/notify_on_release\n\t# echo 1 \u003e/cgroup/cpu/DST/notify_on_release\n\t#\n\t# sleep 300 \u0026\n\t[1] 8629\n\t#\n\t# echo 8629 \u003e/cgroup/cpu/SRC/tasks\n\t# echo 8629 \u003e/cgroup/cpu/DST/tasks\n\t-\u003e notify_on_release for /SRC must be triggered at this point,\n\t   but it isn\u0027t.\n\nThis is because put_css_set() is called before setting CGRP_RELEASABLE\nin cgroup_task_migrate(), and is a regression introduce by the\ncommit:74a1166d(cgroups: make procs file writable), which was merged\ninto v3.0.\n\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3680030e9747dfa51fe9c1850361c29ae0ad20fe",
      "tree": "e48ee344079012b024e949657314f7a184004a28",
      "parents": [
        "643fde8ed4ea75f5d113803084806eff14d97454"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Fri Oct 19 18:45:53 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:13 2012 -0700"
      },
      "message": "use clamp_t in UNAME26 fix\n\ncommit 31fd84b95eb211d5db460a1dda85e004800a7b52 upstream.\n\nThe min/max call needed to have explicit types on some architectures\n(e.g. mn10300). Use clamp_t instead to avoid the warning:\n\n  kernel/sys.c: In function \u0027override_release\u0027:\n  kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast [enabled by default]\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "643fde8ed4ea75f5d113803084806eff14d97454",
      "tree": "89ce9d1661b1bfffb06a26b3b112f1df9d5181ed",
      "parents": [
        "6eca486b8d28b1fe1d147cf55dfb8832099bb0a2"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Fri Oct 19 13:56:51 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:13 2012 -0700"
      },
      "message": "kernel/sys.c: fix stack memory content leak via UNAME26\n\ncommit 2702b1526c7278c4d65d78de209a465d4de2885e upstream.\n\nCalling uname() with the UNAME26 personality set allows a leak of kernel\nstack contents.  This fixes it by defensively calculating the length of\ncopy_to_user() call, making the len argument unsigned, and initializing\nthe stack buffer to zero (now technically unneeded, but hey, overkill).\n\nCVE-2012-0957\n\nReported-by: PaX Team \u003cpageexec@freemail.hu\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: PaX Team \u003cpageexec@freemail.hu\u003e\nCc: Brad Spengler \u003cspender@grsecurity.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "c4c493a4adcee75e1e44af044d0b7fc1b5192b61",
      "tree": "5209e3b5533486721824ee61514ac24749e06d2b",
      "parents": [
        "9b38cc4a70f2c83857fd37707570a18c1027effe"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Sun Aug 26 22:37:03 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 21 09:27:59 2012 -0700"
      },
      "message": "kdb,vt_console: Fix missed data due to pager overruns\n\ncommit 17b572e82032bc246324ce136696656b66d4e3f1 upstream.\n\nIt is possible to miss data when using the kdb pager.  The kdb pager\ndoes not pay attention to the maximum column constraint of the screen\nor serial terminal.  This result is not incrementing the shown lines\ncorrectly and the pager will print more lines that fit on the screen.\nObviously that is less than useful when using a VGA console where you\ncannot scroll back.\n\nThe pager will now look at the kdb_buffer string to see how many\ncharacters are printed.  It might not be perfect considering you can\noutput ASCII that might move the cursor position, but it is a\nsubstantially better approximation for viewing dmesg and trace logs.\n\nThis also means that the vt screen needs to set the kdb COLUMNS\nvariable.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "00dff266efe889d4fc6569f3e39ae7195cb83da7",
      "tree": "27c90c73c8d17598fe841baf0fc3033e3f96307d",
      "parents": [
        "3dca360fc8484e40f50205a09f6dbbb591791663"
      ],
      "author": {
        "name": "Hildner, Christian",
        "email": "christian.hildner@siemens.com",
        "time": "Mon Oct 08 15:49:03 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 21 09:27:59 2012 -0700"
      },
      "message": "timers: Fix endless looping between cascade() and internal_add_timer()\n\ncommit 26cff4e2aa4d666dc6a120ea34336b5057e3e187 upstream.\n\nAdding two (or more) timers with large values for \"expires\" (they have\nto reside within tv5 in the same list) leads to endless looping\nbetween cascade() and internal_add_timer() in case CONFIG_BASE_SMALL\nis one and jiffies are crossing the value 1 \u003c\u003c 18. The bug was\nintroduced between 2.6.11 and 2.6.12 (and survived for quite some\ntime).\n\nThis patch ensures that when cascade() is called timers within tv5 are\nnot added endlessly to their own list again, instead they are added to\nthe next lower tv level tv4 (as expected).\n\nSigned-off-by: Christian Hildner \u003cchristian.hildner@siemens.com\u003e\nReviewed-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nLink: http://lkml.kernel.org/r/98673C87CB31274881CFFE0B65ECC87B0F5FC1963E@DEFTHW99EA4MSX.ww902.siemens.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "08de372d6c39473773fc303b9253a2be938badbd",
      "tree": "5d885c264e2ca34cb91877cc4abadf4e4e1d91fe",
      "parents": [
        "865221d84f23dafcf63485e9081fe972646fef0a"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg59@srcf.ucam.org",
        "time": "Fri Jun 22 13:49:31 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 21 09:27:59 2012 -0700"
      },
      "message": "module: taint kernel when lve module is loaded\n\ncommit c99af3752bb52ba3aece5315279a57a477edfaf1 upstream.\n\nCloudlinux have a product called lve that includes a kernel module. This\nwas previously GPLed but is now under a proprietary license, but the\nmodule continues to declare MODULE_LICENSE(\"GPL\") and makes use of some\nEXPORT_SYMBOL_GPL symbols. Forcibly taint it in order to avoid this.\n\nSigned-off-by: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Alex Lyashkov \u003cumka@cloudlinux.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "93875bc33f71bf7a4851b44d387743866b13b130",
      "tree": "cb2efc3120da03ba6bddefd3f8b8eddc1dc91c21",
      "parents": [
        "e08ea4c7d4e90aab75307c3c8018d2d4bbeebc0b"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "mgalbraith@suse.de",
        "time": "Sat Aug 04 05:44:14 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Oct 13 05:39:01 2012 +0900"
      },
      "message": "sched: Fix migration thread runtime bogosity\n\ncommit 8f6189684eb4e85e6c593cd710693f09c944450a upstream.\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\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "c62f9945efea31db203fd4fb77e830ddffdcabf6",
      "tree": "efdcd875b3c6e79bbd47e57d9410d23c993c5c17",
      "parents": [
        "0c9673834740afdfa7c172b1b19c6b3ec5bc3907"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu May 24 19:46:26 2012 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Oct 13 05:38:57 2012 +0900"
      },
      "message": "CPU hotplug, cpusets, suspend: Don\u0027t modify cpusets during suspend/resume\n\ncommit d35be8bab9b0ce44bed4b9453f86ebf64062721e upstream.\n\nIn the event of CPU hotplug, the kernel modifies the cpusets\u0027 cpus_allowed\nmasks as and when necessary to ensure that the tasks belonging to the cpusets\nhave some place (online CPUs) to run on. And regular CPU hotplug is\ndestructive in the sense that the kernel doesn\u0027t remember the original cpuset\nconfigurations set by the user, across hotplug operations.\n\nHowever, suspend/resume (which uses CPU hotplug) is a special case in which\nthe kernel has the responsibility to restore the system (during resume), to\nexactly the same state it was in before suspend.\n\nIn order to achieve that, do the following:\n\n1. Don\u0027t modify cpusets during suspend/resume. At all.\n   In particular, don\u0027t move the tasks from one cpuset to another, and\n   don\u0027t modify any cpuset\u0027s cpus_allowed mask. So, simply ignore cpusets\n   during the CPU hotplug operations that are carried out in the\n   suspend/resume path.\n\n2. However, cpusets and sched domains are related. We just want to avoid\n   altering cpusets alone. So, to keep the sched domains updated, build\n   a single sched domain (containing all active cpus) during each of the\n   CPU hotplug operations carried out in s/r path, effectively ignoring\n   the cpusets\u0027 cpus_allowed masks.\n\n   (Since userspace is frozen while doing all this, it will go unnoticed.)\n\n3. During the last CPU online operation during resume, build the sched\n   domains by looking up the (unaltered) cpusets\u0027 cpus_allowed masks.\n   That will bring back the system to the same original state as it was in\n   before suspend.\n\nUltimately, this will not only solve the cpuset problem related to suspend\nresume (ie., restores the cpusets to exactly what it was before suspend, by\nnot touching it at all) but also speeds up suspend/resume because we avoid\nrunning cpuset update code for every CPU being offlined/onlined.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20120524141611.3692.20155.stgit@srivatsabhat.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f5260a7c89bf5146c0d52b036ac58eb192537a84",
      "tree": "f434583b9fce5e35b1b6295a0ab3066f0ce76951",
      "parents": [
        "4a94001bd83f18ff3f3b998899d250d96f60a503"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat Sep 22 13:55:30 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Oct 13 05:38:55 2012 +0900"
      },
      "message": "rcu: Fix day-one dyntick-idle stall-warning bug\n\ncommit a10d206ef1a83121ab7430cb196e0376a7145b22 upstream.\n\nEach grace period is supposed to have at least one callback waiting\nfor that grace period to complete.  However, if CONFIG_NO_HZ\u003dn, an\nextra callback-free grace period is no big problem -- it will chew up\na tiny bit of CPU time, but it will complete normally.  In contrast,\nCONFIG_NO_HZ\u003dy kernels have the potential for all the CPUs to go to\nsleep indefinitely, in turn indefinitely delaying completion of the\ncallback-free grace period.  Given that nothing is waiting on this grace\nperiod, this is also not a problem.\n\nThat is, unless RCU CPU stall warnings are also enabled, as they are\nin recent kernels.  In this case, if a CPU wakes up after at least one\nminute of inactivity, an RCU CPU stall warning will result.  The reason\nthat no one noticed until quite recently is that most systems have enough\nOS noise that they will never remain absolutely idle for a full minute.\nBut there are some embedded systems with cut-down userspace configurations\nthat consistently get into this situation.\n\nAll this begs the question of exactly how a callback-free grace period\ngets started in the first place.  This can happen due to the fact that\nCPUs do not necessarily agree on which grace period is in progress.\nIf a CPU still believes that the grace period that just completed is\nstill ongoing, it will believe that it has callbacks that need to wait for\nanother grace period, never mind the fact that the grace period that they\nwere waiting for just completed.  This CPU can therefore erroneously\ndecide to start a new grace period.  Note that this can happen in\nTREE_RCU and TREE_PREEMPT_RCU even on a single-CPU system:  Deadlock\nconsiderations mean that the CPU that detected the end of the grace\nperiod is not necessarily officially informed of this fact for some time.\n\nOnce this CPU notices that the earlier grace period completed, it will\ninvoke its callbacks.  It then won\u0027t have any callbacks left.  If no\nother CPU has any callbacks, we now have a callback-free grace period.\n\nThis commit therefore makes CPUs check more carefully before starting a\nnew grace period.  This new check relies on an array of tail pointers\ninto each CPU\u0027s list of callbacks.  If the CPU is up to date on which\ngrace periods have completed, it checks to see if any callbacks follow\nthe RCU_DONE_TAIL segment, otherwise it checks to see if any callbacks\nfollow the RCU_WAIT_TAIL segment.  The reason that this works is that\nthe RCU_WAIT_TAIL segment will be promoted to the RCU_DONE_TAIL segment\nas soon as the CPU is officially notified that the old grace period\nhas ended.\n\nThis change is to cpu_needs_another_gp(), which is called in a number\nof places.  The only one that really matters is in rcu_start_gp(), where\nthe root rcu_node structure\u0027s -\u003elock is held, which prevents any\nother CPU from starting or completing a grace period, so that the\ncomparison that determines whether the CPU is missing the completion\nof a grace period is stable.\n\nReported-by: Becky Bruce \u003cbgillbruce@gmail.com\u003e\nReported-by: Subodh Nijsure \u003csnijsure@grid-net.com\u003e\nReported-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "66307aef43a3a51cccf03f4ca8063cfce1bd4ac1",
      "tree": "397533702bad69ca0d9e9530879895f188653eb1",
      "parents": [
        "24a0c2063c805e9cf1f3f418bb7f444b5b3f0e4e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 03 10:30:45 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Oct 13 05:38:39 2012 +0900"
      },
      "message": "workqueue: add missing smp_wmb() in process_one_work()\n\ncommit 959d1af8cffc8fd38ed53e8be1cf4ab8782f9c00 upstream.\n\nWORK_STRUCT_PENDING is used to claim ownership of a work item and\nprocess_one_work() releases it before starting execution.  When\nsomeone else grabs PENDING, all pre-release updates to the work item\nshould be visible and all updates made by the new owner should happen\nafterwards.\n\nGrabbing PENDING uses test_and_set_bit() and thus has a full barrier;\nhowever, clearing doesn\u0027t have a matching wmb.  Given the preceding\nspin_unlock and use of clear_bit, I don\u0027t believe this can be a\nproblem on an actual machine and there hasn\u0027t been any related report\nbut it still is theretically possible for clear_pending to permeate\nupwards and happen before work-\u003eentry update.\n\nAdd an explicit smp_wmb() before work_clear_pending().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3fc49ce67fefd3de38aa72a215eb1a2b68a7e89b",
      "tree": "2fc96ba798b7a8d014adcbcd7dbcdb2d93ca6d51",
      "parents": [
        "6d36a9dd1dcdd053ab32f303b94cc1bae5a47f22"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Thu Oct 04 17:12:23 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Oct 13 05:38:38 2012 +0900"
      },
      "message": "kernel/sys.c: call disable_nonboot_cpus() in kernel_restart()\n\ncommit f96972f2dc6365421cf2366ebd61ee4cf060c8d5 upstream.\n\nAs kernel_power_off() calls disable_nonboot_cpus(), we may also want to\nhave kernel_restart() call disable_nonboot_cpus().  Doing so can help\nmachines that require boot cpu be the last alive cpu during reboot to\nsurvive with kernel restart.\n\nThis fixes one reboot issue seen on imx6q (Cortex-A9 Quad).  The machine\nrequires that the restart routine be run on the primary cpu rather than\nsecondary ones.  Otherwise, the secondary core running the restart\nroutine will fail to come to online after reboot.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "97ed537eaa6ff11c9a1df342364e25d0996bc117",
      "tree": "e8aae3109bf171e537f3472f5a1e66edd3c0255e",
      "parents": [
        "34b6567e91b3ff6209c16b3868ec95e0e1cddc1f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 19 13:52:53 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:40 2012 -0700"
      },
      "message": "kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed\n\ncommit 46f3d976213452350f9d10b0c2780c2681f7075b upstream.\n\nkthread_worker provides minimalistic workqueue-like interface for\nusers which need a dedicated worker thread (e.g. for realtime\npriority).  It has basic queue, flush_work, flush_worker operations\nwhich mostly match the workqueue counterparts; however, due to the way\nflush_work() is implemented, it has a noticeable difference of not\nallowing work items to be freed while being executed.\n\nWhile the current users of kthread_worker are okay with the current\nbehavior, the restriction does impede some valid use cases.  Also,\nremoving this difference isn\u0027t difficult and actually makes the code\neasier to understand.\n\nThis patch reimplements flush_kthread_work() such that it uses a\nflush_work item instead of queue/done sequence numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Colin Cross \u003cccross@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "34b6567e91b3ff6209c16b3868ec95e0e1cddc1f",
      "tree": "33cedb260a5af88ead3046994b328ed59af3b831",
      "parents": [
        "c717dcaf750cd0a43609d8c2016a380e542b28ed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 19 13:52:53 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:38 2012 -0700"
      },
      "message": "kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation\n\ncommit 9a2e03d8ed518a61154f18d83d6466628e519f94 upstream.\n\nMake the following two non-functional changes.\n\n* Separate out insert_kthread_work() from queue_kthread_work().\n\n* Relocate struct kthread_flush_work and kthread_flush_work_fn()\n  definitions above flush_kthread_work().\n\nv2: Added lockdep_assert_held() in insert_kthread_work() as suggested\n    by Andy Walls.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Andy Walls \u003cawalls@md.metrocast.net\u003e\nCc: Colin Cross \u003cccross@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "9a227fcb842a03fce5b8a6da0da40f5601ec6908",
      "tree": "d186f0f90e021d9fc9a35ab009cdcab3e315c8a2",
      "parents": [
        "80257cbe62ea0919153c43421746269ab68473bf"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 15:04:19 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:36 2012 -0700"
      },
      "message": "time: Move ktime_t overflow checking into timespec_valid_strict\n\ncommit cee58483cf56e0ba355fdd97ff5e8925329aa936 upstream\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\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "80257cbe62ea0919153c43421746269ab68473bf",
      "tree": "8d1286bedf3fee0cbca60ca8c2029a71577401e9",
      "parents": [
        "8e878154f5658ba93cf9bb2b491a930ec195de3d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 15:04:18 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:36 2012 -0700"
      },
      "message": "time: Avoid making adjustments if we haven\u0027t accumulated anything\n\ncommit bf2ac312195155511a0f79325515cbb61929898a upstream.\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\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\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8e878154f5658ba93cf9bb2b491a930ec195de3d",
      "tree": "7c90f9cafce87cdf0b5629933a35144ee3d11d44",
      "parents": [
        "504471eb5044e4a1dd10950d1a3efab39ba2083a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 15:04:17 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:36 2012 -0700"
      },
      "message": "time: Improve sanity checking of timekeeping inputs\n\ncommit 4e8b14526ca7fb046a81c94002c1c43b6fdf0e9b upstream.\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\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\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e194fab8d7ebe95db5609f1cb6794c2afcc3118f",
      "tree": "2367f196d1cfa94a2078834bee0d4a64734eb884",
      "parents": [
        "6418cc471b5d8a64ce22d2aa827fcb275e61449c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jun 22 13:36:05 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:35 2012 -0700"
      },
      "message": "sched: Fix race in task_group()\n\ncommit 8323f26ce3425460769605a6aece7a174edaa7d1 upstream.\n\nStefan reported a crash on a kernel before a3e5d1091c1 (\"sched:\nDon\u0027t call task_group() too many times in set_task_rq()\"), he\nfound the reason to be that the multiple task_group()\ninvocations in set_task_rq() returned different values.\n\nLooking at all that I found a lack of serialization and plain\nwrong comments.\n\nThe below tries to fix it using an extra pointer which is\nupdated under the appropriate scheduler locks. Its not pretty,\nbut I can\u0027t really see another way given how all the cgroup\nstuff works.\n\nReported-and-tested-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1340364965.18025.71.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "11266a8e031a3782241760850f002c79ee2887e1",
      "tree": "4adf182d24be78556d51eb6e96fbb6c89c99707a",
      "parents": [
        "0d19c30f548369606cce202224c86cf3ae1d20ea"
      ],
      "author": {
        "name": "Li Zhong",
        "email": "zhong@linux.vnet.ibm.com",
        "time": "Tue Jul 24 15:02:49 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:35 2012 -0700"
      },
      "message": "Fix a dead loop in async_synchronize_full()\n\n[Fixed upstream by commits 2955b47d2c1983998a8c5915cb96884e67f7cb53 and\na4683487f90bfe3049686fc5c566bdc1ad03ace6 from Dan Williams, but they are much\nmore intrusive than this tiny fix, according to Andrew - gregkh]\n\nThis patch tries to fix a dead loop in  async_synchronize_full(), which\ncould be seen when preemption is disabled on a single cpu machine. \n\nvoid async_synchronize_full(void)\n{\n        do {\n                async_synchronize_cookie(next_cookie);\n        } while (!list_empty(\u0026async_running) || !\nlist_empty(\u0026async_pending));\n}\n\nasync_synchronize_cookie() calls async_synchronize_cookie_domain() with\n\u0026async_running as the default domain to synchronize. \n\nHowever, there might be some works in the async_pending list from other\ndomains. On a single cpu system, without preemption, there is no chance\nfor the other works to finish, so async_synchronize_full() enters a dead\nloop. \n\nIt seems async_synchronize_full() wants to synchronize all entries in\nall running lists(domains), so maybe we could just check the entry_count\nto know whether all works are finished. \n\nCurrently, async_synchronize_cookie_domain() expects a non-NULL running\nlist ( if NULL, there would be NULL pointer dereference ), so maybe a\nNULL pointer could be used as an indication for the functions to\nsynchronize all works in all domains. \n\nReported-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Dan Williams \u003cdan.j.williams@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6adebb0e1d4820435e0c6739b0de20a196cc20d5",
      "tree": "2e572784e0ddf58832e1cc9aba859e365834f5a5",
      "parents": [
        "956b165f9e89e37aff44d615321d1e3166589701"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sun Sep 02 00:28:19 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:33 2012 -0700"
      },
      "message": "workqueue: UNBOUND -\u003e REBIND morphing in rebind_workers() should be atomic\n\ncommit 96e65306b81351b656835c15931d1d237b252f27 upstream.\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "48f0f14ffb6ff4852922994d11fbda418d40100e",
      "tree": "c1889eaa22a13909c8790013e22852e8e4f7610f",
      "parents": [
        "a95bb54b6345874159a82b93c67c49244d2433f2"
      ],
      "author": {
        "name": "Charles Wang",
        "email": "muming.wq@taobao.com",
        "time": "Mon Aug 20 16:02:33 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:05 2012 -0700"
      },
      "message": "sched: Add missing call to calc_load_exit_idle()\n\ncommit 749c8814f08f12baa4a9c2812a7c6ede7d69507d upstream.\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\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d156b47c4242843096e4a13f8ace5a0626bde3e9",
      "tree": "517ce331697fce4a5aadba64df99919e60235c53",
      "parents": [
        "9b52a3b313497af37dcdba4ba4c0c95809db525c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Mon Aug 20 14:59:25 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:29:54 2012 -0700"
      },
      "message": "perf_event: Switch to internal refcount, fix race with close()\n\ncommit a6fa941d94b411bbd2b6421ffbde6db3c93e65ab upstream.\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\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "fc7da7e1c4356e4ffc7c30423325b7f0da3311b2",
      "tree": "137b99d2912421d1181bcf616e5d83f87901960a",
      "parents": [
        "2ff0cd9f615bae1de9d812de92eff6426aad26c9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 18 12:48:43 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:29:50 2012 -0700"
      },
      "message": "workqueue: reimplement work_on_cpu() using system_wq\n\ncommit ed48ece27cd3d5ee0354c32bbaec0f3e1d4715c3 upstream.\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ebad30a797a5e5093d69e39bc046edab9452fe00",
      "tree": "72bb3340190a4b42d2bd302cc706c6b91c1b45a6",
      "parents": [
        "0f342b96d471d48fb151ae9073e58e0510e0a58f"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Wed Aug 08 11:27:15 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Sep 14 10:00:20 2012 -0700"
      },
      "message": "sched: fix divide by zero at {thread_group,task}_times\n\ncommit bea6832cc8c4a0a9a65dd17da6aaa657fe27bc3e upstream.\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\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "0f342b96d471d48fb151ae9073e58e0510e0a58f",
      "tree": "58a1e4265c0a36975e487b02027915274ee701bc",
      "parents": [
        "3465c32ced49e3c04b7e280843f1a93ec8de8aff"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Aug 07 05:00:13 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Sep 14 10:00:20 2012 -0700"
      },
      "message": "sched,cgroup: Fix up task_groups list\n\ncommit 35cf4e50b16331def6cfcbee11e49270b6db07f5 upstream.\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\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "47b8bbd6c2aab324fa57f004f89abb40bb8478be",
      "tree": "537905711303fcaad859a91e7351886ff792fd15",
      "parents": [
        "ae2a5dd19bccd4fa52ee6bb78ad88b960d92c606"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 15 12:55:22 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Sep 14 10:00:18 2012 -0700"
      },
      "message": "audit: fix refcounting in audit-tree\n\ncommit a2140fc0cb0325bb6384e788edd27b9a568714e2 upstream.\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ae2a5dd19bccd4fa52ee6bb78ad88b960d92c606",
      "tree": "dbcdab58454f8d668d393d398623d5934fdc6e4a",
      "parents": [
        "e5cd679ea475fd731686fa3c632c2d30b9d59a6d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 15 12:55:22 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Sep 14 10:00:18 2012 -0700"
      },
      "message": "audit: don\u0027t free_chunk() after fsnotify_add_mark()\n\ncommit 0fe33aae0e94b4097dd433c9399e16e17d638cd8 upstream.\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "26665db4f7fa71c56eeb9205e79927cfc21e70c4",
      "tree": "8b5dc2c10b8b0aa9c1d1711daf991ae3df30db02",
      "parents": [
        "12dae51a7567bb1e583ee0de6af538db256504db"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jul 14 20:27:52 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 15 08:10:29 2012 -0700"
      },
      "message": "random: remove rand_initialize_irq()\n\ncommit c5857ccf293968348e5eb4ebedc68074de3dcda6 upstream.\n\nWith the new interrupt sampling system, we are no longer using the\ntimer_rand_state structure in the irq descriptor, so we can stop\ninitializing it now.\n\n[ Merged in fixes from Sedat to find some last missing references to\n  rand_initialize_irq() ]\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "0110bbfbc8ed1b5240a51e8c767c44a856424139",
      "tree": "f3ac162b4925c7e841413db59dabff88324640ae",
      "parents": [
        "cabf5b0af54cec6a2f9ce674cbc96fc8aa2fc468"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 02 07:52:16 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 15 08:10:10 2012 -0700"
      },
      "message": "random: make \u0027add_interrupt_randomness()\u0027 do something sane\n\ncommit 775f4b297b780601e61787b766f306ed3e1d23eb upstream.\n\nWe\u0027ve been moving away from add_interrupt_randomness() for various\nreasons: it\u0027s too expensive to do on every interrupt, and flooding the\nCPU with interrupts could theoretically cause bogus floods of entropy\nfrom a somewhat externally controllable source.\n\nThis solves both problems by limiting the actual randomness addition\nto just once a second or after 64 interrupts, whicever comes first.\nDuring that time, the interrupt cycle data is buffered up in a per-cpu\npool.  Also, we make sure the the nonblocking pool used by urandom is\ninitialized before we start feeding the normal input pool.  This\nassures that /dev/urandom is returning unpredictable data as soon as\npossible.\n\n(Based on an original patch by Linus, but significantly modified by\ntytso.)\n\nTested-by: Eric Wustrow \u003cewust@umich.edu\u003e\nReported-by: Eric Wustrow \u003cewust@umich.edu\u003e\nReported-by: Nadia Heninger \u003cnadiah@cs.ucsd.edu\u003e\nReported-by: Zakir Durumeric \u003czakir@umich.edu\u003e\nReported-by: J. Alex Halderman \u003cjhalderm@umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b3f9576e98e0dfb4f9be87618da4c5f6e8640ee0",
      "tree": "b405d58aa1c728d27de5b7d08acbe48c756f5d9f",
      "parents": [
        "47b6ff731a701d898c732e2f2dd67c5178fc0960"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Fri Jul 20 11:53:31 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 09 08:31:53 2012 -0700"
      },
      "message": "futex: Forbid uaddr \u003d\u003d uaddr2 in futex_wait_requeue_pi()\n\ncommit 6f7b0a2a5c0fb03be7c25bd1745baa50582348ef upstream.\n\nIf uaddr \u003d\u003d uaddr2, then we have broken the rule of only requeueing\nfrom a non-pi futex to a pi futex with this call. If we attempt this,\nas the trinity test suite manages to do, we miss early wakeups as\nq.key is equal to key2 (because they are the same uaddr). We will then\nattempt to dereference the pi_mutex (which would exist had the futex_q\nbeen properly requeued to a pi futex) and trigger a NULL pointer\ndereference.\n\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nLink: http://lkml.kernel.org/r/ad82bfe7f7d130247fbe2b5b4275654807774227.1342809673.git.dvhart@linux.intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "47b6ff731a701d898c732e2f2dd67c5178fc0960",
      "tree": "e80a3044eb2c58402d52115c3288a29ee26218f1",
      "parents": [
        "d48c1ba2979634ecbbe344a8bd65035f32777f1b"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Fri Jul 20 11:53:30 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 09 08:31:53 2012 -0700"
      },
      "message": "futex: Fix bug in WARN_ON for NULL q.pi_state\n\ncommit f27071cb7fe3e1d37a9dbe6c0dfc5395cd40fa43 upstream.\n\nThe WARN_ON in futex_wait_requeue_pi() for a NULL q.pi_state was testing\nthe address (\u0026q.pi_state) of the pointer instead of the value\n(q.pi_state) of the pointer. Correct it accordingly.\n\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1c85d97f6e5f79ec389a4ead3e367363c74bd09a.1342809673.git.dvhart@linux.intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d48c1ba2979634ecbbe344a8bd65035f32777f1b",
      "tree": "93250aaa96091cfbb3449190b94bba614e223085",
      "parents": [
        "ef2e080c19599e3d0844f3bc599ee5dd627fc850"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Fri Jul 20 11:53:29 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 09 08:31:53 2012 -0700"
      },
      "message": "futex: Test for pi_mutex on fault in futex_wait_requeue_pi()\n\ncommit b6070a8d9853eda010a549fa9a09eb8d7269b929 upstream.\n\nIf fixup_pi_state_owner() faults, pi_mutex may be NULL. Test\nfor pi_mutex !\u003d NULL before testing the owner against current\nand possibly unlocking it.\n\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nLink: http://lkml.kernel.org/r/dc59890338fc413606f04e5c5b131530734dae3d.1342809673.git.dvhart@linux.intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "27cd8f51344dcf4799c7a092c1797402b833126a",
      "tree": "4af5fa7d852c6f73795dd0ea9508b86283fb009e",
      "parents": [
        "b6e9ffcdb09fbf28665e025aa31fda702689786c"
      ],
      "author": {
        "name": "Josh Boyer",
        "email": "jwboyer@redhat.com",
        "time": "Wed Jul 25 10:40:34 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 09 08:31:39 2012 -0700"
      },
      "message": "posix_types.h: Cleanup stale __NFDBITS and related definitions\n\ncommit 8ded2bbc1845e19c771eb55209aab166ef011243 upstream.\n\nRecently, glibc made a change to suppress sign-conversion warnings in\nFD_SET (glibc commit ceb9e56b3d1).  This uncovered an issue with the\nkernel\u0027s definition of __NFDBITS if applications #include\n\u003clinux/types.h\u003e after including \u003csys/select.h\u003e.  A build failure would\nbe seen when passing the -Werror\u003dsign-compare and -D_FORTIFY_SOURCE\u003d2\nflags to gcc.\n\nIt was suggested that the kernel should either match the glibc\ndefinition of __NFDBITS or remove that entirely.  The current in-kernel\nuses of __NFDBITS can be replaced with BITS_PER_LONG, and there are no\nuses of the related __FDELT and __FDMASK defines.  Given that, we\u0027ll\ncontinue the cleanup that was started with commit 8b3d1cda4f5f\n(\"posix_types: Remove fd_set macros\") and drop the remaining unused\nmacros.\n\nAdditionally, linux/time.h has similar macros defined that expand to\nnothing so we\u0027ll remove those at the same time.\n\nReported-by: Jeff Law \u003claw@redhat.com\u003e\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\n[ .. and fix up whitespace as per akpm ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d3b42543cf269243ccf2add49008db879ff7f146",
      "tree": "db596959747095c3c76fa57fd8420a33a2974615",
      "parents": [
        "c7815406caf7efdd805e893caef4a63e61b7645e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 17 12:39:26 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 09 08:31:37 2012 -0700"
      },
      "message": "workqueue: perform cpu down operations from low priority cpu_notifier()\n\ncommit 6575820221f7a4dd6eadecf7bf83cdd154335eda upstream.\n\nCurrently, all workqueue cpu hotplug operations run off\nCPU_PRI_WORKQUEUE which is higher than normal notifiers.  This is to\nensure that workqueue is up and running while bringing up a CPU before\nother notifiers try to use workqueue on the CPU.\n\nPer-cpu workqueues are supposed to remain working and bound to the CPU\nfor normal CPU_DOWN_PREPARE notifiers.  This holds mostly true even\nwith workqueue offlining running with higher priority because\nworkqueue CPU_DOWN_PREPARE only creates a bound trustee thread which\nruns the per-cpu workqueue without concurrency management without\nexplicitly detaching the existing workers.\n\nHowever, if the trustee needs to create new workers, it creates\nunbound workers which may wander off to other CPUs while\nCPU_DOWN_PREPARE notifiers are in progress.  Furthermore, if the CPU\ndown is cancelled, the per-CPU workqueue may end up with workers which\naren\u0027t bound to the CPU.\n\nWhile reliably reproducible with a convoluted artificial test-case\ninvolving scheduling and flushing CPU burning work items from CPU down\nnotifiers, this isn\u0027t very likely to happen in the wild, and, even\nwhen it happens, the effects are likely to be hidden by the following\nsuccessful CPU down.\n\nFix it by using different priorities for up and down notifiers - high\npriority for up operations and low priority for down operations.\n\nWorkqueue cpu hotplug operations will soon go through further cleanup.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d3dd392851e014c90ce9e26d03a93188840a5a0b",
      "tree": "b3c8bdf03765360c2d7b1eaf0bbb6f82ea06dbb3",
      "parents": [
        "fd3cca0a4e6ac0512e9122f59dfe0214b74049fb"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Jun 16 15:30:45 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 09 08:31:29 2012 -0700"
      },
      "message": "ftrace: Disable function tracing during suspend/resume and hibernation, again\n\ncommit 443772d408a25af62498793f6f805ce3c559309a upstream.\n\nIf function tracing is enabled for some of the low-level suspend/resume\nfunctions, it leads to triple fault during resume from suspend, ultimately\nending up in a reboot instead of a resume (or a total refusal to come out\nof suspended state, on some machines).\n\nThis issue was explained in more detail in commit f42ac38c59e0a03d (ftrace:\ndisable tracing for suspend to ram). However, the changes made by that commit\ngot reverted by commit cbe2f5a6e84eebb (tracing: allow tracing of\nsuspend/resume \u0026 hibernation code again). So, unfortunately since things are\nnot yet robust enough to allow tracing of low-level suspend/resume functions,\nsuspend/resume is still broken when ftrace is enabled.\n\nSo fix this by disabling function tracing during suspend/resume \u0026 hibernation.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "fd25080998d00a94a87bf7fc9f843291db7250a6",
      "tree": "ea5131b2e070fda20aa647ca9c74b34829958409",
      "parents": [
        "5c8c9e57270fc5f54aa02144f7280f91ee2e3334"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Jul 13 01:21:50 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 29 08:04:18 2012 -0700"
      },
      "message": "ntp: Fix STA_INS/DEL clearing bug\n\ncommit 6b1859dba01c7d512b72d77e3fd7da8354235189 upstream.\n\nIn commit 6b43ae8a619d17c4935c3320d2ef9e92bdeed05d, I\nintroduced a bug that kept the STA_INS or STA_DEL bit\nfrom being cleared from time_status via adjtimex()\nwithout forcing STA_PLL first.\n\nUsually once the STA_INS is set, it isn\u0027t cleared\nuntil the leap second is applied, so its unlikely this\naffected anyone. However during testing I noticed it\ntook some effort to cancel a leap second once STA_INS\nwas set.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.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/1342156917-25092-2-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3cdeda1e763ccb2287c6ee76ece14145027653a9",
      "tree": "c871a197eb48e9f4cf862e68bfaa43b86bd21007",
      "parents": [
        "6321a0a1a3a9d6c9cbd73d9a4159a97ac3bc0919"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 17 02:39:56 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 08:59:00 2012 -0700"
      },
      "message": "timekeeping: Add missing update call in timekeeping_resume()\n\nThis is a backport of 3e997130bd2e8c6f5aaa49d6e3161d4d29b43ab0\n\nThe leap second rework unearthed another issue of inconsistent data.\n\nOn timekeeping_resume() the timekeeper data is updated, but nothing\ncalls timekeeping_update(), so now the update code in the timer\ninterrupt sees stale values.\n\nThis has been the case before those changes, but then the timer\ninterrupt was using stale data as well so this went unnoticed for quite\nsome time.\n\nAdd the missing update call, so all the data is consistent everywhere.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nReported-and-tested-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Martin Steigerwald \u003cMartin@lichtvoll.de\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e,\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6321a0a1a3a9d6c9cbd73d9a4159a97ac3bc0919",
      "tree": "2be51901d3e74c271f3fa1cb58ce73d7e5144ab3",
      "parents": [
        "765bdc4d82fadcddfec19222a545e904633c7816"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 17 02:39:55 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 08:59:00 2012 -0700"
      },
      "message": "hrtimer: Update hrtimer base offsets each hrtimer_interrupt\n\nThis is a backport of 5baefd6d84163443215f4a99f6a20f054ef11236\n\nThe update of the hrtimer base offsets on all cpus cannot be made\natomically from the timekeeper.lock held and interrupt disabled region\nas smp function calls are not allowed there.\n\nclock_was_set(), which enforces the update on all cpus, is called\neither from preemptible process context in case of do_settimeofday()\nor from the softirq context when the offset modification happened in\nthe timer interrupt itself due to a leap second.\n\nIn both cases there is a race window for an hrtimer interrupt between\ndropping timekeeper lock, enabling interrupts and clock_was_set()\nissuing the updates. Any interrupt which arrives in that window will\nsee the new time but operate on stale offsets.\n\nSo we need to make sure that an hrtimer interrupt always sees a\nconsistent state of time and offsets.\n\nktime_get_update_offsets() allows us to get the current monotonic time\nand update the per cpu hrtimer base offsets from hrtimer_interrupt()\nto capture a consistent state of monotonic time and the offsets. The\nfunction replaces the existing ktime_get() calls in hrtimer_interrupt().\n\nThe overhead of the new function vs. ktime_get() is minimal as it just\nadds two store operations.\n\nThis ensures that any changes to realtime or boottime offsets are\nnoticed and stored into the per-cpu hrtimer base structures, prior to\nany hrtimer expiration and guarantees that timers are not expired early.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-8-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "765bdc4d82fadcddfec19222a545e904633c7816",
      "tree": "1086773f08d9e4727c1cb6f90543258372db5673",
      "parents": [
        "dd3cded0f516201d3b72999e588a6d67e00cb82f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 17 02:39:54 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 08:59:00 2012 -0700"
      },
      "message": "timekeeping: Provide hrtimer update function\n\nThis is a backport of f6c06abfb3972ad4914cef57d8348fcb2932bc3b\n\nTo finally fix the infamous leap second issue and other race windows\ncaused by functions which change the offsets between the various time\nbases (CLOCK_MONOTONIC, CLOCK_REALTIME and CLOCK_BOOTTIME) we need a\nfunction which atomically gets the current monotonic time and updates\nthe offsets of CLOCK_REALTIME and CLOCK_BOOTTIME with minimalistic\noverhead. The previous patch which provides ktime_t offsets allows us\nto make this function almost as cheap as ktime_get() which is going to\nbe replaced in hrtimer_interrupt().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-7-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "dd3cded0f516201d3b72999e588a6d67e00cb82f",
      "tree": "ab3f41eef24489b47ac0b1936e4b6f5be8ad84e0",
      "parents": [
        "7d1f07113b1b32da1eabce0dc74d9f96bbb7b90a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 17 02:39:53 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 08:58:59 2012 -0700"
      },
      "message": "hrtimers: Move lock held region in hrtimer_interrupt()\n\nThis is a backport of 196951e91262fccda81147d2bcf7fdab08668b40\n\nWe need to update the base offsets from this code and we need to do\nthat under base-\u003elock. Move the lock held region around the\nktime_get() calls. The ktime_get() calls are going to be replaced with\na function which gets the time and the offsets atomically.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-6-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7d1f07113b1b32da1eabce0dc74d9f96bbb7b90a",
      "tree": "6bdc4407079c57126f96c0409eda6e031d618695",
      "parents": [
        "2e947d469fba2c2036ff50a2e58a1875ab2ea6b6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 17 02:39:52 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 08:58:59 2012 -0700"
      },
      "message": "timekeeping: Maintain ktime_t based offsets for hrtimers\n\nThis is a backport of 5b9fe759a678e05be4937ddf03d50e950207c1c0\n\nWe need to update the hrtimer clock offsets from the hrtimer interrupt\ncontext. To avoid conversions from timespec to ktime_t maintain a\nktime_t based representation of those offsets in the timekeeper. This\nputs the conversion overhead into the code which updates the\nunderlying offsets and provides fast accessible values in the hrtimer\ninterrupt.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-4-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2e947d469fba2c2036ff50a2e58a1875ab2ea6b6",
      "tree": "7f9a44c90974ff3c380b8a798c82f55c9215248f",
      "parents": [
        "5e5006e64cae9603841405af9febb67064869d83"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 17 02:39:51 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 08:58:59 2012 -0700"
      },
      "message": "timekeeping: Fix leapsecond triggered load spike issue\n\nThis is a backport of 4873fa070ae84a4115f0b3c9dfabc224f1bc7c51\n\nThe timekeeping code misses an update of the hrtimer subsystem after a\nleap second happened. Due to that timers based on CLOCK_REALTIME are\neither expiring a second early or late depending on whether a leap\nsecond has been inserted or deleted until an operation is initiated\nwhich causes that update. Unless the update happens by some other\nmeans this discrepancy between the timekeeping and the hrtimer data\nstays forever and timers are expired either early or late.\n\nThe reported immediate workaround - $ data -s \"`date`\" - is causing a\ncall to clock_was_set() which updates the hrtimer data structures.\nSee: http://www.sheeri.com/content/mysql-and-leap-second-high-cpu-and-fix\n\nAdd the missing clock_was_set() call to update_wall_time() in case of\na leap second event. The actual update is deferred to softirq context\nas the necessary smp function call cannot be invoked from hard\ninterrupt context.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReported-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-3-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "5e5006e64cae9603841405af9febb67064869d83",
      "tree": "f3a41ebc96d577c9a9c726329d9093c7d477046d",
      "parents": [
        "738c88c1b8ebe16c3ecd1694871474b470275d82"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 17 02:39:50 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 08:58:59 2012 -0700"
      },
      "message": "hrtimer: Provide clock_was_set_delayed()\n\nThis is a backport of f55a6faa384304c89cfef162768e88374d3312cb\n\nclock_was_set() cannot be called from hard interrupt context because\nit calls on_each_cpu().\n\nFor fixing the widely reported leap seconds issue it is necessary to\ncall it from hard interrupt context, i.e. the timer tick code, which\ndoes the timekeeping updates.\n\nProvide a new function which denotes it in the hrtimer cpu base\nstructure of the cpu on which it is called and raise the hrtimer\nsoftirq. We then execute the clock_was_set() notificiation from\nsoftirq context in run_hrtimer_softirq(). The hrtimer softirq is\nrarely used, so polling the flag there is not a performance issue.\n\n[ tglx: Made it depend on CONFIG_HIGH_RES_TIMERS. We really should get\n  rid of all this ifdeffery ASAP ]\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReported-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-2-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7490d0a4cfefa16f9d8ce636eb5b2e13d2432db3",
      "tree": "70ee2418549bd1af674a7bda391140a45a5e11ce",
      "parents": [
        "667fb5508900340d657645e0bfc9bf210a1fc363"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 22 15:52:09 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 08:58:56 2012 -0700"
      },
      "message": "sched/nohz: Rewrite and fix load-avg computation -- again\n\ncommit 5167e8d5417bf5c322a703d2927daec727ea40dd upstream.\n\nThanks to Charles Wang for spotting the defects in the current code:\n\n - If we go idle during the sample window -- after sampling, we get a\n   negative bias because we can negate our own sample.\n\n - If we wake up during the sample window we get a positive bias\n   because we push the sample to a known active period.\n\nSo rewrite the entire nohz load-avg muck once again, now adding\ncopious documentation to the code.\n\nReported-and-tested-by: Doug Smythies \u003cdsmythies@telus.net\u003e\nReported-and-tested-by: Charles Wang \u003cmuming.wq@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1340373782.18025.74.camel@twins\n[ minor edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2c07f25ea7800adb36cd8da9b58c4ecd3fc3d064",
      "tree": "b312e3b679b544de20569f8e31dd1469e8a72be1",
      "parents": [
        "5318edefb61eddf91d4c4a089644fcee3ccfda62"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jun 12 15:24:40 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:42 2012 -0700"
      },
      "message": "splice: fix racy pipe-\u003ebuffers uses\n\ncommit 047fe3605235888f3ebcda0c728cb31937eadfe6 upstream.\n\nDave Jones reported a kernel BUG at mm/slub.c:3474! triggered\nby splice_shrink_spd() called from vmsplice_to_pipe()\n\ncommit 35f3d14dbbc5 (pipe: add support for shrinking and growing pipes)\nadded capability to adjust pipe-\u003ebuffers.\n\nProblem is some paths don\u0027t hold pipe mutex and assume pipe-\u003ebuffers\ndoesn\u0027t change for their duration.\n\nFix this by adding nr_pages_max field in struct splice_pipe_desc, and\nuse it in place of pipe-\u003ebuffers where appropriate.\n\nsplice_shrink_spd() loses its struct pipe_inode_info argument.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nTested-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n[bwh: Backported to 3.2:\n - Adjust context in vmsplice_to_pipe()\n - Update one more call to splice_shrink_spd(), from skb_splice_bits()]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4943d9cb7d82218d196ccc034ecaf933298e7e95",
      "tree": "9ded95e170894ee15f798fa118ed2ebced2ec9ab",
      "parents": [
        "dbb3e108234bf8e4bf43d2fed8bc57792e3dbd2f"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 18:59:52 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:40 2012 -0700"
      },
      "message": "tracing: change CPU ring buffer state from tracing_cpumask\n\ncommit 71babb2705e2203a64c27ede13ae3508a0d2c16c upstream.\n\nAccording to Documentation/trace/ftrace.txt:\n\ntracing_cpumask:\n\n        This is a mask that lets the user only trace\n        on specified CPUS. The format is a hex string\n        representing the CPUS.\n\nThe tracing_cpumask currently doesn\u0027t affect the tracing state of\nper-CPU ring buffers.\n\nThis patch enables/disables CPU recording as its corresponding bit in\ntracing_cpumask is set/unset.\n\nLink: http://lkml.kernel.org/r/1336096792-25373-3-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "21017faf87a93117ca7a14aa8f0dd2f315fdeb08",
      "tree": "dbdd62ebc0e69df1992f2c14cba75fce37a2bef1",
      "parents": [
        "a7c60136e5bf96bc58a27ab9822a2e48ed768429"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Jun 20 12:53:01 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:08 2012 -0700"
      },
      "message": "mm: correctly synchronize rss-counters at exit/exec\n\ncommit 4fe7efdbdfb1c7e7a7f31decfd831c0f31d37091 upstream.\n\ndo_exit() and exec_mmap() call sync_mm_rss() before mm_release() does\nput_user(clear_child_tid) which can update task-\u003erss_stat and thus make\nmm-\u003erss_stat inconsistent.  This triggers the \"BUG:\" printk in check_mm().\n\nLet\u0027s fix this bug in the safest way, and optimize/cleanup this later.\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "c17f648b6e8adb8379b2d2972e24953285332f44",
      "tree": "7b5bf4065b4a8cdeaf3d34bcb86fc621eb5960ea",
      "parents": [
        "e60a87bab7ce339c034b7d7dd365d687bbffd091"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Thu Apr 26 14:11:32 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 22 11:37:16 2012 -0700"
      },
      "message": "ntp: Correct TAI offset during leap second\n\ncommit dd48d708ff3e917f6d6b6c2b696c3f18c019feed upstream.\n\nWhen repeating a UTC time value during a leap second (when the UTC\ntime should be 23:59:60), the TAI timescale should not stop. The kernel\nNTP code increments the TAI offset one second too late. This patch fixes\nthe issue by incrementing the offset during the leap second itself.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d64cbbc9603861015cd616327f63b10394c0418a",
      "tree": "80b6241c05c909df00d09dd7972e413970711323",
      "parents": [
        "a0ae72b68662f833a56c060fbd483609941e8284"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Tue May 15 17:35:09 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 22 11:36:56 2012 -0700"
      },
      "message": "kdump: Execute kmsg_dump(KMSG_DUMP_PANIC) after smp_send_stop()\n\ncommit 62be73eafaa045d3233337303fb140f7f8a61135 upstream.\n\nThis patch moves kmsg_dump(KMSG_DUMP_PANIC) below smp_send_stop(),\nto serialize the crash-logging process via smp_send_stop() and to\nthus retrieve a more stable crash image of all CPUs stopped.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: dle-develop@lists.sourceforge.net \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Satoru Moriya \u003csatoru.moriya@hds.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: a.p.zijlstra@chello.nl \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/5C4C569E8A4B9B42A84A977CF070A35B2E4D7A5CE2@USINDEVS01.corp.hds.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3993b24649773080897fde524ea2d9f311eba2aa",
      "tree": "22cbe6a20e2d52c2886c309a6307cce4364734f0",
      "parents": [
        "d946d96cd89b13fc354b6f7ed2c4de3e72c87d8e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 06 19:50:40 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 22 11:36:55 2012 -0700"
      },
      "message": "tracing: Have tracing_off() actually turn tracing off\n\ncommit f2bf1f6f5f89d031245067512449fc889b2f4bb2 upstream.\n\nA recent update to have tracing_on/off() only affect the ftrace ring\nbuffers instead of all ring buffers had a cut and paste error.\nThe tracing_off() did the exact same thing as tracing_on() and\nwould not actually turn off tracing. Unfortunately, tracing_off()\nis more important to be working than tracing_on() as this is a key\ndevelopment tool, as it lets the developer turn off tracing as soon\nas a problem is discovered. It is also used by panic and oops code.\n\nThis bug also breaks the \u0027echo func:traceoff \u003e set_ftrace_filter\u0027\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "8997b2223b9d81f6085764d08f9de3a2da760333",
      "tree": "dbe9f854a48d94b079df1a3ba8304b612bbf7122",
      "parents": [
        "3e2b0c74fa03b8788f8f7e9bcc778463e53c49a9"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Tue Jun 05 13:44:36 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jun 17 11:21:28 2012 -0700"
      },
      "message": "sched: Fix the relax_domain_level boot parameter\n\ncommit a841f8cef4bb124f0f5563314d0beaf2e1249d72 upstream.\n\nIt does not get processed because sched_domain_level_max is 0 at the\ntime that setup_relax_domain_level() is run.\n\nSimply accept the value as it is, as we don\u0027t know the value of\nsched_domain_level_max until sched domain construction is completed.\n\nFix sched_relax_domain_level in cpuset.  The build_sched_domain() routine calls\nthe set_domain_attribute() routine prior to setting the sd-\u003elevel, however,\nthe set_domain_attribute() routine relies on the sd-\u003elevel to decide whether\nidle load balancing will be off/on.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120605184436.GA15668@sgi.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d913c02b0a172d5dca6280da5b17a407d69bbce4",
      "tree": "d1efd41f5bb0214b30f04f29c6b4672c6017d40b",
      "parents": [
        "3410afedcda2f504e8fbe02a7f4c49912ce688c8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed May 30 10:54:57 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jun 17 11:21:23 2012 -0700"
      },
      "message": "timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond\n\ncommit fad0c66c4bb836d57a5f125ecd38bed653ca863a upstream.\n\nCommit 6b43ae8a61 (ntp: Fix leap-second hrtimer livelock) broke the\nleapsecond update of CLOCK_MONOTONIC. The missing leapsecond update to\nwall_to_monotonic causes discontinuities in CLOCK_MONOTONIC.\n\nAdjust wall_to_monotonic when NTP inserted a leapsecond.\n\nReported-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nTested-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1338400497-12420-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3876c722319d9b8463b9e82394d81f6d0c45021e",
      "tree": "57ed39a2d4e7748b2edea33abbf42c6d48652d17",
      "parents": [
        "798a1aaef46a15208ff6974679ed63cc542feebd"
      ],
      "author": {
        "name": "Siddhesh Poyarekar",
        "email": "siddhesh.poyarekar@gmail.com",
        "time": "Tue May 29 15:06:22 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jun 10 00:36:06 2012 +0900"
      },
      "message": "mm/fork: fix overflow in vma length when copying mmap on clone\n\ncommit 7edc8b0ac16cbaed7cb4ea4c6b95ce98d2997e84 upstream.\n\nThe vma length in dup_mmap is calculated and stored in a unsigned int,\nwhich is insufficient and hence overflows for very large maps (beyond\n16TB). The following program demonstrates this:\n\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/mman.h\u003e\n\n#define GIG 1024 * 1024 * 1024L\n#define EXTENT 16393\n\nint main(void)\n{\n        int i, r;\n        void *m;\n        char buf[1024];\n\n        for (i \u003d 0; i \u003c EXTENT; i++) {\n                m \u003d mmap(NULL, (size_t) 1 * 1024 * 1024 * 1024L,\n                         PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);\n\n                if (m \u003d\u003d (void *)-1)\n                        printf(\"MMAP Failed: %d\\n\", m);\n                else\n                        printf(\"%d : MMAP returned %p\\n\", i, m);\n\n                r \u003d fork();\n\n                if (r \u003d\u003d 0) {\n                        printf(\"%d: successed\\n\", i);\n                        return 0;\n                } else if (r \u003c 0)\n                        printf(\"FORK Failed: %d\\n\", r);\n                else if (r \u003e 0)\n                        wait(NULL);\n        }\n        return 0;\n}\n\nIncrease the storage size of the result to unsigned long, which is\nsufficient for storing the difference between addresses.\n\nSigned-off-by: Siddhesh Poyarekar \u003csiddhesh.poyarekar@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "24312d34c95702e51240f58c073db30630170fbf",
      "tree": "9f3849204b3211e270397ac75f52b57bebca2892",
      "parents": [
        "9ed2cb7819e7df0e0fe0cce574c64e57b4806fe1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon May 14 15:04:50 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 01 15:18:19 2012 +0800"
      },
      "message": "workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active\n\ncommit 544ecf310f0e7f51fa057ac2a295fc1b3b35a9d3 upstream.\n\nworker_enter_idle() has WARN_ON_ONCE() which triggers if nr_running\nisn\u0027t zero when every worker is idle.  This can trigger spuriously\nwhile a cpu is going down due to the way trustee sets %WORKER_ROGUE\nand zaps nr_running.\n\nIt first sets %WORKER_ROGUE on all workers without updating\nnr_running, releases gcwq-\u003elock, schedules, regrabs gcwq-\u003elock and\nthen zaps nr_running.  If the last running worker enters idle\ninbetween, it would see stale nr_running which hasn\u0027t been zapped yet\nand trigger the WARN_ON_ONCE().\n\nFix it by performing the sanity check iff the trustee is idle.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "31ae98359d26ff89b745c4f8094093cbf6ccbdc6",
      "tree": "38a555bdd527413626389815312419f6e3d78425",
      "parents": [
        "0e93b4b304ae052ba1bc73f6d34a68556fe93429",
        "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac",
        "c3709e6734daa4d9b37fe31592ebb0eb57bae1bb",
        "30b4e9eb783d94e9f5d503b15eb31720679ae1c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 17 09:35:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 17 09:35:17 2012 -0700"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027, \u0027x86-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf, x86 and scheduler updates from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  tracing: Do not enable function event with enable\n  perf stat: handle ENXIO error for perf_event_open\n  perf: Turn off compiler warnings for flex and bison generated files\n  perf stat: Fix case where guest/host monitoring is not supported by kernel\n  perf build-id: Fix filename size calculation\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, kvm: KVM paravirt kernels don\u0027t check for CPUID being unavailable\n  x86: Fix section annotation of acpi_map_cpu2node()\n  x86/microcode: Ensure that module is only loaded on supported Intel CPUs\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix KVM and ia64 boot crash due to sched_groups circular linked list assumption\n"
    },
    {
      "commit": "3911ff30f5d1175e2e67e73244405e3492b35c79",
      "tree": "9727439d23b9308b6c26710db3aadf0406b1998b",
      "parents": [
        "b6255ee3d82798eb1eee9fb1cca713317b5afae8"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun May 13 12:13:15 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 15 08:10:07 2012 -0700"
      },
      "message": "genirq: export handle_edge_irq() and irq_to_desc()\n\nExport handle_edge_irq() and irq_to_desc() to modules to allow them to\ndo things such as\n\n\t__irq_set_handler_locked(...., handle_edge_irq);\n\nThis fixes\n\n\tERROR: \"handle_edge_irq\" [drivers/gpio/gpio-pch.ko] undefined!\n\tERROR: \"irq_to_desc\" [drivers/gpio/gpio-pch.ko] undefined!\n\nwhen gpio-pch is being built as a module.\n\nThis was introduced by commit df9541a60af0 (\"gpio: pch9: Use proper flow\ntype handlers\") that added\n\n\t__irq_set_handler_locked(d-\u003eirq, handle_edge_irq);\n\nbut handle_edge_irq() was not exported for modules (and inlined\n__irq_set_handler_locked() requires irq_to_desc() exported as well)\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e2bf0142231194d36fdc9596b36a261ed2b9fe7",
      "tree": "e5b411ddefaa96b29a73706f7fe407f238632573",
      "parents": [
        "4998a6c0edce7fae9c0a5463f6ec3fa585258ee7"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu May 10 13:01:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 15:06:44 2012 -0700"
      },
      "message": "namespaces, pid_ns: fix leakage on fork() failure\n\nFork() failure post namespace creation for a child cloned with\nCLONE_NEWPID leaks pid_namespace/mnt_cache due to proc being mounted\nduring creation, but not unmounted during cleanup.  Call\npid_ns_release_proc() during cleanup.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac",
      "tree": "ac90f2faceecab78d7d547c33daef31d4a9e2943",
      "parents": [
        "20d23aaa31da295378abff4272716e3dfc72baf0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 10 15:55:43 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 10 15:55:43 2012 -0400"
      },
      "message": "tracing: Do not enable function event with enable\n\nWith the adding of function tracing event to perf, it caused a\nside effect that produces the following warning when enabling all\nevents in ftrace:\n\n # echo 1 \u003e /sys/kernel/debug/tracing/events/enable\n\n[console]\nevent trace: Could not enable event function\n\nThis is because when enabling all events via the debugfs system\nit ignores events that do not have a -\u003ereg() function assigned.\nThis was to skip over the ftrace internal events (as they are\nnot TRACE_EVENTs). But as the ftrace function event now has\na -\u003ereg() function attached to it for use with perf, it is no\nlonger ignored.\n\nWorse yet, this -\u003ereg() function is being called when it should\nnot be. It returns an error and causes the above warning to\nbe printed.\n\nBy adding a new event_call flag (TRACE_EVENT_FL_IGNORE_ENABLE)\nand have all ftrace internel event structures have it set,\nsetting the events/enable will no longe try to incorrectly enable\nthe function event and does not warn.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b7dafa0ef3145c31d7753be0a08b3cbda51f0209",
      "tree": "9beb3c3fcd8b5439ee24c0f3e1eb0c78e897fb2f",
      "parents": [
        "7ee94d97aafacf5a019b3578e0eae6daa2e2bcd5"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Thu May 10 10:04:36 2012 -0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 08:58:33 2012 -0700"
      },
      "message": "compat: Fix RT signal mask corruption via sigprocmask\n\ncompat_sys_sigprocmask reads a smaller signal mask from userspace than\nsigprogmask accepts for setting.  So the high word of blocked.sig[0]\nwill be cleared, releasing any potentially blocked RT signal.\n\nThis was discovered via userspace code that relies on get/setcontext.\nglibc\u0027s i386 versions of those functions use sigprogmask instead of\nrt_sigprogmask to save/restore signal mask and caused RT signal\nunblocking this way.\n\nAs suggested by Linus, this replaces the sys_sigprocmask based compat\nversion with one that open-codes the required logic, including the merge\nof the existing blocked set with the new one provided on SIG_SETMASK.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30b4e9eb783d94e9f5d503b15eb31720679ae1c7",
      "tree": "1369b75e45c5eaa1763a87f4e3ce03a9b32737e8",
      "parents": [
        "febb72a6e4cc6c8cffcc1ea649a3fb364f1ea432"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "imammedo@redhat.com",
        "time": "Wed May 09 12:38:28 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 09 12:27:35 2012 +0200"
      },
      "message": "sched: Fix KVM and ia64 boot crash due to sched_groups circular linked list assumption\n\nIf we have one cpu that failed to boot and boot cpu gave up on\nwaiting for it and then another cpu is being booted, kernel\nmight crash with following OOPS:\n\n   BUG: unable to handle kernel NULL pointer dereference at 0000000000000018\n   IP: [\u003cffffffff812c3630\u003e] __bitmap_weight+0x30/0x80\n   Call Trace:\n       [\u003cffffffff8108b9b6\u003e] build_sched_domains+0x7b6/0xa50\n\nThe crash happens in init_sched_groups_power() that expects\nsched_groups to be circular linked list. However it is not\nalways true, since sched_groups preallocated in __sdt_alloc are\ninitialized in build_sched_groups and it may exit early\n\n        if (cpu !\u003d cpumask_first(sched_domain_span(sd)))\n                return 0;\n\nwithout initializing sd-\u003egroups-\u003enext field.\n\nFix bug by initializing next field right after sched_group was\nallocated.\n\nAlso-Reported-by: Jiang Liu \u003cliuj97@gmail.com\u003e\nSigned-off-by: Igor Mammedov \u003cimammedo@redhat.com\u003e\nCc: a.p.zijlstra@chello.nl\nCc: pjt@google.com\nCc: seto.hidetoshi@jp.fujitsu.com\nLink: http://lkml.kernel.org/r/1336559908-32533-1-git-send-email-imammedo@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6cfdd02b886aac866098f33262d409565f101ce0",
      "tree": "178b5abf48eb98b9ef0a29d865d7214798ed8b57",
      "parents": [
        "64f371bc3107e69efce563a3d0f0e6880de0d537",
        "26e0f90fded422f309deb6169dfbccb204435698"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 29 15:00:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 29 15:00:44 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.4-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management fixes from Rafael J. Wysocki:\n \"Fix for an issue causing hibernation to hang on systems with highmem\n  (that practically means i386) due to broken memory management (bug\n  introduced in 3.2, so -stable material) and PM documentation update\n  making the freezer documentation follow the code again after some\n  recent updates.\"\n\n* tag \u0027pm-for-3.4-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Freezer / Docs: Update documentation about freezing of tasks\n  PM / Hibernate: fix the number of pages used for hibernate/thaw buffering\n"
    },
    {
      "commit": "78e97a478882fcdacb0d5d467cb840bc325b27da",
      "tree": "9f42453b6136861248be057354cdb834aded7145",
      "parents": [
        "c28c48516975af9cad219a52557333342e0ed319",
        "4d8cd7e780aab781e40ea3178bdbae089f5125a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:40:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:40:56 2012 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU fix from Ingo Molnar.\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  rcu: Permit call_rcu() from CPU_DYING notifiers\n"
    },
    {
      "commit": "daae677f56187e83ddc81cf8e45bbcc236e0e661",
      "tree": "ed4dbd2383c4096f6ef00f57fd4635f5b045a6b1",
      "parents": [
        "06fc5d3d248bdae213aed9efe3a262acf10acd94",
        "fb2cf2c660971bea0ad86a9a5c19ad39eab61344"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:37:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:37:00 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 OOPS when build_sched_domains() percpu allocation fails\n  sched: Fix more load-balancing fallout\n"
    },
    {
      "commit": "06fc5d3d248bdae213aed9efe3a262acf10acd94",
      "tree": "c2d9163a1f41760566586ebacac26ecd64dd22e9",
      "parents": [
        "f6072452c903f2e4dcbae1230f8fbcbf058bd71a",
        "724b6daa13e100067c30cfc4d1ad06629609dc4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:35:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:35:50 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\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Fix perf_event_for_each() to use sibling\n  perf symbols: Read plt symbols from proper symtab_type binary\n  tracing: Fix stacktrace of latency tracers (irqsoff and friends)\n  perf tools: Add \u0027G\u0027 and \u0027H\u0027 modifiers to event parsing\n  tracing: Fix regression with tracing_on\n  perf tools: Drop CROSS_COMPILE from flex and bison calls\n  perf report: Fix crash showing warning related to kernel maps\n  tracing: Fix build breakage without CONFIG_PERF_EVENTS (again)\n"
    },
    {
      "commit": "f6072452c903f2e4dcbae1230f8fbcbf058bd71a",
      "tree": "7f33a247279beb624ddca9df3d10822104048e13",
      "parents": [
        "d7e69bc73c423723c30b5cd3d4b1d72c06ed22e6",
        "8e12a038f88e819c878e5697ff681cb08bcebb08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:32:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:32:37 2012 -0700"
      },
      "message": "Merge branch \u0027for-v3.4-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull build fixes for less mainstream architectures from Paul Gortmaker:\n \"These are fixes for frv(1), blackfin(2), powerpc(1) and xtensa(4).\n\n  Fortunately the touches are nearly all specific to files just used by\n  the arch in question.  The two touches to shared/common files\n  [kernel/irq/debug.h and drivers/pci/Makefile] are trivial to assess as\n  no risk to anyone.\n\n  Half of them relate to xtensa directly.  It was only when I fixed the\n  last xtensa issue that I realized that the arch has been broken for a\n  significant time, and isn\u0027t a specific v3.4 regression.  So if you\n  wanted, we could leave xtensa lying bleeding in the street for a\n  couple more weeks and queue those for 3.5.  But given they are no risk\n  to anyone outside of xtensa, I figured to just leave them in.\n\n  If you are OK with taking the xtensa fixes, then please pull to get:\n\n   - one last implicit include uncovered by system.h that is in a file\n     specific to just one powerpc defconfig.  (I\u0027d sync\u0027d with BenH).\n\n   - fix an oversight in the PCI makefile where shared code wasn\u0027t being\n     compiled for ARCH\u003dfrv\n\n   - fix a missing include for GPIO in blackfin framebuffer.\n\n   - audit and tag endif in blackfin ezkit board file, in order to find\n     and fix the misplaced endif masking a block of code.\n\n   - fix irq/debug.h choice of temporary macro names to be more internal\n     so they don\u0027t conflict with names used by xtensa.\n\n   - fix a reference to an undeclared local var in xtensa\u0027s signal.c\n\n   - fix an implicit bug.h usage in xtensa\u0027s asm/io.h uncovered by my\n     removing bug.h from kernel.h\n\n   - fix xtensa to properly indicate it is using asm-generic/hardirq.h\n     in order to resolve the link error - undefined ack_bad_irq\n\n  The xtensa still fails final link as my latest binutils does something\n  evil when ld forward-relocates unlikely() blocks, but in theory people\n  who have older/valid toolchains could now use the thing.\"\n\n* \u0027for-v3.4-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  xtensa: fix build fail on undefined ack_bad_irq\n  blackfin: fix ifdef fustercluck in mach-bf538/boards/ezkit.c\n  blackfin: fix compile error in bfin-lq035q1-fb.c\n  pci: frv architecture needs generic setup-bus infrastructure\n  irq: hide debug macros so they don\u0027t collide with others.\n  xtensa: fix build error in xtensa/include/asm/io.h\n  xtensa: fix build failure in xtensa/kernel/signal.c\n  powerpc: fix system.h fallout in sysdev/scom.c [chroma_defconfig]\n"
    },
    {
      "commit": "724b6daa13e100067c30cfc4d1ad06629609dc4e",
      "tree": "290b86e3c259922c350ea6469f43ddb953a83aa3",
      "parents": [
        "c716ef56f1319e8a515cb1947a3ec59b06e94a5e"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Wed Apr 11 11:54:13 2012 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Apr 26 13:51:31 2012 +0200"
      },
      "message": "perf: Fix perf_event_for_each() to use sibling\n\nIn perf_event_for_each() we call a function on an event, and then\niterate over the siblings of the event.\n\nHowever we don\u0027t call the function on the siblings, we call it\nrepeatedly on the original event - it seems \"obvious\" that we should\nbe calling it with sibling as the argument.\n\nIt looks like this broke in commit 75f937f24bd9 (\"Fix ctx-\u003emutex\nvs counter-\u003emutex inversion\").\n\nThe only effect of the bug is that the PERF_IOC_FLAG_GROUP parameter\nto the ioctls doesn\u0027t work.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1334109253-31329-1-git-send-email-michael@ellerman.id.au\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fb2cf2c660971bea0ad86a9a5c19ad39eab61344",
      "tree": "75343c1ef32657416dbef2dd5a683391ff8b00c9",
      "parents": [
        "eb95308ee2a69403909e111837b9068c64cfc349"
      ],
      "author": {
        "name": "he, bo",
        "email": "bo.he@intel.com",
        "time": "Wed Apr 25 19:59:21 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Apr 26 12:54:53 2012 +0200"
      },
      "message": "sched: Fix OOPS when build_sched_domains() percpu allocation fails\n\nUnder extreme memory used up situations, percpu allocation\nmight fail. We hit it when system goes to suspend-to-ram,\ncausing a kworker panic:\n\n EIP: [\u003cc124411a\u003e] build_sched_domains+0x23a/0xad0\n Kernel panic - not syncing: Fatal exception\n Pid: 3026, comm: kworker/u:3\n 3.0.8-137473-gf42fbef #1\n\n Call Trace:\n  [\u003cc18cc4f2\u003e] panic+0x66/0x16c\n  [...]\n  [\u003cc1244c37\u003e] partition_sched_domains+0x287/0x4b0\n  [\u003cc12a77be\u003e] cpuset_update_active_cpus+0x1fe/0x210\n  [\u003cc123712d\u003e] cpuset_cpu_inactive+0x1d/0x30\n  [...]\n\nWith this fix applied build_sched_domains() will return -ENOMEM and\nthe suspend attempt fails.\n\nSigned-off-by: he, bo \u003cbo.he@intel.com\u003e\nReviewed-by: Zhang, Yanmin \u003cyanmin.zhang@intel.com\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1335355161.5892.17.camel@hebo\n[ So, we fail to deallocate a CPU because we cannot allocate RAM :-/\n  I don\u0027t like that kind of sad behavior but nevertheless it should\n  not crash under high memory load. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "eb95308ee2a69403909e111837b9068c64cfc349",
      "tree": "92e9a3368e75b94486dc54f2688453fed17d4eed",
      "parents": [
        "2300fd67b4f29eec19addb15a8571837228f63fc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 17 13:38:40 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Apr 26 12:54:52 2012 +0200"
      },
      "message": "sched: Fix more load-balancing fallout\n\nCommits 367456c756a6 (\"sched: Ditch per cgroup task lists for\nload-balancing\") and 5d6523ebd (\"sched: Fix load-balance wreckage\")\nleft some more wreckage.\n\nBy setting loop_max unconditionally to -\u003enr_running load-balancing\ncould take a lot of time on very long runqueues (hackbench!). So keep\nthe sysctl as max limit of the amount of tasks we\u0027ll iterate.\n\nFurthermore, the min load filter for migration completely fails with\ncgroups since inequality in per-cpu state can easily lead to such\nsmall loads :/\n\nFurthermore the change to add new tasks to the tail of the queue\ninstead of the head seems to have some effect.. not quite sure I\nunderstand why.\n\nCombined these fixes solve the huge hackbench regression reported by\nTim when hackbench is ran in a cgroup.\n\nReported-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nAcked-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1335365763.28150.267.camel@twins\n[ got rid of the CONFIG_PREEMPT tuning and made small readability edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c716ef56f1319e8a515cb1947a3ec59b06e94a5e",
      "tree": "4434fc69dfbc9e8f4ddb1844cb460c45fbacf53a",
      "parents": [
        "b64909af1c1a441b31e8ffe812557a37103dd2d8",
        "db4c75cbebd7e5910cd3bcb6790272fcc3042857"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 25 12:33:24 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 25 12:33:24 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "4d8cd7e780aab781e40ea3178bdbae089f5125a0",
      "tree": "8c9722455b869c7c212955c25199c07dcf8d90ac",
      "parents": [
        "e816b57a337ea3b755de72bec38c10c864f23015",
        "92c38702e98e58438c3760ebb279c40bbca8bd5f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 25 09:42:49 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 25 09:42:49 2012 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent\n"
    },
    {
      "commit": "f8262d476823a7ea1eb497ff9676d1eab2393c75",
      "tree": "dfe76c8ef2b3fc700d9550b85b69e414ef415de6",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Tue Apr 24 23:53:28 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 24 23:53:28 2012 +0200"
      },
      "message": "PM / Hibernate: fix the number of pages used for hibernate/thaw buffering\n\nHibernation regression fix, since 3.2.\n\nCalculate the number of required free pages based on non-high memory\npages only, because that is where the buffers will come from.\n\nCommit 081a9d043c983f161b78fdc4671324d1342b86bc introduced a new buffer\npage allocation logic during hibernation, in order to improve the\nperformance. The amount of pages allocated was calculated based on total\namount of pages available, although only non-high memory pages are\nusable for this purpose. This caused hibernation code to attempt to over\nallocate pages on platforms that have high memory, which led to hangs.\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@suse.de\u003e\n"
    },
    {
      "commit": "9f3045eca89a2e6fdd1901aafb9e28231d3f31fb",
      "tree": "f6d4e6acd6c2b252dfa7695446f3dba081f710a7",
      "parents": [
        "bfae8ee8d28e6a4ac1d63e8077cb09928d8a557a"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Apr 18 16:29:57 2012 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Apr 23 12:30:03 2012 -0400"
      },
      "message": "irq: hide debug macros so they don\u0027t collide with others.\n\nThe file kernel/irq/debug.h temporarily defines P, PS, PD\nand then undefines them.  However these names aren\u0027t really\n\"internal\" enough, and collide with other more legit users\nsuch as the ones in the xtensa arch, causing:\n\nIn file included from kernel/irq/internals.h:58:0,\n                 from kernel/irq/irqdesc.c:18:\nkernel/irq/debug.h:8:0: warning: \"PS\" redefined [enabled by default]\narch/xtensa/include/asm/regs.h:59:0: note: this is the location of the previous definition\n\nAdd a handful of underscores to do a better job of hiding these\ntemporary macros.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "db4c75cbebd7e5910cd3bcb6790272fcc3042857",
      "tree": "068514135f1bfd68c6add551ec94545010ca5a73",
      "parents": [
        "348f0fc238efb441a28e7644c51f9fd3001b228a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 19 10:31:47 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 19 17:00:13 2012 -0400"
      },
      "message": "tracing: Fix stacktrace of latency tracers (irqsoff and friends)\n\nWhile debugging a latency with someone on IRC (mirage335) on #linux-rt (OFTC),\nwe discovered that the stacktrace output of the latency tracers\n(preemptirqsoff) was empty.\n\nThis bug was caused by the creation of the dynamic length stack trace\nagain (like commit 12b5da3 \"tracing: Fix ent_size in trace output\" was).\n\nThis bug is caused by the latency tracers requiring the next event\nto determine the time between the current event and the next. But by\ngrabbing the next event, the iter-\u003eent_size is set to the next event\ninstead of the current one. As the stacktrace event is the last event,\nthis makes the ent_size zero and causes nothing to be printed for\nthe stack trace. The dynamic stacktrace uses the ent_size to determine\nhow much of the stack can be printed. The ent_size of zero means\nno stack.\n\nThe simple fix is to save the iter-\u003eent_size before finding the next event.\n\nNote, mirage335 asked to remain anonymous from LKML and git, so I will\nnot add the Reported-by and Tested-by tags, even though he did report\nthe issue and tested the fix.\n\nCc: stable@vger.kernel.org # 3.1+\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a6371f80230eaaafd7eef7efeedaa9509bdc982d",
      "tree": "bb2d800c95cde553e126c28cb58133189b015a47",
      "parents": [
        "b9a6a23566960d0dd3f51e2e68b472cd61911078"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Apr 18 19:27:39 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 19 21:27:50 2012 +0200"
      },
      "message": "tick: Fix the spurious broadcast timer ticks after resume\n\nDuring resume, tick_resume_broadcast() programs the broadcast timer in\noneshot mode unconditionally. On the platforms where broadcast timer\nis not really required, this will generate spurious broadcast timer\nticks upon resume. For example, on the always running apic timer\nplatforms with HPET, I see spurious hpet tick once every ~5minutes\n(which is the 32-bit hpet counter wraparound time).\n\nSimilar to boot time, during resume make the oneshot mode setting of\nthe broadcast clock event device conditional on the state of active\nbroadcast users.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: svenjoac@gmx.de\nCc: torvalds@linux-foundation.org\nCc: rjw@sisk.pl\nLink: http://lkml.kernel.org/r/1334802459.28674.209.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b9a6a23566960d0dd3f51e2e68b472cd61911078",
      "tree": "d9da5fb202a21b9036e961a5f4d3190e57343a6c",
      "parents": [
        "b435092f70ec5ebbfb6d075d5bf3c631b49a51de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 18 17:31:58 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 19 21:27:35 2012 +0200"
      },
      "message": "tick: Ensure that the broadcast device is initialized\n\nSantosh found another trap when we avoid to initialize the broadcast\ndevice in the switch_to_oneshot code. The broadcast device might be\nstill in SHUTDOWN state when we actually need to use it. That\nobviously breaks, as set_next_event() is called on a shutdown\ndevice. This did not break on x86, but Suresh analyzed it:\n\nFrom the review, most likely on Sven\u0027s system we are force enabling\nthe hpet using the pci quirk\u0027s method very late. And in this case,\nhpet_clockevent (which will be global_clock_event) handler can be\nnull, specifically as this platform might not be using deeper c-states\nand using the reliable APIC timer.\n\nPrior to commit \u0027fa4da365bc7772c\u0027, that handler will be set to\n\u0027tick_handle_oneshot_broadcast\u0027 when we switch the broadcast timer to\noneshot mode, even though we don\u0027t use it. Post commit\n\u0027fa4da365bc7772c\u0027, we stopped switching the broadcast mode to oneshot\nas this is not really needed and his platform\u0027s global_clock_event\u0027s\nhandler will remain null. While on my SNB laptop, same is set to\n\u0027clockevents_handle_noop\u0027 because hpet gets enabled very early. (noop\nhandler on my platform set when the early enabled hpet timer gets\nreplaced by the lapic timer).\n\nBut the commit \u0027fa4da365bc7772c\u0027 tracked the broadcast timer mode in\nthe SW as oneshot, even though it didn\u0027t touch the HW timer. During\nresume however, tick_resume_broadcast() saw the SW broadcast mode as\noneshot and actually programmed the broadcast device also into oneshot\nmode. So this triggered the null pointer de-reference after the hpet\nwraps around and depending on what the hpet counter is set to. On the\nnormal platforms where hpet gets enabled early we should be seeing a\nspurious interrupt (in my SNB laptop I see one spurious interrupt\nafter around 5 minutes ;) which is 32-bit hpet counter wraparound\ntime), but that\u0027s a separate issue.\n\nEnforce the mode setting when trying to set an event.\n\nReported-and-tested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: torvalds@linux-foundation.org\nCc: svenjoac@gmx.de\nCc: rjw@sisk.pl\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1204181723350.2542@ionos\n\n"
    },
    {
      "commit": "b435092f70ec5ebbfb6d075d5bf3c631b49a51de",
      "tree": "c9cfd15c405dd218003fd84585196b5bffcc9bbd",
      "parents": [
        "592fe8980688e7cba46897685d014c7fb3018a67"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 18 12:08:23 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 18 14:00:56 2012 +0200"
      },
      "message": "tick: Fix oneshot broadcast setup really\n\nSven Joachim reported, that suspend/resume on rc3 trips over a NULL\npointer dereference. Linus spotted the clockevent handler being NULL.\n\ncommit fa4da365b(clockevents: tTack broadcast device mode change in\ntick_broadcast_switch_to_oneshot()) tried to fix a problem with the\nbroadcast device setup, which was introduced in commit 77b0d60c5(\nclockevents: Leave the broadcast device in shutdown mode when not\nneeded).\n\nThe initial commit avoided to set up the broadcast device when no\nbroadcast request bits were set, but that left the broadcast device\ndisfunctional. In consequence deep idle states which need the\nbroadcast device were not woken up.\n\ncommit fa4da365b tried to fix that by initializing the state of the\nbroadcast facility, but that missed the fact, that nothing initializes\nthe event handler and some other state of the underlying clock event\ndevice.\n\nThe fix is to revert both commits and make only the mode setting of\nthe clock event device conditional on the state of active broadcast\nusers. \n\nThat initializes everything except the low level device mode, but this\nhappens when the broadcast functionality is invoked by deep idle.\n\nReported-and-tested-by: Sven Joachim \u003csvenjoac@gmx.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1204181205540.2542@ionos\n\n"
    },
    {
      "commit": "92c38702e98e58438c3760ebb279c40bbca8bd5f",
      "tree": "775d0078f46b6d9f2fc4d4be83b80e8376a707ba",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Apr 16 12:12:09 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 17 07:30:54 2012 -0700"
      },
      "message": "rcu: Permit call_rcu() from CPU_DYING notifiers\n\nAs of:\n\n  29494be71afe (\"rcu,cleanup: simplify the code when cpu is dying\")\n\nRCU adopts callbacks from the dying CPU in its CPU_DYING notifier,\nwhich means that any callbacks posted by later CPU_DYING notifiers\nare ignored until the CPU comes back online.\n\nA WARN_ON_ONCE() was added to __call_rcu() by:\n\n  e56014000816 (\"rcu: Simplify offline processing\")\n\nto check for this condition.  Although this condition did not trigger\n(at least as far as I know) during -next testing, it did recently\ntrigger in mainline:\n\n  https://lkml.org/lkml/2012/4/2/34\n\nWhat is needed longer term is for RCU\u0027s CPU_DEAD notifier to adopt any\ncallbacks that were posted by CPU_DYING notifiers, however, the Linux\nkernel has been running with this sort of thing happening for quite\nsome time.  So the only thing that qualifies as a regression is the\nWARN_ON_ONCE(), which this commit removes.\n\nMaking RCU\u0027s CPU_DEAD notifier adopt callbacks posted by CPU_DYING\nnotifiers is a topic for the 3.5 release of the Linux kernel.\n\nReported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "348f0fc238efb441a28e7644c51f9fd3001b228a",
      "tree": "780fa93c72777045a986f0ce648efc2bf8e35999",
      "parents": [
        "6e48b550d1f5f1919e6500547ae14a73fbf66c7b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "message": "tracing: Fix regression with tracing_on\n\nThe change to make tracing_on affect only the ftrace ring buffer, caused\na bug where it wont affect any ring buffer. The problem was that the buffer\nof the trace_array was passed to the write function and not the trace array\nitself.\n\nThe trace_array can change the buffer when running a latency tracer. If this\nhappens, then the buffer being disabled may not be the buffer currently used\nby ftrace. This will cause the tracing_on file to become useless.\n\nThe simple fix is to pass the trace_array to the write function instead of\nthe buffer. Then the actual buffer may be changed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "668ce0ac707719d866af7e432e518af7b4c575ad",
      "tree": "56981174aa46721ef0b4d3710f990153e22dda3a",
      "parents": [
        "a1c0cad352520206305b1a3c2658097721454855",
        "ef1f0982540e5f79c8bbf3675bbc0a9734dba3fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 13 19:44:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 13 19:44:36 2012 -0700"
      },
      "message": "Merge branch \u0027systemh-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull system.h fixups for less common arch\u0027s from Paul Gortmaker:\n \"Here is what is hopefully the last of the system.h related fixups.\n\n  The fixes for Alpha and ia64 are code relocations consistent with what\n  was done for the more mainstream architectures.  Note that the\n  diffstat lines removed vs lines added are not the same since I\u0027ve\n  fixed some of the whitespace issues in the relocated code blocks.\n  However they are functionally the same.  Compile tested locally, plus\n  these two have been in linux-next for a while.\n\n  There is also a trivial one line system.h related fix for the Tilera\n  arch from Chris Metcalf to fix an implict include..\"\n\n* \u0027systemh-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  irq_work: fix compile failure on tile from missing include\n  ia64: populate the cmpxchg header with appropriate code\n  alpha: fix build failures from system.h dismemberment\n"
    },
    {
      "commit": "6e48b550d1f5f1919e6500547ae14a73fbf66c7b",
      "tree": "983a2a06bc7aaddfc05f2d8c33309c3c21d30dea",
      "parents": [
        "a7ca08038b990e2cbed324948664b2d8940fd782"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 13 09:52:59 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 13 21:37:04 2012 -0400"
      },
      "message": "tracing: Fix build breakage without CONFIG_PERF_EVENTS (again)\n\nToday\u0027s -next fails to link for me:\n\nkernel/built-in.o:(.data+0x178e50): undefined reference to `perf_ftrace_event_register\u0027\n\nIt looks like multiple fixes have been merged for the issue fixed by\ncommit fa73dc9 (tracing: Fix build breakage without CONFIG_PERF_EVENTS)\nthough I can\u0027t identify the other changes that have gone in at the\nminute, it\u0027s possible that the changes which caused the breakage fixed\nby the previous commit got dropped but the fix made it in.\n\nLink: http://lkml.kernel.org/r/1334307179-21255-1-git-send-email-broonie@opensource.wolfsonmicro.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ef1f0982540e5f79c8bbf3675bbc0a9734dba3fc",
      "tree": "7865706f7112dbb5c195c41695bbfdcf9e5471ee",
      "parents": [
        "85f8f7759e418c814ee2ceacf73eddb9bed39492"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Apr 11 12:21:39 2012 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Apr 13 13:15:16 2012 -0400"
      },
      "message": "irq_work: fix compile failure on tile from missing include\n\nBuilding with IRQ_WORK configured results in\n\nkernel/irq_work.c: In function ‘irq_work_run’:\nkernel/irq_work.c:110: error: implicit declaration of function ‘irqs_disabled’\n\nThe appropriate header just needs to be included.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "b3dfd76c945b879513b991bac23ffcb97fe88ec2",
      "tree": "fa5044e39dc816293ebf46cbb208443039eec7c5",
      "parents": [
        "9b1ef1de20e2658c77cce89941f45525704ab534",
        "5269a9ab7def9a3116663347d59c4d70afa2d180"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 15:33:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 15:33:16 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull a fix for the recent irqdomain bug fixes from Grant Likely:\n \"I flubbed one patch in the last pull request which broke a format\n  string on 64 bit platforms.  Here\u0027s the fix.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irq_domain: fix type mismatch in debugfs output format\n"
    },
    {
      "commit": "5269a9ab7def9a3116663347d59c4d70afa2d180",
      "tree": "e4c93f4f7a1cc8e6c243bce6be7b5c37ece3cc54",
      "parents": [
        "ecca5c3acc0d0933d89abc44e60afb0cc8170e35"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Apr 12 14:42:15 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Apr 12 16:25:48 2012 -0600"
      },
      "message": "irq_domain: fix type mismatch in debugfs output format\n\nsizeof(void*) returns an unsigned long, but it was being used as a width parameter to a \"%-*s\" format string which requires an int.  On 64 bit platforms this causes a type mismatch:\n\n    linux/kernel/irq/irqdomain.c:575: warning: field width should have type\n    \u0027int\u0027, but argument 6 has type \u0027long unsigned int\u0027\n\nThis change casts the size to an int so printf gets the right data type.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\n"
    },
    {
      "commit": "ccb1ec95e924a24906ef01ce6d028a8dc13dc87d",
      "tree": "b16a02083ba6843fe3f2513f74a72c95d43ddccb",
      "parents": [
        "4a1d7544fee5e601a4e642ce2720689f90428d65",
        "d48fc63f6f3f485ed5aa9cf019d8e8e3a7d10263"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 15:16:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 15:16:26 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 \"The itimer removal one is not strictly a fix, but I really wanted to\n  avoid a rebase of the urgent ones.\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"clocksource: Load the ACPI PM clocksource asynchronously\"\n  clockevents: tTack broadcast device mode change in tick_broadcast_switch_to_oneshot()\n  itimer: Use printk_once instead of WARN_ONCE\n  nohz: Fix stale jiffies update in tick_nohz_restart()\n  tick: Document TICK_ONESHOT config option\n  proc: stats: Use arch_idle_time for idle and iowait times if available\n  itimer: Schedule silent NULL pointer fixup in setitimer() for removal\n"
    },
    {
      "commit": "ecca5c3acc0d0933d89abc44e60afb0cc8170e35",
      "tree": "e765a76f8bf07717b4c446193bc4e2601b4fd038",
      "parents": [
        "174808af90a06ee59ffedd60c00c252f1f887f25",
        "026ee1f66aaa7f01b617a0ba89ac4b531f9603f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 14:15:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 14:15:21 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge fixes from Andrew Morton.\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (14 patches)\n  panic: fix stack dump print on direct call to panic()\n  drivers/rtc/rtc-pl031.c: enable clock on all ST variants\n  Revert \"mm: vmscan: fix misused nr_reclaimed in shrink_mem_cgroup_zone()\"\n  hugetlb: fix race condition in hugetlb_fault()\n  drivers/rtc/rtc-twl.c: use static register while reading time\n  drivers/rtc/rtc-s3c.c: add placeholder for driver private data\n  drivers/rtc/rtc-s3c.c: fix compilation error\n  MAINTAINERS: add PCDP console maintainer\n  memcg: do not open code accesses to res_counter members\n  drivers/rtc/rtc-efi.c: fix section mismatch warning\n  drivers/rtc/rtc-r9701.c: reset registers if invalid values are detected\n  drivers/char/random.c: fix boot id uniqueness race\n  memcg: fix broken boolen expression\n  memcg: fix up documentation on global LRU\n"
    },
    {
      "commit": "026ee1f66aaa7f01b617a0ba89ac4b531f9603f1",
      "tree": "536bca88c7ee8475eb33b0b8a654bd13b8fd64a9",
      "parents": [
        "2f3972168353d355854d6381f1f360ce83b723e5"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 12 12:49:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 13:12:12 2012 -0700"
      },
      "message": "panic: fix stack dump print on direct call to panic()\n\nCommit 6e6f0a1f0fa6 (\"panic: don\u0027t print redundant backtraces on oops\")\ncauses a regression where no stack trace will be printed at all for the\ncase where kernel code calls panic() directly while not processing an\noops, and of course there are 100\u0027s of instances of this type of call.\n\nThe original commit executed the check (!oops_in_progress), but this will\nalways be false because just before the dump_stack() there is a call to\nbust_spinlocks(1), which does the following:\n\n  void __attribute__((weak)) bust_spinlocks(int yes)\n  {\n\tif (yes) {\n\t\t++oops_in_progress;\n\nThe proper way to resolve the problem that original commit tried to\nsolve is to avoid printing a stack dump from panic() when the either of\nthe following conditions is true:\n\n  1) TAINT_DIE has been set (this is done by oops_end())\n     This indicates and oops has already been printed.\n  2) oops_in_progress \u003e 1\n     This guards against the rare case where panic() is invoked\n     a second time, or in between oops_begin() and oops_end()\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.3+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "7e066489726b52bea419085e5b8929e1e89f57a8"
}
