)]}'
{
  "log": [
    {
      "commit": "95024a08ad7e0bc8b2dfc120a2147035782e38b3",
      "tree": "a5187c8a7855cc17ee5f1b64f572f390aaefbdce",
      "parents": [
        "e38ca498b972d0246551cac1c3dd4f7535e48458"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@codeaurora.org",
        "time": "Mon Aug 05 18:03:22 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:13 2014 -0800"
      },
      "message": "watchdog: Fix warning caused by use of smp_processor_id()\n\nwatchdog driver creates per-cpu kernel threads that are bound to\nseparate cpus. Use of smp_processor_id() by such threads in\n__touch_watchdog() is perfectly fine, as they are generally pinned to\nthe cpu on which they are running.\n\nDuring cpu offline event, however, affinity for the watchdog thread\nbound to dying cpu is broken before it is killed. There is a small\ntime window between affinity broken and thread dying in which thread\ncan run on a cpu with its affinity not set to that cpu exclusively.\nThis will trigger a warning from use of smp_processor_id(), which is\nharmless in this case as it will provide the required heartbeat on cpu\nwhere it is running and moreover that thread will be shortly killed.\n\nMute the harmless warning by use of raw_smp_processor_id() in\n__touch_watchdog(). This seems less intrusive fix than killing threads\nin CPU_DOWN_PREPARE event handler.\n\nChange-Id: I7fa22ff529aeea0ec3d5610cfec87aea92cf95a0\nCRs-Fixed: 517188\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@codeaurora.org\u003e\n"
    },
    {
      "commit": "e38ca498b972d0246551cac1c3dd4f7535e48458",
      "tree": "0cba69c1b374e80eb66fd8f76469efc7878147f7",
      "parents": [
        "67bed6808090539cefdc0ecd2738e12ba8bc037e"
      ],
      "author": {
        "name": "Peter Boonstoppel",
        "email": "pboonstoppel@nvidia.com",
        "time": "Thu Aug 09 15:34:47 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:13 2014 -0800"
      },
      "message": "sched: Unthrottle rt runqueues in __disable_runtime()\n\nmigrate_tasks() uses _pick_next_task_rt() to get tasks from the\nreal-time runqueues to be migrated. When rt_rq is throttled\n_pick_next_task_rt() won\u0027t return anything, in which case\nmigrate_tasks() can\u0027t move all threads over and gets stuck in an\ninfinite loop.\n\nInstead unthrottle rt runqueues before migrating tasks.\n\nAdditionally: move unthrottle_offline_cfs_rqs() to rq_offline_fair()\n\nChange-Id: If8a4a399f1a14b7f4789c1b205dcfadbde555214\nSigned-off-by: Peter Boonstoppel \u003cpboonstoppel@nvidia.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nLink: http://lkml.kernel.org/r/5FBF8E85CA34454794F0F7ECBA79798F379D3648B7@HQMAIL04.nvidia.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nGit-commit: a4c96ae319b8047f62dedbe1eac79e321c185749\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Syed Rameez Mustafa \u003crameezmustafa@codeaurora.org\u003e\n"
    },
    {
      "commit": "67bed6808090539cefdc0ecd2738e12ba8bc037e",
      "tree": "554f4cf1f7d9ec8997ffbbf74d0a5284f98cd17c",
      "parents": [
        "1bee7b9b43a3b5530c62523d582aef7c3f7028ca"
      ],
      "author": {
        "name": "Arun Bharadwaj",
        "email": "abharadw@codeaurora.org",
        "time": "Wed Jul 03 10:35:02 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:13 2014 -0800"
      },
      "message": "tracing/sched: Add trace events to track cpu hotplug.\n\nAdd ftrace event trace_sched_cpu_hotplug to track cpu\nhot-add and hot-remove events.\n\nThis is useful in a variety of power, performance and\ndebug analysis scenarios.\n\nChange-Id: I5d202c7a229ffacc3aafb7cf9afee0b0ee7b0931\nSigned-off-by: Arun Bharadwaj \u003cabharadw@codeaurora.org\u003e\n"
    },
    {
      "commit": "1bee7b9b43a3b5530c62523d582aef7c3f7028ca",
      "tree": "65467bc85c4f505afd64c09d4044c1645c1ecc56",
      "parents": [
        "3bb998ff6cbde07fdd25d039487195c29b17def1"
      ],
      "author": {
        "name": "Syed Rameez Mustafa",
        "email": "rameezmustafa@codeaurora.org",
        "time": "Mon Jul 15 11:52:09 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:13 2014 -0800"
      },
      "message": "kernel/lib: add additional debug capabilites for data corruption\n\nData corruptions in the kernel often end up in system crashes that\nare easier to debug closer to the time of detection. Specifically,\nif we do not panic immediately after lock or list corruptions have been\ndetected, the problem context is lost in the ensuing system mayhem.\nAdd support for allowing system crash immediately after such corruptions\nare detected. The CONFIG option controls the enabling/disabling of the\nfeature.\n\nChange-Id: I9b2eb62da506a13007acff63e85e9515145909ff\nSigned-off-by: Syed Rameez Mustafa \u003crameezmustafa@codeaurora.org\u003e\n"
    },
    {
      "commit": "3bb998ff6cbde07fdd25d039487195c29b17def1",
      "tree": "a20f6412047ba8139fc3fdc8f76c4fe3256bf848",
      "parents": [
        "74bfbfd7eaf5302a11391911e4271893e3e2176c"
      ],
      "author": {
        "name": "Abhijeet Dharmapurikar",
        "email": "adharmap@codeaurora.org",
        "time": "Wed Aug 07 20:17:07 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:12 2014 -0800"
      },
      "message": "irq: display the wakeup depth and disable depth of an irq\n\nThe disable depth helps to track whether the interrupt is disabled\nof not. This is immensely useful in debugging interrupt related issues\nesp in cases when the driver enables/disables a device\u0027s\ninterrupt at runtime.\n\nAlso, the wakeup depth helps to track which interrupts are configured\nas wakeup. This helps to debug issues related to an interrupt not waking\nup the system if it were configured a wakeup interrupt.\n\nAdd code to show the wakeup depth and disable depth.\n\nChange-Id: I780a8f7dd24d4acfb2da98761c873dd09a154a2e\nSigned-off-by: Abhijeet Dharmapurikar \u003cadharmap@codeaurora.org\u003e\n"
    },
    {
      "commit": "74bfbfd7eaf5302a11391911e4271893e3e2176c",
      "tree": "dcc5203ed110f3d82a601812713c5e419bf67c88",
      "parents": [
        "b89356640ec28221bf4298b6b8a572579a1c29ba"
      ],
      "author": {
        "name": "Sujit Reddy Thumma",
        "email": "sthumma@codeaurora.org",
        "time": "Tue Aug 13 09:31:32 2013 +0530"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:12 2014 -0800"
      },
      "message": "PM / QoS: Fix deadlock during PM QoS vote to default value\n\npm_qos_work_fn() calls pm_qos_update_request() which does\ncancel_delayed_work_sync() on the same pm_qos_work_fn()\ncausing deadlock. Fix this by updating the target with\ndefault timeout value directly instead of calling\npm_qos_update_request().\n\nCRs-Fixed: 526216\nChange-Id: I7de2fb1c89f87b0ebf7427116b8920aec50d5b2b\nSigned-off-by: Sujit Reddy Thumma \u003csthumma@codeaurora.org\u003e\n"
    },
    {
      "commit": "b89356640ec28221bf4298b6b8a572579a1c29ba",
      "tree": "7a02f802d7f7a887afc50b8fbde274a594ada5aa",
      "parents": [
        "279070e4a14ee1f1be82ba4ca104238a8ac2934f"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue May 29 15:06:24 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:12 2014 -0800"
      },
      "message": "kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite\n\nLibrary functions should not grab locks when the callsites can do it,\neven if the lock nests like the rcu read-side lock does.\n\nPush the rcu_read_lock() from css_is_ancestor() to its single user,\nmem_cgroup_same_or_subtree() in preparation for another user that may\nalready hold the rcu read-side lock.\n\nChange-Id: I0ec7ec0059ed588d8f85bc9be8fdc42ce0ca7f5d\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nGit-commit: 91c63734f6908425903aed69c04035592f18d398\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "279070e4a14ee1f1be82ba4ca104238a8ac2934f",
      "tree": "6f95cfe791ab4d1553552228c571ba7fba7ad28c",
      "parents": [
        "c44229e4367f7a19dbfdc279458e77e0e26bbd39"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Tue Jul 30 14:22:33 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:12 2014 -0800"
      },
      "message": "sched: change WARN_ON_ONCE to WARN_ON in try_to_wake_up_local()\n\nThe WARN_ON_ONCE() calls at the beginning of try_to_wake_up_local()\nwere recently converted from BUG_ON() calls. If these hit it indicates\nsomething is wrong and that may contribute to other system instability.\nTo eliminate the risk of an instance of one of these errors going\nun-noticed because there was an earlier instance that occured long ago,\nchange to WARN_ON(). If there ever is a flood of these there are bigger\nproblems.\n\nChange-Id: I392832e2b6ec24b3569b001b1af9ecd4ed6828e7\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "c44229e4367f7a19dbfdc279458e77e0e26bbd39",
      "tree": "5d17f28b2410f3f7c3f5716ce9e306ffcb71b20a",
      "parents": [
        "267ddac4c6b3ccbdeb88ed8afdf044436ce9d882"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 22 14:04:28 2012 +0200"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:12 2014 -0800"
      },
      "message": "sched: Make sure to not re-read variables after validation\n\nWe could re-read rq-\u003ert_avg after we validated it was smaller than\ntotal, invalidating the check and resulting in an unintended negative.\n\nChange-Id: I8543974aad539107768e9e513ca3a8c4cb79b2ff\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nLink: http://lkml.kernel.org/r/1337688268.9698.29.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCRs-Fixed: 497236\nGit-commit: b654f7de41b0e3903ee2b51d3b8db77fe52ce728\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@codeaurora.org\u003e\n"
    },
    {
      "commit": "267ddac4c6b3ccbdeb88ed8afdf044436ce9d882",
      "tree": "3899c44fcdc00ef2ddaa669f22d55be01522be63",
      "parents": [
        "e8c21d18999d624a75aa146abb45430929b8cf2c"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@codeaurora.org",
        "time": "Tue Jun 11 17:43:09 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:12 2014 -0800"
      },
      "message": "sched: re-calculate a cpu\u0027s next_balance point upon sched domain changes\n\nCommit 55ddeb0f (sched: Reset rq-\u003enext_interval before going idle) reset\na cpu\u0027s rq-\u003enext_balance when pulled_task \u003d 0, which will be true when\nthe cpu failed to pull any task, causing it go idle. However that patch\nrelied on next_balance being calculated as a result of traversing cpu\u0027s\nsched domain hierarchy.\n\nA cpu that is the only online cpu will however not be attached to any\nsched domain hierarchy. When such a cpu calls into idle_balance(), we\nwill end up initializing next_balance to be 1sec away! Such a CPU will\ndefer load balance check for another 1sec, even though we may bring up\nmore cpus in the meantime requiring it to check for load imbalance more\nfrequently. This could then lead to increased scheduling latency for\nsome tasks.\n\nThis patch results in a cpu\u0027s next_balance being re-calculated when its\nattaching to a new sched domain hierarchy.  This should let cpus call\nload balance checks at the right time we expect them to!\n\nChange-Id: I855cff8da5ca28d278596c3bb0163b839d4704bc\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@codeaurora.org\u003e\n"
    },
    {
      "commit": "e8c21d18999d624a75aa146abb45430929b8cf2c",
      "tree": "b03270fdebc1438cf92a9c215125980b9009ca95",
      "parents": [
        "f12accedccd3ca00a205151de2063224b4b380eb"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@codeaurora.org",
        "time": "Mon May 13 15:11:55 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:11 2014 -0800"
      },
      "message": "sched: fix reference to wrong cfs_rq\n\nCommit 7db16c8c (sched: Fix SCHED_HRTICK bug leading to late preemption\nof tasks) introduced a bug in sched_slice() calculation by using wrong\ncfs_rq for tasks. rq-\u003ecfs was incorrectly used as task\u0027s cfs_rq, rather\nthan the correct one to which they belonged.\n\nFix the bug by using correct cfs_rq for tasks.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@codeaurora.org\u003e\n"
    },
    {
      "commit": "f12accedccd3ca00a205151de2063224b4b380eb",
      "tree": "16206f5c76e64a4b4a3ac2a59be3b4f852eafdfb",
      "parents": [
        "ce1a041e68c83a7f49982d353318fc409bc15970"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@codeaurora.org",
        "time": "Thu Apr 18 11:42:22 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:11 2014 -0800"
      },
      "message": "sched: Fix SCHED_HRTICK bug leading to late preemption of tasks\n\nSCHED_HRTICK feature is useful to preempt SCHED_FAIR tasks on-the-dot\n(just when they would have exceeded their ideal_runtime). It makes use\nof a a per-cpu hrtimer resource and hence alarming that hrtimer should\nbe based on total SCHED_FAIR tasks a cpu has across its various cfs_rqs,\nrather than being based on number of tasks in a particular cfs_rq (as\nimplemented currently). As a result, with current code, its possible for\na running task (which is the sole task in its cfs_rq) to be preempted\nmuch after its ideal_runtime has elapsed, resulting in increased latency\nfor tasks in other cfs_rq on same cpu.\n\nFix this by alarming sched hrtimer based on total number of SCHED_FAIR\ntasks a CPU has across its various cfs_rqs.\n\nChange-Id: I1f23680a64872f8ce0f451ac4bcae28e8967918f\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@codeaurora.org\u003e\n"
    },
    {
      "commit": "ce1a041e68c83a7f49982d353318fc409bc15970",
      "tree": "51040569270b4629e10bd688835923a248e07ef0",
      "parents": [
        "7af150bd625ba9b4f822b5692c2c00cc2097281e"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@codeaurora.org",
        "time": "Thu Mar 07 12:14:53 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:11 2014 -0800"
      },
      "message": "sched: Reset rq-\u003enext_interval before going idle\n\nnext_balance, the point in jiffy time scale when a cpu will next load\nbalance, could have been calculated when the cpu was busy. A busy cpu\nwill apply its sched domain\u0027s busy_factor (usually \u003e 1) in computing\nnext_balance for that sched domain, which causes the (busy) cpu to load\nbalance less frequently in its sched domains. However when the same cpu\nis going idle, its next_balance needs to be reset without consideration\nof busy_factor. Failure to do so would not trigger nohz idle balancer on\nthat cpu for unnecessarily long time (introducing additional scheduling\nlatencies for tasks). Fix bug in scheduler which aims to reset\nnext_balance before a cpu goes idle (as per existing comment) but is\nclearly not doing so.\n\nChange-Id: I7e027a51686528c4092d770c7d33c874d38f5df4\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@codeaurora.org\u003e\n"
    },
    {
      "commit": "7af150bd625ba9b4f822b5692c2c00cc2097281e",
      "tree": "d909593ba721c4e96dcfc01b7cc630da2147a687",
      "parents": [
        "dcb32ee6fa05937ee15b27c1634e39d0d6e67f99"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Thu May 23 15:24:57 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:11 2014 -0800"
      },
      "message": "sched: remove migration notification from RT class\n\nCommit 88a7e37d265 (sched: provide per cpu-cgroup option to\nnotify on migrations) added a notifier call when a task is moved\nto a different CPU. Unfortunately the two call sites in the RT\nsched class where this occurs happens with a runqueue lock held.\nThis can result in a deadlock if the notifier call attempts to do\nsomething like wake up a task.\n\nFortunately the benefit of 88a7e37d265 comes mainly from notifying\non migration of non-RT tasks, so we can simply ignore the movements\nof RT tasks.\n\nCRs-Fixed: 491370\nChange-Id: I8849d826bf1eeaf85a6f6ad872acb475247c5926\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "dcb32ee6fa05937ee15b27c1634e39d0d6e67f99",
      "tree": "6919fdc41c1d364819d5e8604a627d98611fad29",
      "parents": [
        "9c6bae09e913ec5d15e1ef0f0bc64c011f895d0e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 13 22:16:45 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:11 2014 -0800"
      },
      "message": "workqueue: reimplement WQ_HIGHPRI using a separate worker_pool\n\nWQ_HIGHPRI was implemented by queueing highpri work items at the head\nof the global worklist.  Other than queueing at the head, they weren\u0027t\nhandled differently; unfortunately, this could lead to execution\nlatency of a few seconds on heavily loaded systems.\n\nNow that workqueue code has been updated to deal with multiple\nworker_pools per global_cwq, this patch reimplements WQ_HIGHPRI using\na separate worker_pool.  NR_WORKER_POOLS is bumped to two and\ngcwq-\u003epools[0] is used for normal pri work items and -\u003epools[1] for\nhighpri.  Highpri workers get -20 nice level and has \u0027H\u0027 suffix in\ntheir names.  Note that this change increases the number of kworkers\nper cpu.\n\nPOOL_HIGHPRI_PENDING, pool_determine_ins_pos() and highpri chain\nwakeup code in process_one_work() are no longer used and removed.\n\nThis allows proper prioritization of highpri work items and removes\nhigh execution latency of highpri work items.\n\nv2: nr_running indexing bug in get_pool_nr_running() fixed.\n\nv3: Refreshed for the get_pool_nr_running() update in the previous\n    patch.\n\nChange-Id: Id843c0a425f51f84083786fbf413d999d35771b7\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Josh Hunt \u003cjoshhunt00@gmail.com\u003e\nLKML-Reference: \u003cCAKA\u003dqzaHqwZ8eqpLNFjxnO2fX-tgAOjmpvxgBFjv6dJeQaOW1w@mail.gmail.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nGit-commit: 3270476a6c0ce322354df8679652f060d66526dc\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    },
    {
      "commit": "9c6bae09e913ec5d15e1ef0f0bc64c011f895d0e",
      "tree": "7f46631ab0472c13c331190e791c43d1d9576a48",
      "parents": [
        "22ad56496adf6bec8473159240cad7fb3bc8751b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 13 22:16:44 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:11 2014 -0800"
      },
      "message": "workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()\n\nIntroduce NR_WORKER_POOLS and for_each_worker_pool() and convert code\npaths which need to manipulate all pools in a gcwq to use them.\nNR_WORKER_POOLS is currently one and for_each_worker_pool() iterates\nover only @gcwq-\u003epool.\n\nNote that nr_running is per-pool property and converted to an array\nwith NR_WORKER_POOLS elements and renamed to pool_nr_running.  Note\nthat get_pool_nr_running() currently assumes 0 index.  The next patch\nwill make use of non-zero index.\n\nThe changes in this patch are mechanical and don\u0027t caues any\nfunctional difference.  This is to prepare for multiple pools per\ngcwq.\n\nv2: nr_running indexing bug in get_pool_nr_running() fixed.\n\nv3: Pointer to array is stupid.  Don\u0027t use it in get_pool_nr_running()\n    as suggested by Linus.\n\nChange-Id: I46e9488601d764d25e4a6c707de129ab68f7064c\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 4ce62e9e30cacc26885cab133ad1de358dd79f21\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    },
    {
      "commit": "22ad56496adf6bec8473159240cad7fb3bc8751b",
      "tree": "c9fe10b00d91b2c02cd44a6f0d0d2a3e6f1fdd6c",
      "parents": [
        "7ef6a9347bd084b60cee5bdb09922a3c7261ff6e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 12 14:46:37 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:10 2014 -0800"
      },
      "message": "workqueue: separate out worker_pool flags\n\nGCWQ_MANAGE_WORKERS, GCWQ_MANAGING_WORKERS and GCWQ_HIGHPRI_PENDING\nare per-pool properties.  Add worker_pool-\u003eflags and make the above\nthree flags per-pool flags.\n\nThe changes in this patch are mechanical and don\u0027t caues any\nfunctional difference.  This is to prepare for multiple pools per\ngcwq.\n\nChange-Id: I1824fd1c509d8ac6b0619536621a22b15b316256\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGit-commit: 11ebea50dbc1ade5994b2c838a096078d4c02399\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    },
    {
      "commit": "7ef6a9347bd084b60cee5bdb09922a3c7261ff6e",
      "tree": "47cb608faa43cf2551ade5447a199e6d7ab3f02a",
      "parents": [
        "5865888f1a4adc6a5937a5a2c4de57b353825c9f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 12 14:46:37 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:10 2014 -0800"
      },
      "message": "workqueue: use @pool instead of @gcwq or @cpu where applicable\n\nModify all functions which deal with per-pool properties to pass\naround @pool instead of @gcwq or @cpu.\n\nThe changes in this patch are mechanical and don\u0027t caues any\nfunctional difference.  This is to prepare for multiple pools per\ngcwq.\n\nChange-Id: I4be6727e1cce6f9aa2a0057b96bdc725c84f1ea8\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGit-commit: 63d95a9150ee3bbd4117fcd609dee40313b454d9\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    },
    {
      "commit": "5865888f1a4adc6a5937a5a2c4de57b353825c9f",
      "tree": "06f9f0a7fd7edd04e6b7c47495740815645a203d",
      "parents": [
        "b7b5c68565878a95eb08514f8140df16cf82882e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 12 14:46:37 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:10 2014 -0800"
      },
      "message": "workqueue: factor out worker_pool from global_cwq\n\nMove worklist and all worker management fields from global_cwq into\nthe new struct worker_pool.  worker_pool points back to the containing\ngcwq.  worker and cpu_workqueue_struct are updated to point to\nworker_pool instead of gcwq too.\n\nThis change is mechanical and doesn\u0027t introduce any functional\ndifference other than rearranging of fields and an added level of\nindirection in some places.  This is to prepare for multiple pools per\ngcwq.\n\nv2: Comment typo fixes as suggested by Namhyung.\n\nChange-Id: Iefae84798c2af580f425b92ed79117935d99f21f\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nGit-commit: bd7bdd43dcb81bb08240b9401b36a104f77dc135\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    },
    {
      "commit": "b7b5c68565878a95eb08514f8140df16cf82882e",
      "tree": "8a4e3cd6fdf0661f733db7bed3af8bfa097c0bfe",
      "parents": [
        "94135a76a05de11cd29fbd805a22cf3f029161ce"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 12 14:46:37 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:10 2014 -0800"
      },
      "message": "workqueue: don\u0027t use WQ_HIGHPRI for unbound workqueues\n\nUnbound wqs aren\u0027t concurrency-managed and try to execute work items\nas soon as possible.  This is currently achieved by implicitly setting\n%WQ_HIGHPRI on all unbound workqueues; however, WQ_HIGHPRI\nimplementation is about to be restructured and this usage won\u0027t be\nvalid anymore.\n\nAdd an explicit chain-wakeup path for unbound workqueues in\nprocess_one_work() instead of piggy backing on %WQ_HIGHPRI.\n\nChange-Id: Iecd17a9935ee28f856d8b726bb4c296762922bed\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGit-commit: 974271c485a4d8bb801decc616748f90aafb07ec\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    },
    {
      "commit": "58634ac42e736eea0e8b93cec610174879d36d58",
      "tree": "4179bdb042aa497dd2fb3c7d0cddc88e244e5237",
      "parents": [
        "fda73056f62d84376a3d29926708b4a08155da31",
        "a995dd1c29426a074364170359a026f68e8426db"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:51:43 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:51:43 2014 -0800"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/kk_2.7_rb1.21\u0027 into cm-11.0\n\nConflicts:\n\tdrivers/media/video/msm/msm_vfe32.h\n\tdrivers/media/video/msm/vfe/msm_vfe32.c\n\tnet/wireless/reg.c\n\nChange-Id: I073c609cfa1c461249bf728b28249bcaa1eaa211\n"
    },
    {
      "commit": "fda73056f62d84376a3d29926708b4a08155da31",
      "tree": "0080c4eec02c23179f59a50d269f48f7662b61ce",
      "parents": [
        "cf8f2e58d0893f9785b8056b29d9bbcb4758765f",
        "94f578e6aba14bb2aeb00db2e7f6e5f704fee937"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:50:44 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:50:44 2014 -0800"
      },
      "message": "Merge tag \u0027v3.4.76\u0027 into cm-11.0\n\nThis is the 3.4.76 stable release\n\nConflicts:\n\tdrivers/gpio/gpio-msm-v2.c\n\nChange-Id: Ic80b29098bdf656b5e5c9b95d98d2ec64bba1f28\n"
    },
    {
      "commit": "dfb473b35096a0ffae221c7eeb49c34882ea6f9c",
      "tree": "a071f807c029cc0d39a46bceffea0f7c7990f7f3",
      "parents": [
        "05bbcdd32afbfd520c71ae8104a8bf531aed9163"
      ],
      "author": {
        "name": "Ben Segall",
        "email": "bsegall@google.com",
        "time": "Wed Oct 16 11:16:32 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jan 08 09:42:12 2014 -0800"
      },
      "message": "sched: Avoid throttle_cfs_rq() racing with period_timer stopping\n\ncommit f9f9ffc237dd924f048204e8799da74f9ecf40cf upstream.\n\nthrottle_cfs_rq() doesn\u0027t check to make sure that period_timer is running,\nand while update_curr/assign_cfs_runtime does, a concurrently running\nperiod_timer on another cpu could cancel itself between this cpu\u0027s\nupdate_curr and throttle_cfs_rq(). If there are no other cfs_rqs running\nin the tg to restart the timer, this causes the cfs_rq to be stranded\nforever.\n\nFix this by calling __start_cfs_bandwidth() in throttle if the timer is\ninactive.\n\n(Also add some sched_debug lines for cfs_bandwidth.)\n\nTested: make a run/sleep task in a cgroup, loop switching the cgroup\nbetween 1ms/100ms quota and unlimited, checking for timer_active\u003d0 and\nthrottled\u003d1 as a failure. With the throttle_cfs_rq() change commented out\nthis fails, with the full patch it passes.\n\nSigned-off-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: pjt@google.com\nLink: http://lkml.kernel.org/r/20131016181632.22647.84174.stgit@sword-of-the-dawn.mtv.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Chris J Arges \u003cchris.j.arges@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3f8878956c833443d6c6e498e9ed6a18ee30e0f5",
      "tree": "4d82b3f085f1085301ebee2c9415ff13c09af66b",
      "parents": [
        "a1192c0e5d037def6763f3873d3340615c241fe7"
      ],
      "author": {
        "name": "Kirill Tkhai",
        "email": "tkhai@yandex.ru",
        "time": "Wed Nov 27 19:59:13 2013 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jan 08 09:42:11 2014 -0800"
      },
      "message": "sched/rt: Fix rq\u0027s cpupri leak while enqueue/dequeue child RT entities\n\ncommit 757dfcaa41844595964f1220f1d33182dae49976 upstream.\n\nThis patch touches the RT group scheduling case.\n\nFunctions inc_rt_prio_smp() and dec_rt_prio_smp() change (global) rq\u0027s\npriority, while rt_rq passed to them may be not the top-level rt_rq.\nThis is wrong, because changing of priority on a child level does not\nguarantee that the priority is the highest all over the rq. So, this\nleak makes RT balancing unusable.\n\nThe short example: the task having the highest priority among all rq\u0027s\nRT tasks (no one other task has the same priority) are waking on a\nthrottle rt_rq.  The rq\u0027s cpupri is set to the task\u0027s priority\nequivalent, but real rq-\u003ert.highest_prio.curr is less.\n\nThe patch below fixes the problem.\n\nSigned-off-by: Kirill Tkhai \u003ctkhai@yandex.ru\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/49231385567953@web4m.yandex.ru\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "09951c9b33f8cfdc0e8c4e03fe83bc66c9d908dc",
      "tree": "4b5081c15d8231b7cb2adbb0d06a6e9f0d531150",
      "parents": [
        "58c2314ac41e8f24a2a594bd866915e38de9648e"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon Dec 16 15:20:01 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jan 08 09:42:10 2014 -0800"
      },
      "message": "ftrace: Initialize the ftrace profiler for each possible cpu\n\ncommit c4602c1c818bd6626178d6d3fcc152d9f2f48ac0 upstream.\n\nFtrace currently initializes only the online CPUs. This implementation has\ntwo problems:\n- If we online a CPU after we enable the function profile, and then run the\n  test, we will lose the trace information on that CPU.\n  Steps to reproduce:\n  # echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n  # cd \u003cdebugfs\u003e/tracing/\n  # echo \u003csome function name\u003e \u003e\u003e set_ftrace_filter\n  # echo 1 \u003e function_profile_enabled\n  # echo 1 \u003e /sys/devices/system/cpu/cpu1/online\n  # run test\n- If we offline a CPU before we enable the function profile, we will not clear\n  the trace information when we enable the function profile. It will trouble\n  the users.\n  Steps to reproduce:\n  # cd \u003cdebugfs\u003e/tracing/\n  # echo \u003csome function name\u003e \u003e\u003e set_ftrace_filter\n  # echo 1 \u003e function_profile_enabled\n  # run test\n  # cat trace_stat/function*\n  # echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n  # echo 0 \u003e function_profile_enabled\n  # echo 1 \u003e function_profile_enabled\n  # cat trace_stat/function*\n  # run test\n  # cat trace_stat/function*\n\nSo it is better that we initialize the ftrace profiler for each possible cpu\nevery time we enable the function profile instead of just the online ones.\n\nLink: http://lkml.kernel.org/r/1387178401-10619-1-git-send-email-miaox@cn.fujitsu.com\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "de0f9a5a9d7932086e623560d66655cc8507cfec",
      "tree": "d9e4678d68da38d7670b79c8b5e8782445c5ad7e",
      "parents": [
        "e1a3c5a3706d580390c02c69cb14dcd679d31d91",
        "84dfcb758ba7cce52ef475ac96861a558e1a20ca"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Dec 21 14:22:41 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Dec 21 14:22:41 2013 -0800"
      },
      "message": "Merge tag \u0027v3.4.75\u0027 into cm-11.0\n\nThis is the 3.4.75 stable release\n\nConflicts:\n\tdrivers/md/dm-crypt.c\n\tdrivers/mmc/card/block.c\n\tdrivers/net/ethernet/smsc/smc91x.h\n\nChange-Id: I39f38ef5530c5fef07583beb9d76b983e71b9ff3\n"
    },
    {
      "commit": "ee4bb2579e1182fa013694e429e6a418d6a3bb78",
      "tree": "be191e1d57a70b5fab0a943b2f4b05f1841a1086",
      "parents": [
        "894a160626d09198b104ea6702d688eca90623ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 12 09:38:42 2013 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 20 07:34:19 2013 -0800"
      },
      "message": "futex: fix handling of read-only-mapped hugepages\n\ncommit f12d5bfceb7e1f9051563381ec047f7f13956c3c upstream.\n\nThe hugepage code had the exact same bug that regular pages had in\ncommit 7485d0d3758e (\"futexes: Remove rw parameter from\nget_futex_key()\").\n\nThe regular page case was fixed by commit 9ea71503a8ed (\"futex: Fix\nregression with read only mappings\"), but the transparent hugepage case\n(added in a5b338f2b0b1: \"thp: update futex compound knowledge\") case\nremained broken.\n\nFound by Dave Jones and his trinity tool.\n\nReported-and-tested-by: Dave Jones \u003cdavej@fedoraproject.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "a8000959881be86ee8e5262d305f12accb68db70",
      "tree": "6a9b8dda7fdc42309c99584682f75f357acd067e",
      "parents": [
        "8dd978fba2216c985d6ca0801b698dae7363d1dc"
      ],
      "author": {
        "name": "Laxman Dewangan",
        "email": "ldewangan@nvidia.com",
        "time": "Mon Nov 25 19:39:47 2013 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 11 22:34:11 2013 -0800"
      },
      "message": "irq: Enable all irqs unconditionally in irq_resume\n\ncommit ac01810c9d2814238f08a227062e66a35a0e1ea2 upstream.\n\nWhen the system enters suspend, it disables all interrupts in\nsuspend_device_irqs(), including the interrupts marked EARLY_RESUME.\n\nOn the resume side things are different. The EARLY_RESUME interrupts\nare reenabled in sys_core_ops-\u003eresume and the non EARLY_RESUME\ninterrupts are reenabled in the normal system resume path.\n\nWhen suspend_noirq() failed or suspend is aborted for any other\nreason, we might omit the resume side call to sys_core_ops-\u003eresume()\nand therefor the interrupts marked EARLY_RESUME are not reenabled and\nstay disabled forever.\n\nTo solve this, enable all irqs unconditionally in irq_resume()\nregardless whether interrupts marked EARLY_RESUMEhave been already\nenabled or not.\n\nThis might try to reenable already enabled interrupts in the non\nfailure case, but the only affected platform is XEN and it has been\nconfirmed that it does not cause any side effects.\n\n[ tglx: Massaged changelog. ]\n\nSigned-off-by: Laxman Dewangan \u003cldewangan@nvidia.com\u003e\nAcked-by-and-tested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nAcked-by: Heiko Stuebner \u003cheiko@sntech.de\u003e\nReviewed-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003cian.campbell@citrix.com\u003e\nCc: \u003crjw@rjwysocki.net\u003e\nCc: \u003clen.brown@intel.com\u003e\nCc: \u003cgregkh@linuxfoundation.org\u003e\nLink: http://lkml.kernel.org/r/1385388587-16442-1-git-send-email-ldewangan@nvidia.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b6e586c693a1b50e9f3b2bfcea1070b502d4d7e4",
      "tree": "55797b7357fdafefa8e2b32f213af60d076080fb",
      "parents": [
        "73c2fba8ec3e03d331b331604e6e376cd5a6a07b"
      ],
      "author": {
        "name": "Srinivasarao P",
        "email": "spathi@codeaurora.org",
        "time": "Wed Sep 18 14:33:45 2013 +0530"
      },
      "committer": {
        "name": "Srinivasarao P",
        "email": "spathi@codeaurora.org",
        "time": "Wed Dec 11 15:57:25 2013 +0530"
      },
      "message": "workqueue: Added null check and warning\n\nIf work item is already in queue get_work_cwq() will return null.\nso null check is added to avoid crash in delayed_work_timer_on()\n\nCRs-Fixed: 586162\n\nChange-Id: I5c885142fd72781cea90d6c9b3456ecc7f0778b6\nSigned-off-by: Srinivasarao P \u003cspathi@codeaurora.org\u003e\n"
    },
    {
      "commit": "2a38ada0f1ab9f894eea4428731ebc811b51c3f3",
      "tree": "759c765808a23a3a35e4ba10d8306c847c0205b7",
      "parents": [
        "19218e895cefdd389c96af12c93c89e7276bbaad",
        "44d19f5a04ae4e433548ba2f25e4d2ccfcac765e"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Dec 08 12:50:38 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Dec 08 12:50:38 2013 -0800"
      },
      "message": "Merge tag \u0027v3.4.72\u0027 into tmp\n\nThis is the 3.4.72 stable release\n\nConflicts:\n\tarch/arm/Kconfig\n\tarch/arm/include/asm/mutex.h\n\tarch/arm/kernel/perf_event.c\n\tarch/arm/kernel/traps.c\n\tarch/arm/mm/dma-mapping.c\n\tdrivers/base/power/main.c\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/gpu/drm/radeon/radeon_mode.h\n\tdrivers/mmc/card/block.c\n\tdrivers/mmc/host/sdhci.c\n\tdrivers/usb/core/message.c\n\tdrivers/usb/host/xhci-plat.c\n\tdrivers/usb/host/xhci.h\n\tdrivers/virtio/virtio_ring.c\n\tfs/ubifs/dir.c\n\tinclude/linux/freezer.h\n\tinclude/linux/virtio.h\n\tinclude/media/v4l2-ctrls.h\n\tinclude/net/bluetooth/hci_core.h\n\tinclude/net/bluetooth/mgmt.h\n\tkernel/cgroup.c\n\tkernel/futex.c\n\tkernel/signal.c\n\tnet/bluetooth/hci_conn.c\n\tnet/bluetooth/hci_core.c\n\tnet/bluetooth/hci_event.c\n\tnet/bluetooth/l2cap_core.c\n\tnet/bluetooth/mgmt.c\n\tnet/bluetooth/rfcomm/sock.c\n\tnet/bluetooth/smp.c\n\nChange-Id: I4fb0d5de74ca76f933d95d98e1a9c2c859402f34\n"
    },
    {
      "commit": "8bfabdd83683743dea60ad3beaad869fbb777baf",
      "tree": "bff0eba04c76d3637762ad1505c347e8c917e16f",
      "parents": [
        "a2c24e623fd6f54c9e825fb29eec0194b2c74ba0",
        "991de6bc312c55bef9edb406452097b3e5975b61"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Dec 06 22:18:19 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Dec 06 22:18:19 2013 -0800"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/kk_2.7.1\u0027 into cm-11.0\n"
    },
    {
      "commit": "51d351d5b949ae7204696ada7ef502ed34d34fb0",
      "tree": "f5b337191f35ac1a8b64aebad36479ed52d8beee",
      "parents": [
        "5833570f8e15cd7a40dd6c14ec73cb53736048cf"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 25 20:59:46 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:34 2013 -0800"
      },
      "message": "ftrace: Fix function graph with loading of modules\n\ncommit 8a56d7761d2d041ae5e8215d20b4167d8aa93f51 upstream.\n\nCommit 8c4f3c3fa9681 \"ftrace: Check module functions being traced on reload\"\nfixed module loading and unloading with respect to function tracing, but\nit missed the function graph tracer. If you perform the following\n\n # cd /sys/kernel/debug/tracing\n # echo function_graph \u003e current_tracer\n # modprobe nfsd\n # echo nop \u003e current_tracer\n\nYou\u0027ll get the following oops message:\n\n ------------[ cut here ]------------\n WARNING: CPU: 2 PID: 2910 at /linux.git/kernel/trace/ftrace.c:1640 __ftrace_hash_rec_update.part.35+0x168/0x1b9()\n Modules linked in: nfsd exportfs nfs_acl lockd ipt_MASQUERADE sunrpc ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables uinput snd_hda_codec_idt\n CPU: 2 PID: 2910 Comm: bash Not tainted 3.13.0-rc1-test #7\n Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS SDBLI944.86P 05/08/2007\n  0000000000000668 ffff8800787efcf8 ffffffff814fe193 ffff88007d500000\n  0000000000000000 ffff8800787efd38 ffffffff8103b80a 0000000000000668\n  ffffffff810b2b9a ffffffff81a48370 0000000000000001 ffff880037aea000\n Call Trace:\n  [\u003cffffffff814fe193\u003e] dump_stack+0x4f/0x7c\n  [\u003cffffffff8103b80a\u003e] warn_slowpath_common+0x81/0x9b\n  [\u003cffffffff810b2b9a\u003e] ? __ftrace_hash_rec_update.part.35+0x168/0x1b9\n  [\u003cffffffff8103b83e\u003e] warn_slowpath_null+0x1a/0x1c\n  [\u003cffffffff810b2b9a\u003e] __ftrace_hash_rec_update.part.35+0x168/0x1b9\n  [\u003cffffffff81502f89\u003e] ? __mutex_lock_slowpath+0x364/0x364\n  [\u003cffffffff810b2cc2\u003e] ftrace_shutdown+0xd7/0x12b\n  [\u003cffffffff810b47f0\u003e] unregister_ftrace_graph+0x49/0x78\n  [\u003cffffffff810c4b30\u003e] graph_trace_reset+0xe/0x10\n  [\u003cffffffff810bf393\u003e] tracing_set_tracer+0xa7/0x26a\n  [\u003cffffffff810bf5e1\u003e] tracing_set_trace_write+0x8b/0xbd\n  [\u003cffffffff810c501c\u003e] ? ftrace_return_to_handler+0xb2/0xde\n  [\u003cffffffff811240a8\u003e] ? __sb_end_write+0x5e/0x5e\n  [\u003cffffffff81122aed\u003e] vfs_write+0xab/0xf6\n  [\u003cffffffff8150a185\u003e] ftrace_graph_caller+0x85/0x85\n  [\u003cffffffff81122dbd\u003e] SyS_write+0x59/0x82\n  [\u003cffffffff8150a185\u003e] ftrace_graph_caller+0x85/0x85\n  [\u003cffffffff8150a2d2\u003e] system_call_fastpath+0x16/0x1b\n ---[ end trace 940358030751eafb ]---\n\nThe above mentioned commit didn\u0027t go far enough. Well, it covered the\nfunction tracer by adding checks in __register_ftrace_function(). The\nproblem is that the function graph tracer circumvents that (for a slight\nefficiency gain when function graph trace is running with a function\ntracer. The gain was not worth this).\n\nThe problem came with ftrace_startup() which should always be called after\n__register_ftrace_function(), if you want this bug to be completely fixed.\n\nAnyway, this solution moves __register_ftrace_function() inside of\nftrace_startup() and removes the need to call them both.\n\nReported-by: Dave Wysochanski \u003cdwysocha@redhat.com\u003e\nFixes: ed926f9b35cd (\"ftrace: Use counters to enable functions to trace\")\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n\n"
    },
    {
      "commit": "fe094c412973269d2fad2e04a852771570e8edf1",
      "tree": "d0685972fcf58607e98dfe82ffa150b2f3519c09",
      "parents": [
        "df29bdd478affb8d81620e43e70635bef110a20e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 26 15:03:41 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:34 2013 -0800"
      },
      "message": "cpuset: Fix memory allocator deadlock\n\ncommit 0fc0287c9ed1ffd3706f8b4d9b314aa102ef1245 upstream.\n\nJuri hit the below lockdep report:\n\n[    4.303391] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[    4.303392] [ INFO: SOFTIRQ-safe -\u003e SOFTIRQ-unsafe lock order detected ]\n[    4.303394] 3.12.0-dl-peterz+ #144 Not tainted\n[    4.303395] ------------------------------------------------------\n[    4.303397] kworker/u4:3/689 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:\n[    4.303399]  (\u0026p-\u003emems_allowed_seq){+.+...}, at: [\u003cffffffff8114e63c\u003e] new_slab+0x6c/0x290\n[    4.303417]\n[    4.303417] and this task is already holding:\n[    4.303418]  (\u0026(\u0026q-\u003e__queue_lock)-\u003erlock){..-...}, at: [\u003cffffffff812d2dfb\u003e] blk_execute_rq_nowait+0x5b/0x100\n[    4.303431] which would create a new lock dependency:\n[    4.303432]  (\u0026(\u0026q-\u003e__queue_lock)-\u003erlock){..-...} -\u003e (\u0026p-\u003emems_allowed_seq){+.+...}\n[    4.303436]\n\n[    4.303898] the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock:\n[    4.303918] -\u003e (\u0026p-\u003emems_allowed_seq){+.+...} ops: 2762 {\n[    4.303922]    HARDIRQ-ON-W at:\n[    4.303923]                     [\u003cffffffff8108ab9a\u003e] __lock_acquire+0x65a/0x1ff0\n[    4.303926]                     [\u003cffffffff8108cbe3\u003e] lock_acquire+0x93/0x140\n[    4.303929]                     [\u003cffffffff81063dd6\u003e] kthreadd+0x86/0x180\n[    4.303931]                     [\u003cffffffff816ded6c\u003e] ret_from_fork+0x7c/0xb0\n[    4.303933]    SOFTIRQ-ON-W at:\n[    4.303933]                     [\u003cffffffff8108abcc\u003e] __lock_acquire+0x68c/0x1ff0\n[    4.303935]                     [\u003cffffffff8108cbe3\u003e] lock_acquire+0x93/0x140\n[    4.303940]                     [\u003cffffffff81063dd6\u003e] kthreadd+0x86/0x180\n[    4.303955]                     [\u003cffffffff816ded6c\u003e] ret_from_fork+0x7c/0xb0\n[    4.303959]    INITIAL USE at:\n[    4.303960]                    [\u003cffffffff8108a884\u003e] __lock_acquire+0x344/0x1ff0\n[    4.303963]                    [\u003cffffffff8108cbe3\u003e] lock_acquire+0x93/0x140\n[    4.303966]                    [\u003cffffffff81063dd6\u003e] kthreadd+0x86/0x180\n[    4.303969]                    [\u003cffffffff816ded6c\u003e] ret_from_fork+0x7c/0xb0\n[    4.303972]  }\n\nWhich reports that we take mems_allowed_seq with interrupts enabled. A\nlittle digging found that this can only be from\ncpuset_change_task_nodemask().\n\nThis is an actual deadlock because an interrupt doing an allocation will\nhit get_mems_allowed()-\u003e...-\u003e__read_seqcount_begin(), which will spin\nforever waiting for the write side to complete.\n\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nReported-by: Juri Lelli \u003cjuri.lelli@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nTested-by: Juri Lelli \u003cjuri.lelli@gmail.com\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@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": "4e0c56ab133fcb29fa3709c095f9347a033662c1",
      "tree": "4ddbc8a55d63d790669e6319b037870b4166005e",
      "parents": [
        "42979968049cc6a8ed569ae8ceb486e0637c7ce7"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Mon Sep 30 22:04:24 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:32 2013 -0800"
      },
      "message": "audit: fix info leak in AUDIT_GET requests\n\ncommit 64fbff9ae0a0a843365d922e0057fc785f23f0e3 upstream.\n\nWe leak 4 bytes of kernel stack in response to an AUDIT_GET request as\nwe miss to initialize the mask member of status_set. Fix that.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nSigned-off-by: Richard Guy Briggs \u003crgb@redhat.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "42979968049cc6a8ed569ae8ceb486e0637c7ce7",
      "tree": "8e7f4c4af4dc50d16a46d74ea1a8f9beb1cbab99",
      "parents": [
        "e49ee6c66ebfdf4a4fb0cecad2523c7b61fc0282"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Mon Sep 30 22:04:25 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:31 2013 -0800"
      },
      "message": "audit: use nlmsg_len() to get message payload length\n\ncommit 4d8fe7376a12bf4524783dd95cbc00f1fece6232 upstream.\n\nUsing the nlmsg_len member of the netlink header to test if the message\nis valid is wrong as it includes the size of the netlink header itself.\nThereby allowing to send short netlink messages that pass those checks.\n\nUse nlmsg_len() instead to test for the right message length. The result\nof nlmsg_len() is guaranteed to be non-negative as the netlink message\nalready passed the checks of nlmsg_ok().\n\nAlso switch to min_t() to please checkpatch.pl.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nSigned-off-by: Richard Guy Briggs \u003crgb@redhat.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "e49ee6c66ebfdf4a4fb0cecad2523c7b61fc0282",
      "tree": "6106bc4fc818042ebfb97476a4a1c1cd04572ec9",
      "parents": [
        "d4bb402d7bda612a91235444dd4cf29b464f8eec"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Jul 25 18:02:55 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:31 2013 -0800"
      },
      "message": "audit: printk USER_AVC messages when audit isn\u0027t enabled\n\ncommit 0868a5e150bc4c47e7a003367cd755811eb41e0b upstream.\n\nWhen the audit\u003d1 kernel parameter is absent and auditd is not running,\nAUDIT_USER_AVC messages are being silently discarded.\n\nAUDIT_USER_AVC messages should be sent to userspace using printk(), as\nmentioned in the commit message of 4a4cd633 (\"AUDIT: Optimise the\naudit-disabled case for discarding user messages\").\n\nWhen audit_enabled is 0, audit_receive_msg() discards all user messages\nexcept for AUDIT_USER_AVC messages. However, audit_log_common_recv_msg()\nrefuses to allocate an audit_buffer if audit_enabled is 0. The fix is to\nspecial case AUDIT_USER_AVC messages in both functions.\n\nIt looks like commit 50397bd1 (\"[AUDIT] clean up audit_receive_msg()\")\nintroduced this bug.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: linux-audit@redhat.com\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Richard Guy Briggs \u003crgb@redhat.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "7094547c201149598a2bd90ef7f04d477dffae1b",
      "tree": "1322f341512653df7c5a93b4a26fed9aaf24217f",
      "parents": [
        "3ccb527f871a225b8eada036d24d41c59e40a2e4"
      ],
      "author": {
        "name": "Aaron Lu",
        "email": "aaron.lu@intel.com",
        "time": "Wed Nov 06 08:41:31 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:31 2013 -0800"
      },
      "message": "PM / hibernate: Avoid overflow in hibernate_preallocate_memory()\n\ncommit fd432b9f8c7c88428a4635b9f5a9c6e174df6e36 upstream.\n\nWhen system has a lot of highmem (e.g. 16GiB using a 32 bits kernel),\nthe code to calculate how much memory we need to preallocate in\nnormal zone may cause overflow. As Leon has analysed:\n\n It looks that during computing \u0027alloc\u0027 variable there is overflow:\n alloc \u003d (3943404 - 1970542) - 1978280 \u003d -5418 (signed)\n And this function goes to err_out.\n\nFix this by avoiding that overflow.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d60817\nReported-and-tested-by: Leon Drugi \u003ceyak@wp.pl\u003e\nSigned-off-by: Aaron Lu \u003caaron.lu@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3e05092412210f3a298ef2a4e5f58857513e9954",
      "tree": "d9bb8d5c47986907e7ac939ef90cad5a32708c2b",
      "parents": [
        "664eaaa26bca6272673eff01ba5468f95905039d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Oct 14 17:33:16 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:14 2013 -0800"
      },
      "message": "alarmtimer: return EINVAL instead of ENOTSUPP if rtcdev doesn\u0027t exist\n\ncommit 98d6f4dd84a134d942827584a3c5f67ffd8ec35f upstream.\n\nFedora Ruby maintainer reported latest Ruby doesn\u0027t work on Fedora Rawhide\non ARM. (http://bugs.ruby-lang.org/issues/9008)\n\nBecause of, commit 1c6b39ad3f (alarmtimers: Return -ENOTSUPP if no\nRTC device is present) intruduced to return ENOTSUPP when\nclock_get{time,res} can\u0027t find a RTC device. However this is incorrect.\n\nFirst, ENOTSUPP isn\u0027t exported to userland (ENOTSUP or EOPNOTSUP are the\nclosest userland equivlents).\n\nSecond, Posix and Linux man pages agree that clock_gettime and\nclock_getres should return EINVAL if clk_id argument is invalid.\nWhile the arugment that the clockid is valid, but just not supported\non this hardware could be made, this is just a technicality that\ndoesn\u0027t help userspace applicaitons, and only complicates error\nhandling.\n\nThus, this patch changes the code to use EINVAL.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReported-by: Vit Ondruch \u003cv.ondruch@tiscali.cz\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n[jstultz: Tweaks to commit message to include full rational]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "8f77c2895be7f4cb22c918c1aab1270fd8885ecd",
      "tree": "c0598ef38714b949d4ffa81ce5bad361c922d64e",
      "parents": [
        "a4710c60a66743df6277ce37ae2f9ed19fcdec09"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Mon Mar 11 16:33:42 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Dec 03 22:08:22 2013 -0800"
      },
      "message": "sched: provide per cpu-cgroup option to notify on migrations\n\nOn systems where CPUs may run asynchronously, task migrations\nbetween CPUs running at grossly different speeds can cause\nproblems.\n\nThis change provides a mechanism to notify a subsystem\nin the kernel if a task in a particular cgroup migrates to a\ndifferent CPU. Other subsystems (such as cpufreq) may then\nregister for this notifier to take appropriate action when\nsuch a task is migrated.\n\nThe cgroup attribute to set for this behavior is\n\"notify_on_migrate\" .\n\nChange-Id: Ie1868249e53ef901b89c837fdc33b0ad0c0a4590\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "c0d30628ff1b424f041d83fee37daea5f84eb0a2",
      "tree": "d7bc2b3b5824eeddeb687c3547c21984e1d6c422",
      "parents": [
        "7288f91dd5b55d82e1dee9f0d24e9f4730d57392"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Tue Nov 12 15:11:17 2013 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Nov 29 10:50:34 2013 -0800"
      },
      "message": "exec/ptrace: fix get_dumpable() incorrect tests\n\ncommit d049f74f2dbe71354d43d393ac3a188947811348 upstream.\n\nThe get_dumpable() return value is not boolean.  Most users of the\nfunction actually want to be testing for non-SUID_DUMP_USER(1) rather than\nSUID_DUMP_DISABLE(0).  The SUID_DUMP_ROOT(2) is also considered a\nprotected state.  Almost all places did this correctly, excepting the two\nplaces fixed in this patch.\n\nWrong logic:\n    if (dumpable \u003d\u003d SUID_DUMP_DISABLE) { /* be protective */ }\n        or\n    if (dumpable \u003d\u003d 0) { /* be protective */ }\n        or\n    if (!dumpable) { /* be protective */ }\n\nCorrect logic:\n    if (dumpable !\u003d SUID_DUMP_USER) { /* be protective */ }\n        or\n    if (dumpable !\u003d 1) { /* be protective */ }\n\nWithout this patch, if the system had set the sysctl fs/suid_dumpable\u003d2, a\nuser was able to ptrace attach to processes that had dropped privileges to\nthat user.  (This may have been partially mitigated if Yama was enabled.)\n\nThe macros have been moved into the file that declares get/set_dumpable(),\nwhich means things like the ia64 code can see them too.\n\nCVE-2013-2929\n\nReported-by: Vasily Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.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": "d134082b7a9bb0e09158a2cc2e551841a84ddfa7",
      "tree": "867255fbc644ae386cb93323401437f9167cce7e",
      "parents": [
        "f22ff9d05def87a049c5c8c7b86539bd4f8e3172"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 05 12:51:11 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Nov 29 10:50:33 2013 -0800"
      },
      "message": "perf/ftrace: Fix paranoid level for enabling function tracer\n\ncommit 12ae030d54ef250706da5642fc7697cc60ad0df7 upstream.\n\nThe current default perf paranoid level is \"1\" which has\n\"perf_paranoid_kernel()\" return false, and giving any operations that\nuse it, access to normal users. Unfortunately, this includes function\ntracing and normal users should not be allowed to enable function\ntracing by default.\n\nThe proper level is defined at \"-1\" (full perf access), which\n\"perf_paranoid_tracepoint_raw()\" will only give access to. Use that\ncheck instead for enabling function tracing.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nTested-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCVE: CVE-2013-2930\nFixes: ced39002f5ea (\"ftrace, perf: Add support to use function tracepoint in perf\")\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "28a077b54f380342504ce7273818767e644bd50c",
      "tree": "4a53f2e47af2d4265e772a30ea645ae2dd130bdc",
      "parents": [
        "52efa26e675f3d322072d20d0a1d5e1c2225ebbd"
      ],
      "author": {
        "name": "Wang YanQing",
        "email": "udknight@gmail.com",
        "time": "Sat Jan 26 07:53:57 2013 +0000"
      },
      "committer": {
        "name": "Srinivasarao P",
        "email": "spathi@codeaurora.org",
        "time": "Thu Nov 28 12:20:14 2013 +0530"
      },
      "message": "smp: Fix SMP function call empty cpu mask race\n\nI get the following warning every day with v3.7, once or\ntwice a day:\n\n  [ 2235.186027] WARNING: at /mnt/sda7/kernel/linux/arch/x86/kernel/apic/ipi.c:109 default_send_IPI_mask_logical+0x2f/0xb8()\n\nAs explained by Linus as well:\n\n |\n | Once we\u0027ve done the \"list_add_rcu()\" to add it to the\n | queue, we can have (another) IPI to the target CPU that can\n | now see it and clear the mask.\n |\n | So by the time we get to actually send the IPI, the mask might\n | have been cleared by another IPI.\n |\n\nThis patch also fixes a system hang problem, if the data-\u003ecpumask\ngets cleared after passing this point:\n\n        if (WARN_ONCE(!mask, \"empty IPI mask\"))\n                return;\n\nthen the problem in commit 83d349f35e1a (\"x86: don\u0027t send an IPI to\nthe empty set of CPU\u0027s\") will happen again.\n\nCRs-Fixed: 552874\n\nSigned-off-by: Wang YanQing \u003cudknight@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: peterz@infradead.org\nCc: mina86@mina86.org\nCc: srivatsa.bhat@linux.vnet.ibm.com\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20130126075357.GA3205@udknight\n[ Tidied up the changelog and the comment in the code. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nGit-commit: f44310b98ddb7f0d06550d73ed67df5865e3eda5\nGit-repo: https://android.googlesource.com/kernel/common/\n\nChange-Id: I9ab460f2eb976cc8fcd11c7fd20ae79a442d06e2\nSigned-off-by: Srinivasarao P \u003cspathi@codeaurora.org\u003e\n"
    },
    {
      "commit": "af15b7691766d99f0f84bae9b3444ab06e9beb29",
      "tree": "5d22a78374519c3feeabeaddad7e4f0fb58360a6",
      "parents": [
        "9736cb3f9aa9c620965d937f4ff0261f6ac32ee1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 09 22:23:23 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Nov 20 10:43:19 2013 -0800"
      },
      "message": "tracing: Fix potential out-of-bounds in trace_get_user()\n\ncommit 057db8488b53d5e4faa0cedb2f39d4ae75dfbdbb upstream.\n\nAndrey reported the following report:\n\nERROR: AddressSanitizer: heap-buffer-overflow on address ffff8800359c99f3\nffff8800359c99f3 is located 0 bytes to the right of 243-byte region [ffff8800359c9900, ffff8800359c99f3)\nAccessed by thread T13003:\n  #0 ffffffff810dd2da (asan_report_error+0x32a/0x440)\n  #1 ffffffff810dc6b0 (asan_check_region+0x30/0x40)\n  #2 ffffffff810dd4d3 (__tsan_write1+0x13/0x20)\n  #3 ffffffff811cd19e (ftrace_regex_release+0x1be/0x260)\n  #4 ffffffff812a1065 (__fput+0x155/0x360)\n  #5 ffffffff812a12de (____fput+0x1e/0x30)\n  #6 ffffffff8111708d (task_work_run+0x10d/0x140)\n  #7 ffffffff810ea043 (do_exit+0x433/0x11f0)\n  #8 ffffffff810eaee4 (do_group_exit+0x84/0x130)\n  #9 ffffffff810eafb1 (SyS_exit_group+0x21/0x30)\n  #10 ffffffff81928782 (system_call_fastpath+0x16/0x1b)\n\nAllocated by thread T5167:\n  #0 ffffffff810dc778 (asan_slab_alloc+0x48/0xc0)\n  #1 ffffffff8128337c (__kmalloc+0xbc/0x500)\n  #2 ffffffff811d9d54 (trace_parser_get_init+0x34/0x90)\n  #3 ffffffff811cd7b3 (ftrace_regex_open+0x83/0x2e0)\n  #4 ffffffff811cda7d (ftrace_filter_open+0x2d/0x40)\n  #5 ffffffff8129b4ff (do_dentry_open+0x32f/0x430)\n  #6 ffffffff8129b668 (finish_open+0x68/0xa0)\n  #7 ffffffff812b66ac (do_last+0xb8c/0x1710)\n  #8 ffffffff812b7350 (path_openat+0x120/0xb50)\n  #9 ffffffff812b8884 (do_filp_open+0x54/0xb0)\n  #10 ffffffff8129d36c (do_sys_open+0x1ac/0x2c0)\n  #11 ffffffff8129d4b7 (SyS_open+0x37/0x50)\n  #12 ffffffff81928782 (system_call_fastpath+0x16/0x1b)\n\nShadow bytes around the buggy address:\n  ffff8800359c9700: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd\n  ffff8800359c9780: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa\n  ffff8800359c9800: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  ffff8800359c9880: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  ffff8800359c9900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n\u003d\u003effff8800359c9980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00[03]fb\n  ffff8800359c9a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  ffff8800359c9a80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  ffff8800359c9b00: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00\n  ffff8800359c9b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  ffff8800359c9c00: 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa\nShadow byte legend (one shadow byte represents 8 application bytes):\n  Addressable:           00\n  Partially addressable: 01 02 03 04 05 06 07\n  Heap redzone:          fa\n  Heap kmalloc redzone:  fb\n  Freed heap region:     fd\n  Shadow gap:            fe\n\nThe out-of-bounds access happens on \u0027parser-\u003ebuffer[parser-\u003eidx] \u003d 0;\u0027\n\nAlthough the crash happened in ftrace_regex_open() the real bug\noccurred in trace_get_user() where there\u0027s an incrementation to\nparser-\u003eidx without a check against the size. The way it is triggered\nis if userspace sends in 128 characters (EVENT_BUF_SIZE + 1), the loop\nthat reads the last character stores it and then breaks out because\nthere is no more characters. Then the last character is read to determine\nwhat to do next, and the index is incremented without checking size.\n\nThen the caller of trace_get_user() usually nulls out the last character\nwith a zero, but since the index is equal to the size, it writes a nul\ncharacter after the allocated space, which can corrupt memory.\n\nLuckily, only root user has write access to this file.\n\nLink: http://lkml.kernel.org/r/20131009222323.04fd1a0d@gandalf.local.home\n\nReported-by: Andrey Konovalov \u003candreyknvl@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": "f81d0a99446a0c4548d5783807529d075b06c64e",
      "tree": "b0697e8167ee4daf0d8b66f38270670498998f20",
      "parents": [
        "268417aeea96a1941c2cd14f0f8b5b39c374ad25"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 24 21:50:23 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Nov 13 12:01:48 2013 +0900"
      },
      "message": "clockevents: Sanitize ticks to nsec conversion\n\ncommit 97b9410643475d6557d2517c2aff9fd2221141a9 upstream.\n\nMarc Kleine-Budde pointed out, that commit 77cc982 \"clocksource: use\nclockevents_config_and_register() where possible\" caused a regression\nfor some of the converted subarchs.\n\nThe reason is, that the clockevents core code converts the minimal\nhardware tick delta to a nanosecond value for core internal\nusage. This conversion is affected by integer math rounding loss, so\nthe backwards conversion to hardware ticks will likely result in a\nvalue which is less than the configured hardware limitation. The\naffected subarchs used their own workaround (SIGH!) which got lost in\nthe conversion.\n\nThe solution for the issue at hand is simple: adding evt-\u003emult - 1 to\nthe shifted value before the integer divison in the core conversion\nfunction takes care of it. But this only works for the case where for\nthe scaled math mult/shift pair \"mult \u003c\u003d 1 \u003c\u003c shift\" is true. For the\ncase where \"mult \u003e 1 \u003c\u003c shift\" we can apply the rounding add only for\nthe minimum delta value to make sure that the backward conversion is\nnot less than the given hardware limit. For the upper bound we need to\nomit the rounding add, because the backwards conversion is always\nlarger than the original latch value. That would violate the upper\nbound of the hardware device.\n\nThough looking closer at the details of that function reveals another\nbogosity: The upper bounds check is broken as well. Checking for a\nresulting \"clc\" value greater than KTIME_MAX after the conversion is\npointless. The conversion does:\n\n      u64 clc \u003d (latch \u003c\u003c evt-\u003eshift) / evt-\u003emult;\n\nSo there is no sanity check for (latch \u003c\u003c evt-\u003eshift) exceeding the\n64bit boundary. The latch argument is \"unsigned long\", so on a 64bit\narch the handed in argument could easily lead to an unnoticed shift\noverflow. With the above rounding fix applied the calculation before\nthe divison is:\n\n       u64 clc \u003d (latch \u003c\u003c evt-\u003eshift) + evt-\u003emult - 1;\n\nSo we need to make sure, that neither the shift nor the rounding add\nis overflowing the u64 boundary.\n\n[ukl: move assignment to rnd after eventually changing mult, fix build\n issue and correct comment with the right math]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nCc: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nCc: nicolas.ferre@atmel.com\nCc: Marc Pignat \u003cmarc.pignat@hevs.ch\u003e\nCc: john.stultz@linaro.org\nCc: kernel@pengutronix.de\nCc: Ronald Wahl \u003cronald.wahl@raritan.com\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: Ludovic Desroches \u003cludovic.desroches@atmel.com\u003e\nLink: http://lkml.kernel.org/r/1380052223-24139-1-git-send-email-u.kleine-koenig@pengutronix.de\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f8fed45b504cb8c716c8684a1018217e7ac74e9d",
      "tree": "b298d9750fd5bee70c1ece4a777d7484bb7d39de",
      "parents": [
        "4f158a61fd1de13f4a77c48c40e4f13bf35a7703"
      ],
      "author": {
        "name": "Anil kumar mamidala",
        "email": "amami@codeaurora.org",
        "time": "Fri Oct 25 14:04:34 2013 +0530"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Nov 01 11:42:29 2013 -0700"
      },
      "message": "msm:pm: Fix for race condition of starting cpu1 when cpu0 in PC.\n\nThere is a window where core sends ipi to secondary core and\nwait for it to come online for 1 second. This would allow\ncore0 to go power collapse in a rare condition where core1\nstarted booting and doesn\u0027t become online yet.\n\nFix this by not allowing power collapse on core0\nif hot plug operation is in progress.\n\nCRs-fixed: 545714.\nChange-Id: I1ca503a2f09cd9a65c2fdcd41eb54466a1e486c5\nSigned-off-by: Anil kumar mamidala \u003camami@codeaurora.org\u003e\n"
    },
    {
      "commit": "61675fc94f88967c290224a2b3929b87a2a7f2e1",
      "tree": "52726de8d1a6042764e6269ecd60c141303d945c",
      "parents": [
        "26e4b66ab3b2237483beeed53f28e7d6ef6a23f1"
      ],
      "author": {
        "name": "Matt Wagantall",
        "email": "mattw@codeaurora.org",
        "time": "Mon Sep 23 15:19:49 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Mon Oct 28 15:12:35 2013 -0700"
      },
      "message": "smp: Relax irqs_disable() warning in smp_call_function_single()\n\nThe change that long-ago added the interrupts-disabled warning in\nsmp_call_function_single() cited the following deadlock as the reason:\n\tCPU A\t\t\t\tCPU B\n\tDisable interrupts\n\t\t\t\t\tsmp_call_function()\n\t\t\t\t\tTake call_lock\n\t\t\t\t\tSend IPIs\n\t\t\t\t\tWait for all cpus to acknowledge IPI\n\t\t\t\t\tCPU A has not responded, spin waiting\n\t\t\t\t\tfor cpu A to respond, holding call_lock\n\tsmp_call_function()\n\tSpin waiting for call_lock\n\tDeadlock\t\t\tDeadlock\n\nSuch a deadlock is not possible however, in the event that\nsmp_call_function_single() is called for the currently-executing CPU.\nWhile not a common usecase, relaxing the warning may simplify some\ndriver implementations.\n\nThe \u0027acpuclock-krait\u0027 driver in the MSM ARM sub-architecture provides\none example, where smp_call_function_single() is sometimes called from\na cpuidle path with interrupts disabled, but only ever from the target\nCPU. Other callers of that same function may cross-call, but only do so\nwhen interrupts are enabled.\n\nChange-Id: I647b3b46fe6aa4dfb06f7750396986b80b92d700\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    },
    {
      "commit": "9b487e9df99e0c139561579e144a017c8487e3d0",
      "tree": "1610194219f5b0124772696b29feb4e33714d652",
      "parents": [
        "8e041b4ec175dd209c303e81cd28b993536b0ab8"
      ],
      "author": {
        "name": "Anil kumar mamidala",
        "email": "amami@codeaurora.org",
        "time": "Fri Oct 25 14:04:34 2013 +0530"
      },
      "committer": {
        "name": "Anil kumar mamidala",
        "email": "amami@codeaurora.org",
        "time": "Mon Oct 28 13:17:47 2013 +0530"
      },
      "message": "msm:pm: Fix for race condition of starting cpu1 when cpu0 in PC.\n\nThere is a window where core sends ipi to secondary core and\nwait for it to come online for 1 second. This would allow\ncore0 to go power collapse in a rare condition where core1\nstarted booting and doesn\u0027t become online yet.\n\nFix this by not allowing power collapse on core0\nif hot plug operation is in progress.\n\nCRs-fixed: 545714.\nChange-Id: I1ca503a2f09cd9a65c2fdcd41eb54466a1e486c5\nSigned-off-by: Anil kumar mamidala \u003camami@codeaurora.org\u003e\n"
    },
    {
      "commit": "1d48ca6f38fa39298474708abebeffef4ef2cd2d",
      "tree": "54af1961ab8589ebc3e6533c4083c0cdb2581db9",
      "parents": [
        "2cd21fa1b54efaf6b5912ef2833fa474fdcf92b7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 02 15:41:23 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 01 09:10:52 2013 -0700"
      },
      "message": "perf: Fix perf_cgroup_switch for sw-events\n\ncommit 95cf59ea72331d0093010543b8951bb43f262cac upstream.\n\nJiri reported that he could trigger the WARN_ON_ONCE() in\nperf_cgroup_switch() using sw-events. This is because sw-events share\na cpuctx with multiple PMUs.\n\nUse the -\u003eunique_pmu pointer to limit the pmu iteration to unique\ncpuctx instances.\n\nReported-and-Tested-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-so7wi2zf3jjzrwcutm2mkz0j@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2cd21fa1b54efaf6b5912ef2833fa474fdcf92b7",
      "tree": "17a056e20c3937a5af97acd45ac7792a420d78ab",
      "parents": [
        "2927937899b958de968119856ba659d8a4eff037"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 02 15:38:52 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 01 09:10:52 2013 -0700"
      },
      "message": "perf: Clarify perf_cpu_context::active_pmu usage by renaming it to ::unique_pmu\n\ncommit 3f1f33206c16c7b3839d71372bc2ac3f305aa802 upstream.\n\nStephane thought the perf_cpu_context::active_pmu name confusing and\nsuggested using \u0027unique_pmu\u0027 instead.\n\nThis pointer is a pointer to a \u0027random\u0027 pmu sharing the cpuctx\ninstance, therefore limiting a for_each_pmu loop to those where\ncpuctx-\u003eunique_pmu matches the pmu we get a loop over unique cpuctx\ninstances.\n\nSuggested-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-kxyjqpfj2fn9gt7kwu5ag9ks@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2927937899b958de968119856ba659d8a4eff037",
      "tree": "51489c3f0826002328a8bf68dccd81c8abeccab3",
      "parents": [
        "72417b659ae9c36e1807bc930240aec202970861"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Mon Feb 18 14:13:35 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 01 09:10:51 2013 -0700"
      },
      "message": "cgroup: fail if monitored file and event_control are in different cgroup\n\ncommit f169007b2773f285e098cb84c74aac0154d65ff7 upstream.\n\nIf we pass fd of memory.usage_in_bytes of cgroup A to cgroup.event_control\nof cgroup B, then we won\u0027t get memory usage notification from A but B!\n\nWhat\u0027s worse, if A and B are in different mount hierarchy, we\u0027ll end up\naccessing NULL pointer!\n\nDisallow this kind of invalid usage.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Weng Meiling \u003cwengmeiling.weng@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "62875332eafea9ee150a6037c0a1a20669e02aa1",
      "tree": "71c673017dc9991b143ad989e6b3d20802a13719",
      "parents": [
        "ebce1a846aa297022fc372d59e6829d0453125f2"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Tue Sep 10 18:16:36 2013 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 01 09:10:51 2013 -0700"
      },
      "message": "sched/fair: Fix small race where child-\u003ese.parent,cfs_rq might point to invalid ones\n\ncommit 6c9a27f5da9609fca46cb2b183724531b48f71ad upstream.\n\nThere is a small race between copy_process() and cgroup_attach_task()\nwhere child-\u003ese.parent,cfs_rq points to invalid (old) ones.\n\n        parent doing fork()      | someone moving the parent to another cgroup\n  -------------------------------+---------------------------------------------\n    copy_process()\n      + dup_task_struct()\n        -\u003e parent-\u003ese is copied to child-\u003ese.\n           se.parent,cfs_rq of them point to old ones.\n\n                                     cgroup_attach_task()\n                                       + cgroup_task_migrate()\n                                         -\u003e parent-\u003ecgroup is updated.\n                                       + cpu_cgroup_attach()\n                                         + sched_move_task()\n                                           + task_move_group_fair()\n                                             +- set_task_rq()\n                                                -\u003e se.parent,cfs_rq of parent\n                                                   are updated.\n\n      + cgroup_fork()\n        -\u003e parent-\u003ecgroup is copied to child-\u003ecgroup. (*1)\n      + sched_fork()\n        + task_fork_fair()\n          -\u003e se.parent,cfs_rq of child are accessed\n             while they point to old ones. (*2)\n\nIn the worst case, this bug can lead to \"use-after-free\" and cause a panic,\nbecause it\u0027s new cgroup\u0027s refcount that is incremented at (*1),\nso the old cgroup(and related data) can be freed before (*2).\n\nIn fact, a panic caused by this bug was originally caught in RHEL6.4.\n\n    BUG: unable to handle kernel NULL pointer dereference at (null)\n    IP: [\u003cffffffff81051e3e\u003e] sched_slice+0x6e/0xa0\n    [...]\n    Call Trace:\n     [\u003cffffffff81051f25\u003e] place_entity+0x75/0xa0\n     [\u003cffffffff81056a3a\u003e] task_fork_fair+0xaa/0x160\n     [\u003cffffffff81063c0b\u003e] sched_fork+0x6b/0x140\n     [\u003cffffffff8106c3c2\u003e] copy_process+0x5b2/0x1450\n     [\u003cffffffff81063b49\u003e] ? wake_up_new_task+0xd9/0x130\n     [\u003cffffffff8106d2f4\u003e] do_fork+0x94/0x460\n     [\u003cffffffff81072a9e\u003e] ? sys_wait4+0xae/0x100\n     [\u003cffffffff81009598\u003e] sys_clone+0x28/0x30\n     [\u003cffffffff8100b393\u003e] stub_clone+0x13/0x20\n     [\u003cffffffff8100b072\u003e] ? system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/039601ceae06$733d3130$59b79390$@mxp.nes.nec.co.jp\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ead13f9c10155c96a5d5f2d39e5efbdbad107d15",
      "tree": "f9061059d2952f7ff18d287508b8fef57196676c",
      "parents": [
        "e7dd7a69d3d3c646285469510ae48db6ee1a074b"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Sep 02 02:30:26 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Sep 03 03:17:56 2013 -0700"
      },
      "message": "Use hrtimers so that msleep() sleeps for the requested time\n\nCurrent msleep() snoozes for at least two jiffies, causing msleep(1) to\nsleep for at least 20ms on HZ\u003d100 systems.  Using hrtimers allows\nmsleep() to sleep for something much closer to the requested time.\n\nChange-Id: If06b4fa3f489eed073213c763755ec3b387129e1\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "55e3e1f419f0c387a2b971cc181b8dea1b099d1d",
      "tree": "79470f040f2886669d9fb0ecce2882e875fb976f",
      "parents": [
        "31eafff4382b0f20edce1afea8e2d288c6c7187c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 18 10:35:02 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 29 09:50:12 2013 -0700"
      },
      "message": "workqueue: consider work function when searching for busy work items\n\ncommit a2c1c57be8d9fd5b716113c8991d3d702eeacf77 upstream.\n\nTo avoid executing the same work item concurrenlty, workqueue hashes\ncurrently busy workers according to their current work items and looks\nup the the table when it wants to execute a new work item.  If there\nalready is a worker which is executing the new work item, the new item\nis queued to the found worker so that it gets executed only after the\ncurrent execution finishes.\n\nUnfortunately, a work item may be freed while being executed and thus\nrecycled for different purposes.  If it gets recycled for a different\nwork item and queued while the previous execution is still in\nprogress, workqueue may make the new work item wait for the old one\nalthough the two aren\u0027t really related in any way.\n\nIn extreme cases, this false dependency may lead to deadlock although\nit\u0027s extremely unlikely given that there aren\u0027t too many self-freeing\nwork item users and they usually don\u0027t wait for other work items.\n\nTo alleviate the problem, record the current work function in each\nbusy worker and match it together with the work item address in\nfind_worker_executing_work().  While this isn\u0027t complete, it ensures\nthat unrelated work items don\u0027t interact with each other and in the\nvery unlikely case where a twisted wq user triggers it, it\u0027s always\nonto itself making the culprit easy to spot.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Andrey Isakov \u003candy51@gmx.ru\u003e\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d51701\n[lizf: Backported to 3.4:\n - Adjust context\n - Incorporate earlier logging cleanup in process_one_work() from\n   044c782ce3a9 (\u0027workqueue: fix checkpatch issues\u0027)]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "31eafff4382b0f20edce1afea8e2d288c6c7187c",
      "tree": "77cbad322913848d13ecd4d0a3707fe86fd255c7",
      "parents": [
        "67db9db0bfd9448feb8e69224dfbb83e5834082b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Sep 18 10:40:00 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Aug 29 09:50:11 2013 -0700"
      },
      "message": "workqueue: fix possible stall on try_to_grab_pending() of a delayed work item\n\ncommit 3aa62497594430ea522050b75c033f71f2c60ee6 upstream.\n\nCurrently, when try_to_grab_pending() grabs a delayed work item, it\nleaves its linked work items alone on the delayed_works.  The linked\nwork items are always NO_COLOR and will cause future\ncwq_activate_first_delayed() increase cwq-\u003enr_active incorrectly, and\nmay cause the whole cwq to stall.  For example,\n\nstate: cwq-\u003emax_active \u003d 1, cwq-\u003enr_active \u003d 1\n       one work in cwq-\u003epool, many in cwq-\u003edelayed_works.\n\nstep1: try_to_grab_pending() removes a work item from delayed_works\n       but leaves its NO_COLOR linked work items on it.\n\nstep2: Later on, cwq_activate_first_delayed() activates the linked\n       work item increasing -\u003enr_active.\n\nstep3: cwq-\u003enr_active \u003d 1, but all activated work items of the cwq are\n       NO_COLOR.  When they finish, cwq-\u003enr_active will not be\n       decreased due to NO_COLOR, and no further work items will be\n       activated from cwq-\u003edelayed_works. the cwq stalls.\n\nFix it by ensuring the target work item is activated before stealing\nPENDING in try_to_grab_pending().  This ensures that all the linked\nwork items are activated without incorrectly bumping cwq-\u003enr_active.\n\ntj: Updated comment and description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n[lizf: backported to 3.4: adjust context]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a42efb79d54d9a13c8f68df122c832bca08b74ae",
      "tree": "b49010c84b42ccc5407766471bc94c95efe63d83",
      "parents": [
        "4d5b24dd453b4ff44f69756106b029e8961dcb55"
      ],
      "author": {
        "name": "Zhang Yi",
        "email": "wetpzy@gmail.com",
        "time": "Tue Jun 25 21:19:31 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Aug 20 08:26:28 2013 -0700"
      },
      "message": "futex: Take hugepages into account when generating futex_key\n\ncommit 13d60f4b6ab5b702dc8d2ee20999f98a93728aec upstream.\n\nThe futex_keys of process shared futexes are generated from the page\noffset, the mapping host and the mapping index of the futex user space\naddress. This should result in an unique identifier for each futex.\n\nThough this is not true when futexes are located in different subpages\nof an hugepage. The reason is, that the mapping index for all those\nfutexes evaluates to the index of the base page of the hugetlbfs\nmapping. So a futex at offset 0 of the hugepage mapping and another\none at offset PAGE_SIZE of the same hugepage mapping have identical\nfutex_keys. This happens because the futex code blindly uses\npage-\u003eindex.\n\nSteps to reproduce the bug:\n\n1. Map a file from hugetlbfs. Initialize pthread_mutex1 at offset 0\n   and pthread_mutex2 at offset PAGE_SIZE of the hugetlbfs\n   mapping.\n\n   The mutexes must be initialized as PTHREAD_PROCESS_SHARED because\n   PTHREAD_PROCESS_PRIVATE mutexes are not affected by this issue as\n   their keys solely depend on the user space address.\n\n2. Lock mutex1 and mutex2\n\n3. Create thread1 and in the thread function lock mutex1, which\n   results in thread1 blocking on the locked mutex1.\n\n4. Create thread2 and in the thread function lock mutex2, which\n   results in thread2 blocking on the locked mutex2.\n\n5. Unlock mutex2. Despite the fact that mutex2 got unlocked, thread2\n   still blocks on mutex2 because the futex_key points to mutex1.\n\nTo solve this issue we need to take the normal page index of the page\nwhich contains the futex into account, if the futex is in an hugetlbfs\nmapping. In other words, we calculate the normal page mapping index of\nthe subpage in the hugetlbfs mapping.\n\nMappings which are not based on hugetlbfs are not affected and still\nuse page-\u003eindex.\n\nThanks to Mel Gorman who provided a patch for adding proper evaluation\nfunctions to the hugetlbfs code to avoid exposing hugetlbfs specific\ndetails to the futex code.\n\n[ tglx: Massaged changelog ]\n\nSigned-off-by: Zhang Yi \u003czhang.yi20@zte.com.cn\u003e\nReviewed-by: Jiang Biao \u003cjiang.biao2@zte.com.cn\u003e\nTested-by: Ma Chenggong \u003cma.chenggong@zte.com.cn\u003e\nReviewed-by: \u0027Mel Gorman\u0027 \u003cmgorman@suse.de\u003e\nAcked-by: \u0027Darren Hart\u0027 \u003cdvhart@linux.intel.com\u003e\nCc: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/000101ce71a6%24a83c5880%24f8b50980%24@com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mike Galbraith \u003cmgalbraith@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n\n"
    },
    {
      "commit": "99593eb7ca1dd9bfaa431d96e009eda23f001ace",
      "tree": "b1412f07fda67143bc2454bbb6f81e124cae3617",
      "parents": [
        "65280b8ed1cca78ff7fe63ecfdb0fff87fe184a3"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Fri Aug 02 21:16:43 2013 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 14 22:57:08 2013 -0700"
      },
      "message": "tracing: Fix fields of struct trace_iterator that are zeroed by mistake\n\ncommit ed5467da0e369e65b247b99eb6403cb79172bcda upstream.\n\ntracing_read_pipe zeros all fields bellow \"seq\". The declaration contains\na comment about that, but it doesn\u0027t help.\n\nThe first field is \"snapshot\", it\u0027s true when current open file is\nsnapshot. Looks obvious, that it should not be zeroed.\n\nThe second field is \"started\". It was converted from cpumask_t to\ncpumask_var_t (v2.6.28-4983-g4462344), in other words it was\nconverted from cpumask to pointer on cpumask.\n\nCurrently the reference on \"started\" memory is lost after the first read\nfrom tracing_read_pipe and a proper object will never be freed.\n\nThe \"started\" is never dereferenced for trace_pipe, because trace_pipe\ncan\u0027t have the TRACE_FILE_ANNOTATE options.\n\nLink: http://lkml.kernel.org/r/1375463803-3085183-1-git-send-email-avagin@openvz.org\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2d8be9cf0668fab848b9b7740f0725ae9181b703",
      "tree": "f0109a7365fc949575a152aaef0d2d0faf17ae67",
      "parents": [
        "be1932db6f0ffc7504f8ef513515c292c466445c"
      ],
      "author": {
        "name": "Salman Qazi",
        "email": "sqazi@google.com",
        "time": "Thu Jun 14 15:31:09 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Aug 11 15:38:43 2013 -0700"
      },
      "message": "perf: Use css_tryget() to avoid propping up css refcount\n\ncommit 9c5da09d266ca9b32eb16cf940f8161d949c2fe5 upstream.\n\nAn rmdir pushes css\u0027s ref count to zero.  However, if the associated\ndirectory is open at the time, the dentry ref count is non-zero.  If\nthe fd for this directory is then passed into perf_event_open, it\ndoes a css_get().  This bounces the ref count back up from zero.  This\nis a problem by itself.  But what makes it turn into a crash is the\nfact that we end up doing an extra dput, since we perform a dput\nwhen css_put sees the ref count go down to zero.\n\ncss_tryget() does not fall into that trap. So, we use that instead.\n\nReproduction test-case for the bug:\n\n #include \u003cunistd.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/stat.h\u003e\n #include \u003cfcntl.h\u003e\n #include \u003clinux/unistd.h\u003e\n #include \u003clinux/perf_event.h\u003e\n #include \u003cstring.h\u003e\n #include \u003cerrno.h\u003e\n #include \u003cstdio.h\u003e\n\n #define PERF_FLAG_PID_CGROUP    (1U \u003c\u003c 2)\n\n int perf_event_open(struct perf_event_attr *hw_event_uptr,\n                     pid_t pid, int cpu, int group_fd, unsigned long flags) {\n         return syscall(__NR_perf_event_open,hw_event_uptr, pid, cpu,\n                 group_fd, flags);\n }\n\n /*\n  * Directly poke at the perf_event bug, since it\u0027s proving hard to repro\n  * depending on where in the kernel tree.  what moved?\n  */\n int main(int argc, char **argv)\n {\n        int fd;\n        struct perf_event_attr attr;\n        memset(\u0026attr, 0, sizeof(attr));\n        attr.exclude_kernel \u003d 1;\n        attr.size \u003d sizeof(attr);\n        mkdir(\"/dev/cgroup/perf_event/blah\", 0777);\n        fd \u003d open(\"/dev/cgroup/perf_event/blah\", O_RDONLY);\n        perror(\"open\");\n        rmdir(\"/dev/cgroup/perf_event/blah\");\n        sleep(2);\n        perf_event_open(\u0026attr, fd, 0, -1,  PERF_FLAG_PID_CGROUP);\n        perror(\"perf_event_open\");\n        close(fd);\n        return 0;\n }\n\nSigned-off-by: Salman Qazi \u003csqazi@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20120614223108.1025.2503.stgit@dungbeetle.mtv.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "5cbff87c00cf1b8e3a077465e4ec501dd21651c8",
      "tree": "6c002b76a1801778a213b8b4884053488290192a",
      "parents": [
        "6c9ef8363ab2802bb8f418f32bb9f83d48c9da2a"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Feb 01 11:23:45 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Aug 11 15:38:43 2013 -0700"
      },
      "message": "perf: Fix event group context move\n\ncommit 0231bb5336758426b44ccd798ccd3c5419c95d58 upstream.\n\nWhen we have group with mixed events (hw/sw) we want to end up\nwith group leader being in hw context. So if group leader is\ninitialy sw event, we move all the events under hw context.\n\nThe move is done for each event by removing it from its context\nand adding it back into proper one. As a part of the removal the\nevent is automatically disabled, which is not what we want at\nthis stage of creating groups.\n\nThe fix is to initialize event state after removal from sw\ncontext.\n\nThis fix resulted from the following discussion:\n\n  http://thread.gmane.org/gmane.linux.kernel.perf.user/1144\n\nReported-by: Andreas Hollmann \u003chollmann@in.tum.de\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Vince Weaver \u003cvince@deater.net\u003e\nLink: http://lkml.kernel.org/r/1359714225-4231-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "1836cd176170d39f5b1fda9cd47d3c3f0f10dad2",
      "tree": "6452080dec303b174785e4b68ffaff2673e2a33c",
      "parents": [
        "ee9ef037ac99b542df34848fca2c9765910535e6"
      ],
      "author": {
        "name": "Zhu Yanhai",
        "email": "gaoyang.zyh@taobao.com",
        "time": "Tue Jan 08 12:56:52 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Aug 11 15:38:43 2013 -0700"
      },
      "message": "sched: Fix the broken sched_rr_get_interval()\n\ncommit a59f4e079d19464eebb9b06513a1d4f55fdae5ba upstream.\n\nThe caller of sched_sliced() should pass se.cfs_rq and se as the\narguments, however in sched_rr_get_interval() we gave it\nrq.cfs_rq and se, which made the following computation obviously\nwrong.\n\nThe change was introduced by commit:\n\n  77034937dc45 sched: fix crash in sys_sched_rr_get_interval()\n\n... 5 years ago, while it had been the correct \u0027cfs_rq_of\u0027 before\nthe commit. The change seems to be irrelevant to the commit\nmsg, which was to return a 0 timeslice for tasks that are on an\nidle runqueue. So I believe that was just a plain typo.\n\nSigned-off-by: Zhu Yanhai \u003cgaoyang.zyh@taobao.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1357621012-15039-1-git-send-email-gaoyang.zyh@taobao.com\n[ Since this is an ABI and an old bug, we\u0027ll test this via a\n  slow upstream route, to hopefully discover any app breakage. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "58ce9d5d09c794ad38fe4e973f7614cee79e680b",
      "tree": "3caad3cd89b5795e60a94ca6c32c364c8e0951d6",
      "parents": [
        "afad29d6f9285ddf6d4c21e44818bfd5c6a67568"
      ],
      "author": {
        "name": "Tommi Rantala",
        "email": "tt.rantala@gmail.com",
        "time": "Sat Apr 13 22:49:14 2013 +0300"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Aug 05 01:41:35 2013 -0700"
      },
      "message": "perf: Treat attr.config as u64 in perf_swevent_init()\n\nTrinity discovered that we fail to check all 64 bits of\nattr.config passed by user space, resulting to out-of-bounds\naccess of the perf_swevent_enabled array in\nsw_perf_event_destroy().\n\nIntroduced in commit b0a873ebb (\"perf: Register PMU\nimplementations\").\n\nSigned-off-by: Tommi Rantala \u003ctt.rantala@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nPatch-mainline: linux-kernel @ 04/13/13, 19:49\nSigned-off-by: Deepak Katragadda \u003cdkatraga@codeaurora.com\u003e\n"
    },
    {
      "commit": "352b6418a2d14c754b41f23e0698f0006c914b95",
      "tree": "381768caaaa7dcaa97e24c51ca84830ecd9cca6e",
      "parents": [
        "e5f8b2d71c3b617d2d5ce9568067b1458b47a517"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Mon Jul 29 09:33:58 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Aug 04 16:25:45 2013 +0800"
      },
      "message": "tracing: Fix irqs-off tag display in syscall tracing\n\ncommit 11034ae9c20f4057a6127fc965906417978e69b2 upstream\n\nInitialization of variable irq_flags and pc was missed when backport\n11034ae9c to linux-3.0.y and linux-3.4.y, my fault.\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "39367f485b87492a5e51af8496a684eafa4aec86",
      "tree": "53b728ea867eaaced43fa13a3fd77233b5e997ca",
      "parents": [
        "f36a0d6764dcb33a280dce206f1be4bcaff5714e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 05 12:09:18 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:26:47 2013 -0700"
      },
      "message": "hrtimers: Move SMP function call to thread context\n\ncommit 5ec2481b7b47a4005bb446d176e5d0257400c77d upstream.\n\nsmp_call_function_* must not be called from softirq context.\n\nBut clock_was_set() which calls on_each_cpu() is called from softirq\ncontext to implement a delayed clock_was_set() for the timer interrupt\nhandler. Though that almost never gets invoked. A recent change in the\nresume code uses the softirq based delayed clock_was_set to support\nXens resume mechanism.\n\nlinux-next contains a new warning which warns if smp_call_function_*\nis called from softirq context which gets triggered by that Xen\nchange.\n\nFix this by moving the delayed clock_was_set() call to a work context.\n\nReported-and-tested-by: Artem Savkov \u003cartem.savkov@gmail.com\u003e\nReported-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: David Vrabel \u003cdavid.vrabel@citrix.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e,\nCc: Konrad Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: xen-devel@lists.xen.org\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f36a0d6764dcb33a280dce206f1be4bcaff5714e",
      "tree": "39e30c2832c12b3ad897df6fbf4e97a252887d44",
      "parents": [
        "e2f918414ca99c5321ad352fa6dfa3147e3e31d8"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Wed Apr 10 11:26:23 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:26:46 2013 -0700"
      },
      "message": "tracing: Fix irqs-off tag display in syscall tracing\n\ncommit 11034ae9c20f4057a6127fc965906417978e69b2 upstream.\n\nAll syscall tracing irqs-off tags are wrong, the syscall enter entry doesn\u0027t\ndisable irqs.\n\n [root@jovi tracing]#echo \"syscalls:sys_enter_open\" \u003e set_event\n [root@jovi tracing]# cat trace\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 13/13   #P:2\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n       irqbalance-513   [000] d... 56115.496766: sys_open(filename: 804e1a6, flags: 0, mode: 1b6)\n       irqbalance-513   [000] d... 56115.497008: sys_open(filename: 804e1bb, flags: 0, mode: 1b6)\n         sendmail-771   [000] d... 56115.827982: sys_open(filename: b770e6d1, flags: 0, mode: 1b6)\n\nThe reason is syscall tracing doesn\u0027t record irq_flags into buffer.\nThe proper display is:\n\n [root@jovi tracing]#echo \"syscalls:sys_enter_open\" \u003e set_event\n [root@jovi tracing]# cat trace\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 14/14   #P:2\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n       irqbalance-514   [001] ....    46.213921: sys_open(filename: 804e1a6, flags: 0, mode: 1b6)\n       irqbalance-514   [001] ....    46.214160: sys_open(filename: 804e1bb, flags: 0, mode: 1b6)\n            \u003c...\u003e-920   [001] ....    47.307260: sys_open(filename: 4e82a0c5, flags: 80000, mode: 0)\n\nLink: http://lkml.kernel.org/r/1365564393-10972-3-git-send-email-jovi.zhangwei@huawei.com\n\nCc: stable@vger.kernel.org # 2.6.35\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "41154a356f6516ffa266e50ff7d1bf706893dfe3",
      "tree": "c42911b2319dfe276ebc9e14476ae317ece83020",
      "parents": [
        "1f11f44083bca90ce4f534023658d481b5707d94"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jul 12 11:08:33 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:25:48 2013 -0700"
      },
      "message": "perf: Fix perf_lock_task_context() vs RCU\n\ncommit 058ebd0eba3aff16b144eabf4510ed9510e1416e upstream.\n\nJiri managed to trigger this warning:\n\n [] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [] [ INFO: possible circular locking dependency detected ]\n [] 3.10.0+ #228 Tainted: G        W\n [] -------------------------------------------------------\n [] p/6613 is trying to acquire lock:\n []  (rcu_node_0){..-...}, at: [\u003cffffffff810ca797\u003e] rcu_read_unlock_special+0xa7/0x250\n []\n [] but task is already holding lock:\n []  (\u0026ctx-\u003elock){-.-...}, at: [\u003cffffffff810f2879\u003e] perf_lock_task_context+0xd9/0x2c0\n []\n [] which lock already depends on the new lock.\n []\n [] the existing dependency chain (in reverse order) is:\n []\n [] -\u003e #4 (\u0026ctx-\u003elock){-.-...}:\n [] -\u003e #3 (\u0026rq-\u003elock){-.-.-.}:\n [] -\u003e #2 (\u0026p-\u003epi_lock){-.-.-.}:\n [] -\u003e #1 (\u0026rnp-\u003enocb_gp_wq[1]){......}:\n [] -\u003e #0 (rcu_node_0){..-...}:\n\nPaul was quick to explain that due to preemptible RCU we cannot call\nrcu_read_unlock() while holding scheduler (or nested) locks when part\nof the read side critical section was preemptible.\n\nTherefore solve it by making the entire RCU read side non-preemptible.\n\nAlso pull out the retry from under the non-preempt to play nice with RT.\n\nReported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nHelped-out-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "1f11f44083bca90ce4f534023658d481b5707d94",
      "tree": "0813157a3ebf651d5a1e897454dd9f0c18272f53",
      "parents": [
        "c4c6a6ea3adbe790d81ef72f623e22591704fdb9"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Jul 09 17:44:11 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:25:48 2013 -0700"
      },
      "message": "perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid scenario\n\ncommit 06f417968beac6e6b614e17b37d347aa6a6b1d30 upstream.\n\nThe \u0027!ctx-\u003eis_active\u0027 check has a valid scenario, so\nthere\u0027s no need for the warning.\n\nThe reason is that there\u0027s a time window between the\n\u0027ctx-\u003eis_active\u0027 check in the perf_event_enable() function\nand the __perf_event_enable() function having:\n\n  - IRQs on\n  - ctx-\u003elock unlocked\n\nwhere the task could be killed and \u0027ctx\u0027 deactivated by\nperf_event_exit_task(), ending up with the warning below.\n\nSo remove the WARN_ON_ONCE() check and add comments to\nexplain it all.\n\nThis addresses the following warning reported by Vince Weaver:\n\n[  324.983534] ------------[ cut here ]------------\n[  324.984420] WARNING: at kernel/events/core.c:1953 __perf_event_enable+0x187/0x190()\n[  324.984420] Modules linked in:\n[  324.984420] CPU: 19 PID: 2715 Comm: nmi_bug_snb Not tainted 3.10.0+ #246\n[  324.984420] Hardware name: Supermicro X8DTN/X8DTN, BIOS 4.6.3 01/08/2010\n[  324.984420]  0000000000000009 ffff88043fce3ec8 ffffffff8160ea0b ffff88043fce3f00\n[  324.984420]  ffffffff81080ff0 ffff8802314fdc00 ffff880231a8f800 ffff88043fcf7860\n[  324.984420]  0000000000000286 ffff880231a8f800 ffff88043fce3f10 ffffffff8108103a\n[  324.984420] Call Trace:\n[  324.984420]  \u003cIRQ\u003e  [\u003cffffffff8160ea0b\u003e] dump_stack+0x19/0x1b\n[  324.984420]  [\u003cffffffff81080ff0\u003e] warn_slowpath_common+0x70/0xa0\n[  324.984420]  [\u003cffffffff8108103a\u003e] warn_slowpath_null+0x1a/0x20\n[  324.984420]  [\u003cffffffff81134437\u003e] __perf_event_enable+0x187/0x190\n[  324.984420]  [\u003cffffffff81130030\u003e] remote_function+0x40/0x50\n[  324.984420]  [\u003cffffffff810e51de\u003e] generic_smp_call_function_single_interrupt+0xbe/0x130\n[  324.984420]  [\u003cffffffff81066a47\u003e] smp_call_function_single_interrupt+0x27/0x40\n[  324.984420]  [\u003cffffffff8161fd2f\u003e] call_function_single_interrupt+0x6f/0x80\n[  324.984420]  \u003cEOI\u003e  [\u003cffffffff816161a1\u003e] ? _raw_spin_unlock_irqrestore+0x41/0x70\n[  324.984420]  [\u003cffffffff8113799d\u003e] perf_event_exit_task+0x14d/0x210\n[  324.984420]  [\u003cffffffff810acd04\u003e] ? switch_task_namespaces+0x24/0x60\n[  324.984420]  [\u003cffffffff81086946\u003e] do_exit+0x2b6/0xa40\n[  324.984420]  [\u003cffffffff8161615c\u003e] ? _raw_spin_unlock_irq+0x2c/0x30\n[  324.984420]  [\u003cffffffff81087279\u003e] do_group_exit+0x49/0xc0\n[  324.984420]  [\u003cffffffff81096854\u003e] get_signal_to_deliver+0x254/0x620\n[  324.984420]  [\u003cffffffff81043057\u003e] do_signal+0x57/0x5a0\n[  324.984420]  [\u003cffffffff8161a164\u003e] ? __do_page_fault+0x2a4/0x4e0\n[  324.984420]  [\u003cffffffff8161665c\u003e] ? retint_restore_args+0xe/0xe\n[  324.984420]  [\u003cffffffff816166cd\u003e] ? retint_signal+0x11/0x84\n[  324.984420]  [\u003cffffffff81043605\u003e] do_notify_resume+0x65/0x80\n[  324.984420]  [\u003cffffffff81616702\u003e] retint_signal+0x46/0x84\n[  324.984420] ---[ end trace 442ec2f04db3771a ]---\n\nReported-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1373384651-6109-2-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "c4c6a6ea3adbe790d81ef72f623e22591704fdb9",
      "tree": "c5b11f6d4dfa366f85c86e153227a40b4146047b",
      "parents": [
        "ca9c5a9c9bc8bcf8e7308013a08d214df6eee673"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Jul 09 17:44:10 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:25:48 2013 -0700"
      },
      "message": "perf: Clone child context from parent context pmu\n\ncommit 734df5ab549ca44f40de0f07af1c8803856dfb18 upstream.\n\nCurrently when the child context for inherited events is\ncreated, it\u0027s based on the pmu object of the first event\nof the parent context.\n\nThis is wrong for the following scenario:\n\n  - HW context having HW and SW event\n  - HW event got removed (closed)\n  - SW event stays in HW context as the only event\n    and its pmu is used to clone the child context\n\nThe issue starts when the cpu context object is touched\nbased on the pmu context object (__get_cpu_context). In\nthis case the HW context will work with SW cpu context\nending up with following WARN below.\n\nFixing this by using parent context pmu object to clone\nfrom child context.\n\nAddresses the following warning reported by Vince Weaver:\n\n[ 2716.472065] ------------[ cut here ]------------\n[ 2716.476035] WARNING: at kernel/events/core.c:2122 task_ctx_sched_out+0x3c/0x)\n[ 2716.476035] Modules linked in: nfsd auth_rpcgss oid_registry nfs_acl nfs locn\n[ 2716.476035] CPU: 0 PID: 3164 Comm: perf_fuzzer Not tainted 3.10.0-rc4 #2\n[ 2716.476035] Hardware name: AOpen   DE7000/nMCP7ALPx-DE R1.06 Oct.19.2012, BI2\n[ 2716.476035]  0000000000000000 ffffffff8102e215 0000000000000000 ffff88011fc18\n[ 2716.476035]  ffff8801175557f0 0000000000000000 ffff880119fda88c ffffffff810ad\n[ 2716.476035]  ffff880119fda880 ffffffff810af02a 0000000000000009 ffff880117550\n[ 2716.476035] Call Trace:\n[ 2716.476035]  [\u003cffffffff8102e215\u003e] ? warn_slowpath_common+0x5b/0x70\n[ 2716.476035]  [\u003cffffffff810ab2bd\u003e] ? task_ctx_sched_out+0x3c/0x5f\n[ 2716.476035]  [\u003cffffffff810af02a\u003e] ? perf_event_exit_task+0xbf/0x194\n[ 2716.476035]  [\u003cffffffff81032a37\u003e] ? do_exit+0x3e7/0x90c\n[ 2716.476035]  [\u003cffffffff810cd5ab\u003e] ? __do_fault+0x359/0x394\n[ 2716.476035]  [\u003cffffffff81032fe6\u003e] ? do_group_exit+0x66/0x98\n[ 2716.476035]  [\u003cffffffff8103dbcd\u003e] ? get_signal_to_deliver+0x479/0x4ad\n[ 2716.476035]  [\u003cffffffff810ac05c\u003e] ? __perf_event_task_sched_out+0x230/0x2d1\n[ 2716.476035]  [\u003cffffffff8100205d\u003e] ? do_signal+0x3c/0x432\n[ 2716.476035]  [\u003cffffffff810abbf9\u003e] ? ctx_sched_in+0x43/0x141\n[ 2716.476035]  [\u003cffffffff810ac2ca\u003e] ? perf_event_context_sched_in+0x7a/0x90\n[ 2716.476035]  [\u003cffffffff810ac311\u003e] ? __perf_event_task_sched_in+0x31/0x118\n[ 2716.476035]  [\u003cffffffff81050dd9\u003e] ? mmdrop+0xd/0x1c\n[ 2716.476035]  [\u003cffffffff81051a39\u003e] ? finish_task_switch+0x7d/0xa6\n[ 2716.476035]  [\u003cffffffff81002473\u003e] ? do_notify_resume+0x20/0x5d\n[ 2716.476035]  [\u003cffffffff813654f5\u003e] ? retint_signal+0x3d/0x78\n[ 2716.476035] ---[ end trace 827178d8a5966c3d ]---\n\nReported-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1373384651-6109-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d018274f859ae2cfbe86646948b65a4edd0d335f",
      "tree": "fe9f668b148a0981ffccee200c9c6da59f86d288",
      "parents": [
        "39d2dd53da0ef0be782387f79fe6bfefc0808629"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 30 21:10:37 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:25:47 2013 -0700"
      },
      "message": "tracing: Use current_uid() for critical time tracing\n\ncommit f17a5194859a82afe4164e938b92035b86c55794 upstream.\n\nThe irqsoff tracer records the max time that interrupts are disabled.\nThere are hooks in the assembly code that calls back into the tracer when\ninterrupts are disabled or enabled.\n\nWhen they are enabled, the tracer checks if the amount of time they\nwere disabled is larger than the previous recorded max interrupts off\ntime. If it is, it creates a snapshot of the currently running trace\nto store where the last largest interrupts off time was held and how\nit happened.\n\nDuring testing, this RCU lockdep dump appeared:\n\n[ 1257.829021] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1257.829021] [ INFO: suspicious RCU usage. ]\n[ 1257.829021] 3.10.0-rc1-test+ #171 Tainted: G        W\n[ 1257.829021] -------------------------------\n[ 1257.829021] /home/rostedt/work/git/linux-trace.git/include/linux/rcupdate.h:780 rcu_read_lock() used illegally while idle!\n[ 1257.829021]\n[ 1257.829021] other info that might help us debug this:\n[ 1257.829021]\n[ 1257.829021]\n[ 1257.829021] RCU used illegally from idle CPU!\n[ 1257.829021] rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n[ 1257.829021] RCU used illegally from extended quiescent state!\n[ 1257.829021] 2 locks held by trace-cmd/4831:\n[ 1257.829021]  #0:  (max_trace_lock){......}, at: [\u003cffffffff810e2b77\u003e] stop_critical_timing+0x1a3/0x209\n[ 1257.829021]  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff810dae5a\u003e] __update_max_tr+0x88/0x1ee\n[ 1257.829021]\n[ 1257.829021] stack backtrace:\n[ 1257.829021] CPU: 3 PID: 4831 Comm: trace-cmd Tainted: G        W    3.10.0-rc1-test+ #171\n[ 1257.829021] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS SDBLI944.86P 05/08/2007\n[ 1257.829021]  0000000000000001 ffff880065f49da8 ffffffff8153dd2b ffff880065f49dd8\n[ 1257.829021]  ffffffff81092a00 ffff88006bd78680 ffff88007add7500 0000000000000003\n[ 1257.829021]  ffff88006bd78680 ffff880065f49e18 ffffffff810daebf ffffffff810dae5a\n[ 1257.829021] Call Trace:\n[ 1257.829021]  [\u003cffffffff8153dd2b\u003e] dump_stack+0x19/0x1b\n[ 1257.829021]  [\u003cffffffff81092a00\u003e] lockdep_rcu_suspicious+0x109/0x112\n[ 1257.829021]  [\u003cffffffff810daebf\u003e] __update_max_tr+0xed/0x1ee\n[ 1257.829021]  [\u003cffffffff810dae5a\u003e] ? __update_max_tr+0x88/0x1ee\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810dbf85\u003e] update_max_tr_single+0x11d/0x12d\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810e2b15\u003e] stop_critical_timing+0x141/0x209\n[ 1257.829021]  [\u003cffffffff8109569a\u003e] ? trace_hardirqs_on+0xd/0xf\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810e3057\u003e] time_hardirqs_on+0x2a/0x2f\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff8109550c\u003e] trace_hardirqs_on_caller+0x16/0x197\n[ 1257.829021]  [\u003cffffffff8109569a\u003e] trace_hardirqs_on+0xd/0xf\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810029b4\u003e] do_notify_resume+0x92/0x97\n[ 1257.829021]  [\u003cffffffff8154bdca\u003e] int_signal+0x12/0x17\n\nWhat happened was entering into the user code, the interrupts were enabled\nand a max interrupts off was recorded. The trace buffer was saved along with\nvarious information about the task: comm, pid, uid, priority, etc.\n\nThe uid is recorded with task_uid(tsk). But this is a macro that uses rcu_read_lock()\nto retrieve the data, and this happened to happen where RCU is blind (user_enter).\n\nAs only the preempt and irqs off tracers can have this happen, and they both\nonly have the tsk \u003d\u003d current, if tsk \u003d\u003d current, use current_uid() instead of\ntask_uid(), as current_uid() does not use RCU as only current can change its uid.\n\nThis fixes the RCU suspicious splat.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "60a0c1a6129d06f1f6bc71acd50c8d289484c7ea",
      "tree": "ce74c210c62dc509861027b92c1923e44c504f50",
      "parents": [
        "8899476bd4758c47c2e4e4b92bb64fb9177b0c28"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 01 22:14:10 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:25:44 2013 -0700"
      },
      "message": "tick: Prevent uncontrolled switch to oneshot mode\n\ncommit 1f73a9806bdd07a5106409bbcab3884078bd34fe upstream.\n\nWhen the system switches from periodic to oneshot mode, the broadcast\nlogic causes a possibility that a CPU which has not yet switched to\noneshot mode puts its own clock event device into oneshot mode without\nupdating the state and the timer handler.\n\nCPU0\t\t\t\tCPU1\n\t\t\t\tper cpu tickdev is in periodic mode\n\t\t\t\tand switched to broadcast\n\nSwitch to oneshot mode\n tick_broadcast_switch_to_oneshot()\n  cpumask_copy(tick_oneshot_broacast_mask,\n\t       tick_broadcast_mask);\n\n  broadcast device mode \u003d oneshot\n\n\t\t\t\tTimer interrupt\n\n\t\t\t\tirq_enter()\n\t\t\t\t tick_check_oneshot_broadcast()\n\t\t\t\t  dev-\u003eset_mode(ONESHOT);\n\n\t\t\t\ttick_handle_periodic()\n\t\t\t\t if (dev-\u003emode \u003d\u003d ONESHOT)\n\t\t\t\t   dev-\u003enext_event +\u003d period;\n\t\t\t\t   FAIL.\n\nWe fail, because dev-\u003enext_event contains KTIME_MAX, if the device was\nin periodic mode before the uncontrolled switch to oneshot happened.\n\nWe must copy the broadcast bits over to the oneshot mask, because\notherwise a CPU which relies on the broadcast would not been woken up\nanymore after the broadcast device switched to oneshot mode.\n\nSo we need to verify in tick_check_oneshot_broadcast() whether the CPU\nhas already switched to oneshot mode. If not, leave the device\nuntouched and let the CPU switch controlled into oneshot mode.\n\nThis is a long standing bug, which was never noticed, because the main\nuser of the broadcast x86 cannot run into that scenario, AFAICT. The\nnonarchitected timer mess of ARM creates a gazillion of differently\nbroken abominations which trigger the shortcomings of that broadcast\ncode, which better had never been necessary in the first place.\n\nReported-and-tested-by: Stehle Vincent-B46079 \u003cB46079@freescale.com\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e,\nCc: Mark Rutland \u003cmark.rutland@arm.com\u003e\nLink: http://lkml.kernel.org/r/alpine.DEB.2.02.1307012153060.4013@ionos.tec.linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f50301548260580f6d7c074a8d0aa2f15862b9d6",
      "tree": "cfd6c71d969d1fb671995986a47c4096fc47a364",
      "parents": [
        "1c9ce1e6c11777c95b974883be2f0313873d6f14",
        "a0b5b9b636fffbf6cc3af3460c13cb1b0fc1835e"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Jul 28 02:55:29 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Jul 28 02:55:29 2013 -0700"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/jb_2.6\u0027 into cm-10.2\n\nConflicts:\n\tdrivers/gpu/msm/adreno.c\n\tdrivers/gpu/msm/adreno.h\n\tdrivers/gpu/msm/adreno_a3xx.c\n\tdrivers/gpu/msm/kgsl.c\n\tdrivers/input/touchscreen/synaptics_fw_update.c\n\tdrivers/input/touchscreen/synaptics_i2c_rmi4.c\n\tdrivers/media/video/msm/gemini/msm_gemini_hw.c\n\tdrivers/media/video/msm/gemini/msm_gemini_hw.h\n\tdrivers/media/video/msm/gemini/msm_gemini_sync.c\n\tdrivers/media/video/msm/jpeg_10/msm_jpeg_hw.c\n\tdrivers/media/video/msm/jpeg_10/msm_jpeg_hw.h\n\tdrivers/media/video/msm/jpeg_10/msm_jpeg_sync.c\n\tdrivers/media/video/msm/mercury/msm_mercury_hw.c\n\tdrivers/media/video/msm/mercury/msm_mercury_hw.h\n\tdrivers/media/video/msm/mercury/msm_mercury_sync.c\n\tdrivers/media/video/msm/msm.c\n\tdrivers/media/video/msm/msm.h\n\tdrivers/media/video/msm/msm_mctl.c\n\tdrivers/media/video/msm/msm_mctl_buf.c\n\tdrivers/media/video/msm/msm_vfe32.h\n\tdrivers/media/video/msm/msm_vpe.c\n\tdrivers/media/video/msm/sensors/msm_sensor.c\n\tdrivers/media/video/msm/sensors/ov8825_v4l2.c\n\tdrivers/media/video/msm/sensors/ov9724_v4l2.c\n\tdrivers/media/video/msm/server/msm_cam_server.c\n\tdrivers/media/video/msm/vfe/msm_vfe32.c\n\tdrivers/media/video/msm/vfe/msm_vfe_stats_buf.c\n\tdrivers/tty/serial/msm_serial_hs.c\n\tdrivers/video/msm/hdmi_msm.c\n\tdrivers/video/msm/vidc/common/enc/venc.c\n\tinclude/linux/msm_vidc_enc.h\n\tinclude/linux/nl80211.h\n\tinclude/media/msm/vcd_property.h\n\tinclude/media/msm_camera.h\n\nChange-Id: I153f2e550f038e419bf43fd05892193853ae078e\n"
    },
    {
      "commit": "1c9ce1e6c11777c95b974883be2f0313873d6f14",
      "tree": "68b149cb9f9e7988fc0955239208d9ab104d7bb6",
      "parents": [
        "849520777e464fa051188d1118d43f21babb9dbe",
        "00709f7f01c3a10252f030f0bdacecbb349d7be4"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Mon Jul 22 22:10:20 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Mon Jul 22 22:10:20 2013 -0700"
      },
      "message": "Merge tag \u0027v3.4.11\u0027 into cm-10.1\n\nThis is the 3.4.11 stable release\n\nConflicts:\n\tarch/arm/vfp/vfpmodule.c\n\tnet/bluetooth/hci_event.c\n\tnet/bluetooth/l2cap_core.c\n\nChange-Id: I164bf611358e14afd3ff48e55a99c0d7c7afc45f\n"
    },
    {
      "commit": "8bc0447c9b77d06ae5692eeaddfb90f5e177a4ec",
      "tree": "80d0566c958a28973868f1bab0253b42bc314026",
      "parents": [
        "84ab2cd3fe27042f449880cb114878b24e70a941"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Tue Oct 11 15:38:32 2011 -0400"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Mon Jul 22 10:57:35 2013 -0700"
      },
      "message": "Do not ratelimit audit messages. We want to see them all.\n\nChange-Id: I19c29788cc33b0f59e0bdfe04fe67c247239c559\n"
    },
    {
      "commit": "7b1648b7dc2f1954a3492e5127a4b6a408814964",
      "tree": "db0999d2cdd59238bfcf1da4f34598b570061f26",
      "parents": [
        "9d57dc4b0be6fe82b22dc310724a79a728b48147"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bart.vanassche@gmail.com",
        "time": "Tue May 21 20:43:50 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 21 18:19:01 2013 -0700"
      },
      "message": "timer: Fix jiffies wrap behavior of round_jiffies_common()\n\ncommit 9e04d3804d3ac97d8c03a41d78d0f0674b5d01e1 upstream.\n\nDirect compare of jiffies related values does not work in the wrap\naround case. Replace it with time_is_after_jiffies().\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nLink: http://lkml.kernel.org/r/519BC066.5080600@acm.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f95bc0f79df33f63a1615d18c92abf829208e2a2",
      "tree": "a8d60e42979356fdc2569bd88394d87e5ebcd253",
      "parents": [
        "a8fc29c2b3c5c9116f441ce599d7f82acc0f9795"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Fri Jun 28 02:40:30 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 21 18:19:01 2013 -0700"
      },
      "message": "genirq: Fix can_request_irq() for IRQs without an action\n\ncommit 2779db8d37d4b542d9ca2575f5f178dbeaca6c86 upstream.\n\nCommit 02725e7471b8 (\u0027genirq: Use irq_get/put functions\u0027),\ninadvertently changed can_request_irq() to return 0 for IRQs that have\nno action.  This causes pcibios_lookup_irq() to select only IRQs that\nalready have an action with IRQF_SHARED set, or to fail if there are\nnone.  Change can_request_irq() to return 1 for IRQs that have no\naction (if the first two conditions are met).\n\nReported-by: Bjarni Ingi Gislason \u003cbjarniig@rhi.hi.is\u003e\nTested-by: Bjarni Ingi Gislason \u003cbjarniig@rhi.hi.is\u003e (against 3.2)\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: 709647@bugs.debian.org\nLink: http://bugs.debian.org/709647\nLink: http://lkml.kernel.org/r/1372383630.23847.40.camel@deadeye.wl.decadent.org.uk\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "6d96e9394365dfddf5d418d8178ce2a503448c29",
      "tree": "356dfe3055d85c2198b9351f5c8d3d410000a3ed",
      "parents": [
        "36c982c1c71b5bb35d06d46ffb82593bf8dbe8c7"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 11 14:04:48 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Jul 13 11:03:41 2013 -0700"
      },
      "message": "Revert \"sched: Add missing call to calc_load_exit_idle()\"\n\nThis reverts commit 48f0f14ffb6ff4852922994d11fbda418d40100e which was\ncommit 749c8814f08f12baa4a9c2812a7c6ede7d69507d upstream.\n\nIt seems to be misapplied, and not needed for 3.4-stable\n\nReported-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Charles Wang \u003cmuming.wq@taobao.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d436881608fc48963f6dd457bcc7927575ce3044",
      "tree": "29a3f6413f14ea0fc05da10796f460c7a605ae61",
      "parents": [
        "fb0720b84dc19f408e5988ad39a09ee589059b13",
        "8b2414d4e80786254c84d7ae7826750b38e4b150"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Sat Jul 06 04:13:37 2013 -0700"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Sat Jul 06 04:13:36 2013 -0700"
      },
      "message": "Merge \"net/ipv6/addrconf: IPv6 tethering enhancement\""
    },
    {
      "commit": "ed86b47b629a7c4ab5dbe57ae0f1200f105e40ae",
      "tree": "9fe80ab2b88e7eebbb39f82609c3efe57927f57b",
      "parents": [
        "437993e24018705e51a664ca8c855327fb2c2001"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 06 23:50:20 2013 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jul 04 13:16:56 2013 -0700"
      },
      "message": "sigtimedwait: use freezable blocking call\n\nAvoid waking up every thread sleeping in a sigtimedwait call during\nsuspend and resume by calling a freezable blocking call.  Previous\npatches modified the freezer to avoid sending wakeups to threads\nthat are blocked in freezable blocking calls.\n\nThis call was selected to be converted to a freezable call because\nit doesn\u0027t hold any locks or release any resources when interrupted\nthat might be needed by another freezing task or a kernel driver\nduring suspend, and is a common site where idle userspace tasks are\nblocked.\n\nChange-Id: Ic27469b60a67d50cdc0d0c78975951a99c25adcd\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "437993e24018705e51a664ca8c855327fb2c2001",
      "tree": "6501f5013ec615fefe7d3f002d886f6d13b2985c",
      "parents": [
        "943ea4a372e54bc0e94d30dae6fd90e4fd624d71"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 06 23:50:19 2013 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jul 04 13:16:47 2013 -0700"
      },
      "message": "nanosleep: use freezable blocking call\n\nAvoid waking up every thread sleeping in a nanosleep call during\nsuspend and resume by calling a freezable blocking call.  Previous\npatches modified the freezer to avoid sending wakeups to threads\nthat are blocked in freezable blocking calls.\n\nThis call was selected to be converted to a freezable call because\nit doesn\u0027t hold any locks or release any resources when interrupted\nthat might be needed by another freezing task or a kernel driver\nduring suspend, and is a common site where idle userspace tasks are\nblocked.\n\nChange-Id: I93383201d4dd62130cd9a9153842d303fc2e2986\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "943ea4a372e54bc0e94d30dae6fd90e4fd624d71",
      "tree": "af6077642482d7f27899c7310dabd5824227e711",
      "parents": [
        "93254c739085a8ce5baaec1ffa3bdae95dde13ee"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 06 23:50:18 2013 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jul 04 13:16:40 2013 -0700"
      },
      "message": "futex: use freezable blocking call\n\nAvoid waking up every thread sleeping in a futex_wait call during\nsuspend and resume by calling a freezable blocking call.  Previous\npatches modified the freezer to avoid sending wakeups to threads\nthat are blocked in freezable blocking calls.\n\nThis call was selected to be converted to a freezable call because\nit doesn\u0027t hold any locks or release any resources when interrupted\nthat might be needed by another freezing task or a kernel driver\nduring suspend, and is a common site where idle userspace tasks are\nblocked.\n\nChange-Id: I9ccab9c2d201adb66c85432801cdcf43fc91e94f\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "202605cd53c24ff85e14704aa1a9d550ed356c29",
      "tree": "5df00e3cd06bd5955f5a77f87e67ff4d27a9440c",
      "parents": [
        "f284f773a93962ff06b0347fc99a38c56c93b653"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 06 23:50:11 2013 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jul 04 13:15:41 2013 -0700"
      },
      "message": "freezer: skip waking up tasks with PF_FREEZER_SKIP set\n\nAndroid goes through suspend/resume very often (every few seconds when\non a busy wifi network with the screen off), and a significant portion\nof the energy used to go in and out of suspend is spent in the\nfreezer.  If a task has called freezer_do_not_count(), don\u0027t bother\nwaking it up.  If it happens to wake up later it will call\nfreezer_count() and immediately enter the refrigerator.\n\nCombined with patches to convert freezable helpers to use\nfreezer_do_not_count() and convert common sites where idle userspace\ntasks are blocked to use the freezable helpers, this reduces the\ntime and energy required to suspend and resume.\n\nChange-Id: I6ba019d24273619849af757a413271da3261d7db\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "f284f773a93962ff06b0347fc99a38c56c93b653",
      "tree": "fffbf48d37b306b6b6f4e77f1e45e36f432fe2fe",
      "parents": [
        "e7f8baba28c94a3c62a71c446893e25f19c2bb39"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 06 23:50:10 2013 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jul 04 13:15:32 2013 -0700"
      },
      "message": "freezer: shorten freezer sleep time using exponential backoff\n\nAll tasks can easily be frozen in under 10 ms, switch to using\nan initial 1 ms sleep followed by exponential backoff until\n8 ms.  Also convert the printed time to ms instead of centiseconds.\n\nChange-Id: I7b198b16eefb623c2b0fc45dce50d9bca320afdc\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n\nConflicts:\n\tkernel/power/process.c\n"
    },
    {
      "commit": "ffe773f5f54c43da13844fa7ed9e5e4b76f41026",
      "tree": "943c94687a3cb8f4ff309bcc0de972c28d122124",
      "parents": [
        "cf46c3d562eae55a84a366fcacc2e5750521ccf0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 06 23:50:08 2013 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jul 04 13:15:13 2013 -0700"
      },
      "message": "lockdep: remove task argument from debug_check_no_locks_held\n\nThe only existing caller to debug_check_no_locks_held calls it\nwith \u0027current\u0027 as the task, and the freezer needs to call\ndebug_check_no_locks_held but doesn\u0027t already have a current\ntask pointer, so remove the argument.  It is already assuming\nthat the current task is relevant by dumping the current stack\ntrace as part of the warning.\n\nThis was originally part of 6aa9707099c (lockdep: check that\nno locks held at freeze time) which was reverted in\ndbf520a9d7d4.\n\nChange-Id: Idbaf1332ce6c80dc49c1d31c324c7fbf210657c5\nOriginal-author: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "8d43d9559caacfa11c1d181eefd6a38ad60f2fdb",
      "tree": "44e8d024e28d7443978cbd837dd224621ee28a19",
      "parents": [
        "10d955a6d354885a21e4c42a244e58f39d35f46e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 15 13:10:04 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jul 04 13:05:59 2013 -0700"
      },
      "message": "HACK: ARM: disable sleeping while atomic warning in do_signal\n\nARM disables interrupts in do_signal, which triggers a warning in\ntry_to_freeze, see details at https://lkml.org/lkml/2011/8/23/221.\nTo prevent the warnings, add try_to_freeze_nowarn and call it from\ndo_signal.\n\nChange-Id: If7482de21c386adc705fa1ac4ecb8c7ece5bb356\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "703197b61d05f5edae54bad3256901c5a5c8794c",
      "tree": "68a7a7ea0fbf0348291f74075795fee86566b87c",
      "parents": [
        "535fad87e86d33ea41d4b8580fadf62f5865ae6b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 04 10:44:21 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jul 03 10:59:06 2013 -0700"
      },
      "message": "perf: Fix mmap() accounting hole\n\ncommit 9bb5d40cd93c9dd4be74834b1dcb1ba03629716b upstream.\n\nVince\u0027s fuzzer once again found holes. This time it spotted a leak in\nthe locked page accounting.\n\nWhen an event had redirected output and its close() was the last\nreference to the buffer we didn\u0027t have a vm context to undo accounting.\n\nChange the code to destroy the buffer on the last munmap() and detach\nall redirected events at that time. This provides us the right context\nto undo the vm accounting.\n\n[Backporting for 3.4-stable.\nVM_RESERVED flag was replaced with pair \u0027VM_DONTEXPAND | VM_DONTDUMP\u0027 in\n314e51b9 since 3.7.0-rc1, and 314e51b9 comes from a big patchset, we didn\u0027t\nbackport the patchset, so I restored \u0027VM_DNOTEXPAND | VM_DONTDUMP\u0027 as before:\n-\tvma-\u003evm_flags |\u003d VM_DONTCOPY | VM_DONTEXPAND | VM_DONTDUMP;\n+\tvma-\u003evm_flags |\u003d VM_DONTCOPY | VM_RESERVED;\n -- zliu]\n\nReported-and-tested-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20130604084421.GI8923@twins.programming.kicks-ass.net\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Zhouping Liu \u003czliu@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "535fad87e86d33ea41d4b8580fadf62f5865ae6b",
      "tree": "144c7d400374a57142d4e176c6f0ac34ba926028",
      "parents": [
        "5d2a2c717306c11672aef8ca6a1535ff78f57fa8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue May 28 10:55:48 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jul 03 10:59:06 2013 -0700"
      },
      "message": "perf: Fix perf mmap bugs\n\ncommit 26cb63ad11e04047a64309362674bcbbd6a6f246 upstream.\n\nVince reported a problem found by his perf specific trinity\nfuzzer.\n\nAl noticed 2 problems with perf\u0027s mmap():\n\n - it has issues against fork() since we use vma-\u003evm_mm for accounting.\n - it has an rb refcount leak on double mmap().\n\nWe fix the issues against fork() by using VM_DONTCOPY; I don\u0027t\nthink there\u0027s code out there that uses this; we didn\u0027t hear\nabout weird accounting problems/crashes. If we do need this to\nwork, the previously proposed VM_PINNED could make this work.\n\nAside from the rb reference leak spotted by Al, Vince\u0027s example\nprog was indeed doing a double mmap() through the use of\nperf_event_set_output().\n\nThis exposes another problem, since we now have 2 events with\none buffer, the accounting gets screwy because we account per\nevent. Fix this by making the buffer responsible for its own\naccounting.\n\n[Backporting for 3.4-stable.\nVM_RESERVED flag was replaced with pair \u0027VM_DONTEXPAND | VM_DONTDUMP\u0027 in\n314e51b9 since 3.7.0-rc1, and 314e51b9 comes from a big patchset, we didn\u0027t\nbackport the patchset, so I restored \u0027VM_DNOTEXPAND | VM_DONTDUMP\u0027 as before:\n-       vma-\u003evm_flags |\u003d VM_DONTCOPY | VM_DONTEXPAND | VM_DONTDUMP;\n+       vma-\u003evm_flags |\u003d VM_DONTCOPY | VM_RESERVED;\n -- zliu]\n\nReported-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/20130528085548.GA12193@twins.programming.kicks-ass.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Zhouping Liu \u003czliu@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ed0b72ac1e4361d9aaf2922adfba4a263cc37e03",
      "tree": "a650fbbca90c4af7fd3bc08ca549b6d08995b6bc",
      "parents": [
        "630493e2e96ab876b8085a3352e255d2f56be75c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 20 17:50:09 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jul 03 10:59:01 2013 -0700"
      },
      "message": "hw_breakpoint: Use cpu_possible_mask in {reserve,release}_bp_slot()\n\ncommit c790b0ad23f427c7522ffed264706238c57c007e upstream.\n\nfetch_bp_busy_slots() and toggle_bp_slot() use\nfor_each_online_cpu(), this is obviously wrong wrt cpu_up() or\ncpu_down(), we can over/under account the per-cpu numbers.\n\nFor example:\n\n\t# echo 0 \u003e\u003e /sys/devices/system/cpu/cpu1/online\n\t# perf record -e mem:0x10 -p 1 \u0026\n\t# echo 1 \u003e\u003e /sys/devices/system/cpu/cpu1/online\n\t# perf record -e mem:0x10,mem:0x10,mem:0x10,mem:0x10 -C1 -a \u0026\n\t# taskset -p 0x2 1\n\ntriggers the same WARN_ONCE(\"Can\u0027t find any breakpoint slot\") in\narch_install_hw_breakpoint().\n\nReported-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20130620155009.GA6327@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ffe88791581026131dc6a862811e5b98f8221706",
      "tree": "44366580a2bdb9616773cf683ed6b1655c9a7aa5",
      "parents": [
        "af90ba8dd05a628858002a6b262a6b03db1557c4"
      ],
      "author": {
        "name": "Tirupathi Reddy",
        "email": "tirupath@codeaurora.org",
        "time": "Tue Apr 23 20:25:55 2013 +0530"
      },
      "committer": {
        "name": "Sridhar Gujje",
        "email": "sgujje@codeaurora.org",
        "time": "Mon Jul 01 11:47:19 2013 +0530"
      },
      "message": "timer: Don\u0027t reinitialize the cpu base lock during CPU_UP_PREPARE\n\nAn inactive timer\u0027s base can refer to a offline cpu\u0027s base.\n\nIn the current code, cpu_base\u0027s lock is blindly reinitialized\neach time a CPU is brought up. If a CPU is brought online\nduring the period that another thread is trying to modify an\ninactive timer on that CPU with holding its timer base lock,\nthen the lock will be reinitialized under its feet. This leads\nto following SPIN_BUG().\n\n\u003c0\u003e BUG: spinlock already unlocked on CPU#3, kworker/u:3/1466\n\u003c0\u003e lock: 0xe3ebe000, .magic: dead4ead, .owner: kworker/u:3/1466,\n .owner_cpu: 1\n\u003c4\u003e [\u003cc0013dc4\u003e] (unwind_backtrace+0x0/0x11c) from [\u003cc026e794\u003e]\n(do_raw_spin_unlock+0x40/0xcc)\n\u003c4\u003e [\u003cc026e794\u003e] (do_raw_spin_unlock+0x40/0xcc) from [\u003cc076c160\u003e]\n(_raw_spin_unlock+0x8/0x30)\n\u003c4\u003e [\u003cc076c160\u003e] (_raw_spin_unlock+0x8/0x30) from [\u003cc009b858\u003e]\n(mod_timer+0x294/0x310)\n\u003c4\u003e [\u003cc009b858\u003e] (mod_timer+0x294/0x310) from [\u003cc00a5e04\u003e]\n(queue_delayed_work_on+0x104/0x120)\n\u003c4\u003e [\u003cc00a5e04\u003e] (queue_delayed_work_on+0x104/0x120) from [\u003cc04eae00\u003e]\n(sdhci_msm_bus_voting+0x88/0x9c)\n\u003c4\u003e [\u003cc04eae00\u003e] (sdhci_msm_bus_voting+0x88/0x9c) from [\u003cc04d8780\u003e]\n(sdhci_disable+0x40/0x48)\n\u003c4\u003e [\u003cc04d8780\u003e] (sdhci_disable+0x40/0x48) from [\u003cc04bf300\u003e]\n(mmc_release_host+0x4c/0xb0)\n\u003c4\u003e [\u003cc04bf300\u003e] (mmc_release_host+0x4c/0xb0) from [\u003cc04c7aac\u003e]\n(mmc_sd_detect+0x90/0xfc)\n\u003c4\u003e [\u003cc04c7aac\u003e] (mmc_sd_detect+0x90/0xfc) from [\u003cc04c2504\u003e]\n(mmc_rescan+0x7c/0x2c4)\n\u003c4\u003e [\u003cc04c2504\u003e] (mmc_rescan+0x7c/0x2c4) from [\u003cc00a6a7c\u003e]\n(process_one_work+0x27c/0x484)\n\u003c4\u003e [\u003cc00a6a7c\u003e] (process_one_work+0x27c/0x484) from [\u003cc00a6e94\u003e]\n(worker_thread+0x210/0x3b0)\n\u003c4\u003e [\u003cc00a6e94\u003e] (worker_thread+0x210/0x3b0) from [\u003cc00aad9c\u003e]\n(kthread+0x80/0x8c)\n\u003c4\u003e [\u003cc00aad9c\u003e] (kthread+0x80/0x8c) from [\u003cc000ea80\u003e]\n(kernel_thread_exit+0x0/0x8)\n\nAs an example, this particular crash occurred when CPU #3 is executing\nmod_timer() on an inactive timer whose base is refered to offlined CPU #2.\nThe code locked the timer_base corresponding to CPU #2. Before it could\nproceed, CPU #2 came online and reinitialized the spinlock corresponding\nto its base. Thus now CPU #3 held a lock which was reinitialized. When\nCPU #3 finally ended up unlocking the old cpu_base corresponding to CPU #2,\nwe hit the above SPIN_BUG().\n\nCPU #0\t\t\tCPU #3\t\t\t\t       CPU #2\n------\t\t\t-------\t\t\t\t       -------\n.....\t\t\t ......\t\t\t\t      \u003cOffline\u003e\n\t\t\tmod_timer()\n\t\t\t lock_timer_base\n\t\t\t  spin_lock_irqsave(\u0026base-\u003elock)\n\ncpu_up(2)\t\t .....\t\t\t\t        ......\n\t\t\t\t\t\t\t init_timers_cpu()\n.....\t\t \t spin_unlock_irqrestore(\u0026base-\u003elock)     ......\n\t\t\t   \u003cspin_bug\u003e\n\nAllocation of per_cpu timer vector bases is done only once under\n\"tvec_base_done[]\" check. In the current code, spinlock_initialization\nof base-\u003elock isn\u0027t under this check. When a CPU is up each time the base\nlock is reinitialized. Move base spinlock initialization under the check.\n\nCRs-Fixed: 471127\nChange-Id: I73b48440fffb227a60af9180e318c851048530dd\nSigned-off-by: Tirupathi Reddy \u003ctirupath@codeaurora.org\u003e\nSigned-off-by: Sridhar Gujje \u003csgujje@codeaurora.org\u003e\n"
    },
    {
      "commit": "8b2414d4e80786254c84d7ae7826750b38e4b150",
      "tree": "88c0c904c6497464d2ffdb227a05d952c54a95c9",
      "parents": [
        "47264b29620c1bd0aea291ac1bb93e3e956b41a6"
      ],
      "author": {
        "name": "Harout Hedeshian",
        "email": "harouth@codeaurora.org",
        "time": "Fri Dec 21 12:38:38 2012 -0800"
      },
      "committer": {
        "name": "Harout Hedeshian",
        "email": "harouth@codeaurora.org",
        "time": "Mon Jun 24 10:08:26 2013 -0600"
      },
      "message": "net/ipv6/addrconf: IPv6 tethering enhancement\n\nAdded new procfs flag to toggle the automatic addition of prefix\nroutes on a per device basis. The new flag is accept_ra_prefix_route.\nDefaults to 1 as to not break existing behavior.\n\nChange-Id: If25493890c7531c27f5b2c4855afebbbbf5d072a\nCRs-Fixed: 504095\nSigned-off-by: Harout Hedeshian \u003charouth@codeaurora.org\u003e\n"
    },
    {
      "commit": "fc1cbc74d5de169112578e4479d48408b222e325",
      "tree": "06735eb64dfd3b9610826f61c668ee1ec12c2e05",
      "parents": [
        "b3cba474228862814480d40554f77e98483f41ed"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Wed Jun 12 14:04:37 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 20 11:58:45 2013 -0700"
      },
      "message": "reboot: rigrate shutdown/reboot to boot cpu\n\ncommit cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db upstream.\n\nWe recently noticed that reboot of a 1024 cpu machine takes approx 16\nminutes of just stopping the cpus.  The slowdown was tracked to commit\nf96972f2dc63 (\"kernel/sys.c: call disable_nonboot_cpus() in\nkernel_restart()\").\n\nThe current implementation does all the work of hot removing the cpus\nbefore halting the system.  We are switching to just migrating to the\nboot cpu and then continuing with shutdown/reboot.\n\nThis also has the effect of not breaking x86\u0027s command line parameter\nfor specifying the reboot cpu.  Note, this code was shamelessly copied\nfrom arch/x86/kernel/reboot.c with bits removed pertaining to the\nreboot_cpu command line parameter.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nTested-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nCc: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Russ Anderson \u003crja@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b3cba474228862814480d40554f77e98483f41ed",
      "tree": "ac70cc8e20df21d9f64b27bd5f2318964b204cd1",
      "parents": [
        "91c930674642f4b849d64398db261ad13c3ab354"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Jun 12 14:04:36 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 20 11:58:44 2013 -0700"
      },
      "message": "CPU hotplug: provide a generic helper to disable/enable CPU hotplug\n\ncommit 16e53dbf10a2d7e228709a7286310e629ede5e45 upstream.\n\nThere are instances in the kernel where we would like to disable CPU\nhotplug (from sysfs) during some important operation.  Today the freezer\ncode depends on this and the code to do it was kinda tailor-made for\nthat.\n\nRestructure the code and make it generic enough to be useful for other\nusecases too.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Russ Anderson \u003crja@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: 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": "dde448d95d8698ee4c8373bb48fe08a22f41052f",
      "tree": "7fe87fa93bfa5b81e6f87b147e32512d2e8198e3",
      "parents": [
        "ac4f6190fae02a3dc30133f90488b996f726bf7a",
        "f95b978981a7d154ba40d14c18e8ed5c694e6124"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jun 20 11:32:42 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jun 20 11:32:42 2013 -0700"
      },
      "message": "Merge tag \u0027v3.4.10\u0027 into cm-10.1\n\nThis is the 3.4.10 stable release\n\nConflicts:\n\tarch/arm/mm/tlb-v7.S\n\tarch/arm/vfp/entry.S\n\tdrivers/base/power/main.c\n\tdrivers/mmc/host/sdhci.c\n\tdrivers/net/tun.c\n\tdrivers/usb/core/hub.c\n\tdrivers/usb/host/xhci.h\n\tinclude/linux/sched.h\n\tkernel/power/suspend.c\n\nChange-Id: Ia2477ec93ceb64b13dd1a2d8aa646cb233387d14\n"
    },
    {
      "commit": "ac4f6190fae02a3dc30133f90488b996f726bf7a",
      "tree": "3b9e814cdc0e25cd603604908f62d83a07000fe5",
      "parents": [
        "db499a9b9c662e30f253c7788e9fd2bd7a9a5f30",
        "8b638b3285550f970980dbf42541a2136d5be68b"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Wed Jun 19 12:47:21 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Wed Jun 19 12:47:21 2013 -0700"
      },
      "message": "Merge tag \u0027AU_LINUX_ANDROID_JB_2.5.04.02.02.040.375\u0027 into HEAD\n\nAU_LINUX_ANDROID_JB_2.5.04.02.02.040.375 based on quic/aosp/jb_2.5\n\nConflicts:\n\tdrivers/media/video/msm/jpeg_10/msm_jpeg_hw.c\n\tdrivers/media/video/msm/jpeg_10/msm_jpeg_hw.h\n\tdrivers/media/video/msm/mercury/msm_mercury_hw.c\n\tdrivers/media/video/msm/mercury/msm_mercury_hw.h\n\tdrivers/media/video/msm/msm.c\n\tdrivers/media/video/msm/msm_mctl.c\n\tdrivers/media/video/msm/sensors/msm_sensor.c\n\tdrivers/media/video/msm/sensors/ov8825_v4l2.c\n\tdrivers/media/video/msm/sensors/ov9724_v4l2.c\n\tdrivers/media/video/msm/vfe/msm_vfe_stats_buf.c\n\nChange-Id: Idd386f9f72ab4ce12039c4af12bc456b2f34c489\n"
    },
    {
      "commit": "bc4d36c41f16a66c320fd0282110ddc82aa1eb09",
      "tree": "4d15ef32790902916c0b92b33b299dfeb2834b5d",
      "parents": [
        "3a22cc7f184b77731816e55662cd12f0c3d24d56"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 07 17:02:08 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 13 09:45:03 2013 -0700"
      },
      "message": "ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section\n\ncommit 7f49ef69db6bbf756c0abca7e9b65b32e999eec8 upstream.\n\nAs ftrace_filter_lseek is now used with ftrace_pid_fops, it needs to\nbe moved out of the #ifdef CONFIG_DYNAMIC_FTRACE section as the\nftrace_pid_fops is defined when DYNAMIC_FTRACE is not.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\n[ lizf: adjust context ]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3a22cc7f184b77731816e55662cd12f0c3d24d56",
      "tree": "ce3612a4ea2ec1ed53d5c98a24b88aa80067129c",
      "parents": [
        "ce840e2f7825bfd240782dc209c2f2b8db514287"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Fri Jun 07 17:01:16 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 13 09:45:03 2013 -0700"
      },
      "message": "tracing: Fix possible NULL pointer dereferences\n\ncommit 6a76f8c0ab19f215af2a3442870eeb5f0e81998d upstream.\n\nCurrently set_ftrace_pid and set_graph_function files use seq_lseek\nfor their fops.  However seq_open() is called only for FMODE_READ in\nthe fops-\u003eopen() so that if an user tries to seek one of those file\nwhen she open it for writing, it sees NULL seq_file and then panic.\n\nIt can be easily reproduced with following command:\n\n  $ cd /sys/kernel/debug/tracing\n  $ echo 1234 | sudo tee -a set_ftrace_pid\n\nIn this example, GNU coreutils\u0027 tee opens the file with fopen(, \"a\")\nand then the fopen() internally calls lseek().\n\nLink:\nhttp://lkml.kernel.org/r/1365663302-2170-1-git-send-email-namhyung@kernel.org\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ lizf: adjust context ]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "92f4f8b04bab322e120c12deb2cb3988b585492f",
      "tree": "56fc3657ad2d407523f3fc5e79949cdbab63ef5f",
      "parents": [
        "a2602b1ab5bd6471015f92ddc5af58d3f46b8aa8"
      ],
      "author": {
        "name": "Tommi Rantala",
        "email": "tt.rantala@gmail.com",
        "time": "Wed Jun 12 17:13:44 2013 +0200"
      },
      "committer": {
        "name": "Matt Mower",
        "email": "mowerm@gmail.com",
        "time": "Wed Jun 12 11:22:31 2013 -0500"
      },
      "message": "perf: Treat attr.config as u64 in perf_swevent_init()\n\nTrinity discovered that we fail to check all 64 bits of attr.config passed by user space,\nresulting to out-of-bounds access of the perf_swevent_enabled array in\nsw_perf_event_destroy().\n\nIntroduced in commit b0a873ebb (\"perf: Register PMU\nimplementations\").\n\nChange-Id: Iec11d1969dc5d42754eab620cde6959fba2cba32\nSigned-off-by: Tommi Rantala \u003ctt.rantala@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/1365882554-30259-1-git-send-email-tt.rantala@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "12bc403e965834d97d72c3d2b7502b6d3f3de770",
      "tree": "5b3f7df5c6d47ba296f17d2c1591eb4452502fd4",
      "parents": [
        "6ee26e24ad545e6e388fbfb3d62c9c792bb6480d"
      ],
      "author": {
        "name": "Tirupathi Reddy",
        "email": "tirupath@codeaurora.org",
        "time": "Tue Apr 23 20:25:55 2013 +0530"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Thu Jun 06 03:13:46 2013 -0700"
      },
      "message": "timer: Don\u0027t reinitialize the cpu base lock during CPU_UP_PREPARE\n\nAn inactive timer\u0027s base can refer to a offline cpu\u0027s base.\n\nIn the current code, cpu_base\u0027s lock is blindly reinitialized\neach time a CPU is brought up. If a CPU is brought online\nduring the period that another thread is trying to modify an\ninactive timer on that CPU with holding its timer base lock,\nthen the lock will be reinitialized under its feet. This leads\nto following SPIN_BUG().\n\n\u003c0\u003e BUG: spinlock already unlocked on CPU#3, kworker/u:3/1466\n\u003c0\u003e lock: 0xe3ebe000, .magic: dead4ead, .owner: kworker/u:3/1466,\n .owner_cpu: 1\n\u003c4\u003e [\u003cc0013dc4\u003e] (unwind_backtrace+0x0/0x11c) from [\u003cc026e794\u003e]\n(do_raw_spin_unlock+0x40/0xcc)\n\u003c4\u003e [\u003cc026e794\u003e] (do_raw_spin_unlock+0x40/0xcc) from [\u003cc076c160\u003e]\n(_raw_spin_unlock+0x8/0x30)\n\u003c4\u003e [\u003cc076c160\u003e] (_raw_spin_unlock+0x8/0x30) from [\u003cc009b858\u003e]\n(mod_timer+0x294/0x310)\n\u003c4\u003e [\u003cc009b858\u003e] (mod_timer+0x294/0x310) from [\u003cc00a5e04\u003e]\n(queue_delayed_work_on+0x104/0x120)\n\u003c4\u003e [\u003cc00a5e04\u003e] (queue_delayed_work_on+0x104/0x120) from [\u003cc04eae00\u003e]\n(sdhci_msm_bus_voting+0x88/0x9c)\n\u003c4\u003e [\u003cc04eae00\u003e] (sdhci_msm_bus_voting+0x88/0x9c) from [\u003cc04d8780\u003e]\n(sdhci_disable+0x40/0x48)\n\u003c4\u003e [\u003cc04d8780\u003e] (sdhci_disable+0x40/0x48) from [\u003cc04bf300\u003e]\n(mmc_release_host+0x4c/0xb0)\n\u003c4\u003e [\u003cc04bf300\u003e] (mmc_release_host+0x4c/0xb0) from [\u003cc04c7aac\u003e]\n(mmc_sd_detect+0x90/0xfc)\n\u003c4\u003e [\u003cc04c7aac\u003e] (mmc_sd_detect+0x90/0xfc) from [\u003cc04c2504\u003e]\n(mmc_rescan+0x7c/0x2c4)\n\u003c4\u003e [\u003cc04c2504\u003e] (mmc_rescan+0x7c/0x2c4) from [\u003cc00a6a7c\u003e]\n(process_one_work+0x27c/0x484)\n\u003c4\u003e [\u003cc00a6a7c\u003e] (process_one_work+0x27c/0x484) from [\u003cc00a6e94\u003e]\n(worker_thread+0x210/0x3b0)\n\u003c4\u003e [\u003cc00a6e94\u003e] (worker_thread+0x210/0x3b0) from [\u003cc00aad9c\u003e]\n(kthread+0x80/0x8c)\n\u003c4\u003e [\u003cc00aad9c\u003e] (kthread+0x80/0x8c) from [\u003cc000ea80\u003e]\n(kernel_thread_exit+0x0/0x8)\n\nAs an example, this particular crash occurred when CPU #3 is executing\nmod_timer() on an inactive timer whose base is refered to offlined CPU #2.\nThe code locked the timer_base corresponding to CPU #2. Before it could\nproceed, CPU #2 came online and reinitialized the spinlock corresponding\nto its base. Thus now CPU #3 held a lock which was reinitialized. When\nCPU #3 finally ended up unlocking the old cpu_base corresponding to CPU #2,\nwe hit the above SPIN_BUG().\n\nCPU #0\t\t\tCPU #3\t\t\t\t       CPU #2\n------\t\t\t-------\t\t\t\t       -------\n.....\t\t\t ......\t\t\t\t      \u003cOffline\u003e\n\t\t\tmod_timer()\n\t\t\t lock_timer_base\n\t\t\t  spin_lock_irqsave(\u0026base-\u003elock)\n\ncpu_up(2)\t\t .....\t\t\t\t        ......\n\t\t\t\t\t\t\t init_timers_cpu()\n.....\t\t \t spin_unlock_irqrestore(\u0026base-\u003elock)     ......\n\t\t\t   \u003cspin_bug\u003e\n\nAllocation of per_cpu timer vector bases is done only once under\n\"tvec_base_done[]\" check. In the current code, spinlock_initialization\nof base-\u003elock isn\u0027t under this check. When a CPU is up each time the base\nlock is reinitialized. Move base spinlock initialization under the check.\n\nCRs-Fixed: 471127\nChange-Id: I73b48440fffb227a60af9180e318c851048530dd\nSigned-off-by: Tirupathi Reddy \u003ctirupath@codeaurora.org\u003e\n"
    },
    {
      "commit": "53b4378e4f77b7ab6565d6d40559bd5eb1b34629",
      "tree": "148210911b9a3072f9c3bc72b464606481e76bbd",
      "parents": [
        "b58f2e1650eafddfdfcff2f4831bf2896f8c9bf6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu May 16 17:43:55 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:50 2013 -0700"
      },
      "message": "usermodehelper: check subprocess_info-\u003epath !\u003d NULL\n\ncommit 264b83c07a84223f0efd0d1db9ccc66d6f88288f upstream.\n\nargv_split(empty_or_all_spaces) happily succeeds, it simply returns\nargc \u003d\u003d 0 and argv[0] \u003d\u003d NULL. Change call_usermodehelper_exec() to\ncheck sub_info-\u003epath !\u003d NULL to avoid the crash.\n\nThis is the minimal fix, todo:\n\n - perhaps we should change argv_split() to return NULL or change the\n   callers.\n\n - kill or justify -\u003epath[0] check\n\n - narrow the scope of helper_lock()\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-By: Lucas De Marchi \u003clucas.demarchi@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "cba998b9b3799a5d6861a969d7b7d9b4f4f181f6",
      "tree": "2fe75a00c6475f4e284dae7a737d0ab5f0f0e84d",
      "parents": [
        "33b7cfcb34b4ae37cde7a8a1c97c9be27677e931"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 14 15:40:48 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:40 2013 -0700"
      },
      "message": "tracing: Fix leaks of filter preds\n\ncommit 60705c89460fdc7227f2d153b68b3f34814738a4 upstream.\n\nSpecial preds are created when folding a series of preds that\ncan be done in serial. These are allocated in an ops field of\nthe pred structure. But they were never freed, causing memory\nleaks.\n\nThis was discovered using the kmemleak checker:\n\nunreferenced object 0xffff8800797fd5e0 (size 32):\n  comm \"swapper/0\", pid 1, jiffies 4294690605 (age 104.608s)\n  hex dump (first 32 bytes):\n    00 00 01 00 03 00 05 00 07 00 09 00 0b 00 0d 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cffffffff814b52af\u003e] kmemleak_alloc+0x73/0x98\n    [\u003cffffffff8111ff84\u003e] kmemleak_alloc_recursive.constprop.42+0x16/0x18\n    [\u003cffffffff81120e68\u003e] __kmalloc+0xd7/0x125\n    [\u003cffffffff810d47eb\u003e] kcalloc.constprop.24+0x2d/0x2f\n    [\u003cffffffff810d4896\u003e] fold_pred_tree_cb+0xa9/0xf4\n    [\u003cffffffff810d3781\u003e] walk_pred_tree+0x47/0xcc\n    [\u003cffffffff810d5030\u003e] replace_preds.isra.20+0x6f8/0x72f\n    [\u003cffffffff810d50b5\u003e] create_filter+0x4e/0x8b\n    [\u003cffffffff81b1c30d\u003e] ftrace_test_event_filter+0x5a/0x155\n    [\u003cffffffff8100028d\u003e] do_one_initcall+0xa0/0x137\n    [\u003cffffffff81afbedf\u003e] kernel_init_freeable+0x14d/0x1dc\n    [\u003cffffffff814b24b7\u003e] kernel_init+0xe/0xdb\n    [\u003cffffffff814d539c\u003e] ret_from_fork+0x7c/0xb0\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "33b7cfcb34b4ae37cde7a8a1c97c9be27677e931",
      "tree": "79d2091b2bcdfe3fda377633dc0322d0ce903781",
      "parents": [
        "ed032fd4d81041e4002fc55ff1832ee588f103da"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 03 15:02:50 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:40 2013 -0700"
      },
      "message": "tick: Cleanup NOHZ per cpu data on cpu down\n\ncommit 4b0c0f294f60abcdd20994a8341a95c8ac5eeb96 upstream.\n\nPrarit reported a crash on CPU offline/online. The reason is that on\nCPU down the NOHZ related per cpu data of the dead cpu is not cleaned\nup. If at cpu online an interrupt happens before the per cpu tick\ndevice is registered the irq_enter() check potentially sees stale data\nand dereferences a NULL pointer.\n\nCleanup the data after the cpu is dead.\n\nReported-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Mike Galbraith \u003cbitbucket@online.de\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1305031451561.2886@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ed032fd4d81041e4002fc55ff1832ee588f103da",
      "tree": "7c7b9a9a90ea7bd6fb41e03de122b36b3a787e33",
      "parents": [
        "ad86524f948c1914dbd5bc460a5c6fd131ec054a"
      ],
      "author": {
        "name": "Tirupathi Reddy",
        "email": "tirupath@codeaurora.org",
        "time": "Tue May 14 13:59:02 2013 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:39 2013 -0700"
      },
      "message": "timer: Don\u0027t reinitialize the cpu base lock during CPU_UP_PREPARE\n\ncommit 42a5cf46cd56f46267d2a9fcf2655f4078cd3042 upstream.\n\nAn inactive timer\u0027s base can refer to a offline cpu\u0027s base.\n\nIn the current code, cpu_base\u0027s lock is blindly reinitialized each\ntime a CPU is brought up. If a CPU is brought online during the period\nthat another thread is trying to modify an inactive timer on that CPU\nwith holding its timer base lock, then the lock will be reinitialized\nunder its feet. This leads to following SPIN_BUG().\n\n\u003c0\u003e BUG: spinlock already unlocked on CPU#3, kworker/u:3/1466\n\u003c0\u003e lock: 0xe3ebe000, .magic: dead4ead, .owner: kworker/u:3/1466, .owner_cpu: 1\n\u003c4\u003e [\u003cc0013dc4\u003e] (unwind_backtrace+0x0/0x11c) from [\u003cc026e794\u003e] (do_raw_spin_unlock+0x40/0xcc)\n\u003c4\u003e [\u003cc026e794\u003e] (do_raw_spin_unlock+0x40/0xcc) from [\u003cc076c160\u003e] (_raw_spin_unlock+0x8/0x30)\n\u003c4\u003e [\u003cc076c160\u003e] (_raw_spin_unlock+0x8/0x30) from [\u003cc009b858\u003e] (mod_timer+0x294/0x310)\n\u003c4\u003e [\u003cc009b858\u003e] (mod_timer+0x294/0x310) from [\u003cc00a5e04\u003e] (queue_delayed_work_on+0x104/0x120)\n\u003c4\u003e [\u003cc00a5e04\u003e] (queue_delayed_work_on+0x104/0x120) from [\u003cc04eae00\u003e] (sdhci_msm_bus_voting+0x88/0x9c)\n\u003c4\u003e [\u003cc04eae00\u003e] (sdhci_msm_bus_voting+0x88/0x9c) from [\u003cc04d8780\u003e] (sdhci_disable+0x40/0x48)\n\u003c4\u003e [\u003cc04d8780\u003e] (sdhci_disable+0x40/0x48) from [\u003cc04bf300\u003e] (mmc_release_host+0x4c/0xb0)\n\u003c4\u003e [\u003cc04bf300\u003e] (mmc_release_host+0x4c/0xb0) from [\u003cc04c7aac\u003e] (mmc_sd_detect+0x90/0xfc)\n\u003c4\u003e [\u003cc04c7aac\u003e] (mmc_sd_detect+0x90/0xfc) from [\u003cc04c2504\u003e] (mmc_rescan+0x7c/0x2c4)\n\u003c4\u003e [\u003cc04c2504\u003e] (mmc_rescan+0x7c/0x2c4) from [\u003cc00a6a7c\u003e] (process_one_work+0x27c/0x484)\n\u003c4\u003e [\u003cc00a6a7c\u003e] (process_one_work+0x27c/0x484) from [\u003cc00a6e94\u003e] (worker_thread+0x210/0x3b0)\n\u003c4\u003e [\u003cc00a6e94\u003e] (worker_thread+0x210/0x3b0) from [\u003cc00aad9c\u003e] (kthread+0x80/0x8c)\n\u003c4\u003e [\u003cc00aad9c\u003e] (kthread+0x80/0x8c) from [\u003cc000ea80\u003e] (kernel_thread_exit+0x0/0x8)\n\nAs an example, this particular crash occurred when CPU #3 is executing\nmod_timer() on an inactive timer whose base is refered to offlined CPU\n#2.  The code locked the timer_base corresponding to CPU #2. Before it\ncould proceed, CPU #2 came online and reinitialized the spinlock\ncorresponding to its base. Thus now CPU #3 held a lock which was\nreinitialized. When CPU #3 finally ended up unlocking the old cpu_base\ncorresponding to CPU #2, we hit the above SPIN_BUG().\n\nCPU #0\t\tCPU #3\t\t\t\t       CPU #2\n------\t\t-------\t\t\t\t       -------\n.....\t\t ......\t\t\t\t      \u003cOffline\u003e\n\t\tmod_timer()\n\t\t lock_timer_base\n\t\t   spin_lock_irqsave(\u0026base-\u003elock)\n\ncpu_up(2)\t .....\t\t\t\t        ......\n\t\t\t\t\t\t\tinit_timers_cpu()\n....\t\t .....\t\t\t\t    \tspin_lock_init(\u0026base-\u003elock)\n.....\t\t   spin_unlock_irqrestore(\u0026base-\u003elock)  ......\n\t\t   \u003cspin_bug\u003e\n\nAllocation of per_cpu timer vector bases is done only once under\n\"tvec_base_done[]\" check. In the current code, spinlock_initialization\nof base-\u003elock isn\u0027t under this check. When a CPU is up each time the\nbase lock is reinitialized. Move base spinlock initialization under\nthe check.\n\nSigned-off-by: Tirupathi Reddy \u003ctirupath@codeaurora.org\u003e\nLink: http://lkml.kernel.org/r/1368520142-4136-1-git-send-email-tirupath@codeaurora.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "e4727b26cd5c972a1688e23c877538ccdd5513be",
      "tree": "f600a5c94337ab2ab5c08c0fa6fccc2dfe9c2537",
      "parents": [
        "dcf3dfc3242fffb483a84dede9b3759a9b488c94"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Mon Apr 29 15:05:19 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat May 11 13:48:14 2013 -0700"
      },
      "message": "kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees()\n\ncommit 12b2f117f3bf738c1a00a6f64393f1953a740bd4 upstream.\n\naudit_trim_trees() calls get_tree().  If a failure occurs we must call\nput_tree().\n\n[akpm@linux-foundation.org: run put_tree() before mutex_lock() for small scalability improvement]\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@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: Jonghwan Choi \u003cjhbird.choi@samsung.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    }
  ],
  "next": "dcf3dfc3242fffb483a84dede9b3759a9b488c94"
}
