)]}'
{
  "log": [
    {
      "commit": "e06ffa1ede4146cbc261d90f5dff3d63fe2e9d7a",
      "tree": "3d8a7bccc95926aeb08c1b03e1ea8cffe722d38c",
      "parents": [
        "fde7d9049e55ab85a390be7f415d74c9f62dd0f9"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 09 18:03:20 2012 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Mar 12 09:21:17 2012 -0700"
      },
      "message": "workqueue: use percpu allocator for cwq on UP\n\nI notice that the commit bbddff makes percpu allocator can work on UP,\nSo we don\u0027t need the magic way for UP.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "4293f20c19f44ca66e5ac836b411d25e14b9f185",
      "tree": "4f9ab09ca1f775907af2a78ebb8754b945570d39",
      "parents": [
        "dac12d1f5ef228e132c2457dc214e0703533b016"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 07 08:21:19 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 07 08:21:19 2012 -0800"
      },
      "message": "Revert \"CPU hotplug, cpusets, suspend: Don\u0027t touch cpusets during suspend/resume\"\n\nThis reverts commit 8f2f748b0656257153bcf0941df8d6060acc5ca6.\n\nIt causes some odd regression that we have not figured out, and it\u0027s too\nlate in the -rc series to try to figure it out now.\n\nAs reported by Konstantin Khlebnikov, it causes consistent hangs on his\nlaptop (Thinkpad x220: 2x cores + HT).  They can be avoided by adding\ncalls to \"rebuild_sched_domains();\" in cpuset_cpu_[in]active() for the\nCPU_{ONLINE/DOWN_FAILED/DOWN_PREPARE}_FROZEN cases, but it\u0027s not at all\nclear why, and it makes no sense.\n\nKonstantin\u0027s config doesn\u0027t even have CONFIG_CPUSETS enabled, just to\nmake things even more interesting.  So it\u0027s not the cpusets, it\u0027s just\nthe scheduling domains.\n\nSo until this is understood, revert.\n\nBisected-reported-and-tested-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52abb700e16a9aa4cbc03f3d7f80206cbbc80680",
      "tree": "f396df08518ff22039d2c4da153cba029f01ecd2",
      "parents": [
        "ce8fea7aa4ad9e3b40999a08622ef27c77159659"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 06 23:18:54 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 06 16:46:39 2012 -0800"
      },
      "message": "genirq: Clear action-\u003ethread_mask if IRQ_ONESHOT is not set\n\nXommit ac5637611(genirq: Unmask oneshot irqs when thread was not woken)\nfails to unmask when a !IRQ_ONESHOT threaded handler is handled by\nhandle_level_irq.\n\nThis happens because thread_mask is or\u0027ed unconditionally in\nirq_wake_thread(), but for !IRQ_ONESHOT interrupts never cleared.  So\nthe check for !desc-\u003ethread_active fails and keeps the interrupt\ndisabled.\n\nKeep the thread_mask zero for !IRQ_ONESHOT interrupts.\n\nDocument the thread_mask magic while at it.\n\nReported-and-tested-by: Sven Joachim \u003csvenjoac@gmx.de\u003e\nReported-and-tested-by: Stefan Lippers-Hollmann \u003cs.l-h@gmx.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6027ce497d44dd8eae1a9215789df178f6b422cc",
      "tree": "5844f0d3899a7a3214cb1145b3d9a8f9660dd7c7",
      "parents": [
        "6e27f63edbd7ab893258e16500171dd1270a1369"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 05 14:59:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "hung_task: fix the broken rcu_lock_break() logic\n\ncheck_hung_uninterruptible_tasks()-\u003ercu_lock_break() introduced by\n\"softlockup: check all tasks in hung_task\" commit ce9dbe24 looks\nabsolutely wrong.\n\n\t- rcu_lock_break() does put_task_struct(). If the task has exited\n\t  it is not safe to even read its -\u003estate, nothing protects this\n\t  task_struct.\n\n\t- The TASK_DEAD checks are wrong too. Contrary to the comment, we\n\t  can\u0027t use it to check if the task was unhashed. It can be unhashed\n\t  without TASK_DEAD, or it can be valid with TASK_DEAD.\n\n\t  For example, an autoreaping task can do release_task(current)\n\t  long before it sets TASK_DEAD in do_exit().\n\n\t  Or, a zombie task can have -\u003estate \u003d\u003d TASK_DEAD but release_task()\n\t  was not called, and in this case we must not break the loop.\n\nChange this code to check pid_alive() instead, and do this before we drop\nthe reference to the task_struct.\n\nNote: while_each_thread() under rcu_read_lock() is not really safe, it can\nlivelock.  This will be fixed later, but fortunately in this case the\n\"max_count\" logic saves us anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Mandeep Singh Baines \u003cmsb@google.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e27f63edbd7ab893258e16500171dd1270a1369",
      "tree": "9c61b7c0dda37052e2285e90f914f8af5ed86f67",
      "parents": [
        "57b59c4a1400fa6c34764eab2e35a8762dc05a09"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 05 14:59:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "vfork: kill PF_STARTING\n\nPreviously it was (ab)used by utrace.  Then it was wrongly used by the\nscheduler code.\n\nCurrently it is not used, kill it before it finds the new erroneous user.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57b59c4a1400fa6c34764eab2e35a8762dc05a09",
      "tree": "e50e6a6f9f7fcd897856e5cdaca3d3caa18377d6",
      "parents": [
        "d68b46fe16ad59b3a5f51ec73daaa5dc06753798"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 05 14:59:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "coredump_wait: don\u0027t call complete_vfork_done()\n\nNow that CLONE_VFORK is killable, coredump_wait() no longer needs\ncomplete_vfork_done().  zap_threads() should find and kill all tasks with\nthe same -\u003emm, this includes our parent if -\u003evfork_done is set.\n\nmm_release() becomes the only caller, unexport complete_vfork_done().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d68b46fe16ad59b3a5f51ec73daaa5dc06753798",
      "tree": "4bae9ddc5f5bed853d1f0936d05c30e4f7ca924d",
      "parents": [
        "c415c3b47ea2754659d915cca387a20999044163"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 05 14:59:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "vfork: make it killable\n\nMake vfork() killable.\n\nChange do_fork(CLONE_VFORK) to do wait_for_completion_killable().  If it\nfails we do not return to the user-mode and never touch the memory shared\nwith our child.\n\nHowever, in this case we should clear child-\u003evfork_done before return, we\nuse task_lock() in do_fork()-\u003ewait_for_vfork_done() and\ncomplete_vfork_done() to serialize with each other.\n\nNote: now that we use task_lock() we don\u0027t really need completion, we\ncould turn task-\u003evfork_done into \"task_struct *wake_up_me\" but this needs\nsome complications.\n\nNOTE: this and the next patches do not affect in-kernel users of\nCLONE_VFORK, kernel threads run with all signals ignored including\nSIGKILL/SIGSTOP.\n\nHowever this is obviously the user-visible change.  Not only a fatal\nsignal can kill the vforking parent, a sub-thread can do execve or\nexit_group() and kill the thread sleeping in vfork().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c415c3b47ea2754659d915cca387a20999044163",
      "tree": "c2cb1134f139702e06ade8aecbeff70be7ea727c",
      "parents": [
        "880641bb9da2473e9ecf6c708d993b29928c1b3c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 05 14:59:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "vfork: introduce complete_vfork_done()\n\nNo functional changes.\n\nMove the clear-and-complete-vfork_done code into the new trivial helper,\ncomplete_vfork_done().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f986a499ef6f317d906e6f6f281be966e1237a10",
      "tree": "88ceafe9a214907bd25e8a8ffd8990fd5bd2b40e",
      "parents": [
        "c22ab332902333f83766017478c1ef6607ace681"
      ],
      "author": {
        "name": "Prashanth Nageshappa",
        "email": "prashanth@linux.vnet.ibm.com",
        "time": "Mon Mar 05 14:59:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "kprobes: return proper error code from register_kprobe()\n\nregister_kprobe() aborts if the address of the new request falls in a\nprohibited area (such as ftrace pouch, __kprobes annotated functions,\nnon-kernel text addresses, jump label text).  We however don\u0027t return the\nright error on this abort, resulting in a silent failure - incorrect\nadding/reporting of kprobes (\u0027perf probe do_fork+18\u0027 or \u0027perf probe\nmcount\u0027 for instance).\n\nIn V2 we are incorporating Masami Hiramatsu\u0027s  feedback.\n\nThis patch fixes it by returning -EINVAL upon failure.\n\nWhile we are here, rename the label used for exit to be more appropriate.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Prashanth K Nageshappa \u003cprashanth@linux.vnet.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c22ab332902333f83766017478c1ef6607ace681",
      "tree": "20b7f296327cf1fd9349b7c99fdb11be1f4ff750",
      "parents": [
        "550cf00dbc8ee402bef71628cb71246493dd4500"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Mar 05 14:59:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "kmsg_dump: don\u0027t run on non-error paths by default\n\nSince commit 04c6862c055f (\"kmsg_dump: add kmsg_dump() calls to the\nreboot, halt, poweroff and emergency_restart paths\"), kmsg_dump() gets\nrun on normal paths including poweroff and reboot.\n\nThis is less than ideal given pstore implementations that can only\nrepresent single backtraces, since a reboot may overwrite a stored oops\nbefore it\u0027s been picked up by userspace.  In addition, some pstore\nbackends may have low performance and provide a significant delay in\nreboot as a result.\n\nThis patch adds a printk.always_kmsg_dump kernel parameter (which can also\nbe changed from userspace).  Without it, the code will only be run on\nfailure paths rather than on normal paths.  The option can be enabled in\nenvironments where there\u0027s a desire to attempt to audit whether or not a\nreboot was cleanly requested or not.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nCc: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nCc: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2273d5ccb882106a74c7b780a6bfa16fb210cd24",
      "tree": "229eaadb05940e8209cac36b0d8b0b4281d0bf08",
      "parents": [
        "5189fa19a4b2b4c3bec37c3a019d446148827717",
        "847854f5988a04fe7e02d2fdd4fa0df9f96360fe",
        "5d85d97c9f6973ba854f35a2d5e80fe68272143e",
        "8f2f748b0656257153bcf0941df8d6060acc5ca6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 02 11:38:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 02 11:38:43 2012 -0800"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPulling latest branches from Ingo:\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  memblock: Fix size aligning of memblock_alloc_base_nid()\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf probe: Ensure offset provided is not greater than function length without DWARF info too\n  perf tools: Ensure comm string is properly terminated\n  perf probe: Ensure offset provided is not greater than function length\n  perf evlist: Return first evsel for non-sample event on old kernel\n  perf/hwbp: Fix a possible memory leak\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  CPU hotplug, cpusets, suspend: Don\u0027t touch cpusets during suspend/resume\n"
    },
    {
      "commit": "30ce2f7eef095d1b8d070740f1948629814fe3c7",
      "tree": "8fc423281dc55f09463e20c279f5b4200ad9e383",
      "parents": [
        "5ffca28a4ac7abb8a254fafe6bd03b2f83667df7"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Tue Feb 28 10:19:38 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 09:52:54 2012 +0100"
      },
      "message": "perf/hwbp: Fix a possible memory leak\n\nIf kzalloc() for TYPE_DATA failed on a given cpu, previous chunk\nof TYPE_INST will be leaked. Fix it.\n\nThanks to Peter Zijlstra for suggesting this better solution. It\nshould work as long as the initial value of the region is all\n0\u0027s and that\u0027s the case of static (per-cpu) memory allocation.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/1330391978-28070-1-git-send-email-namhyung.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70ca00db106297af0dbb88df9cc837d98cdc0c15",
      "tree": "919f8157fa71b8f922f8692fdcd7a997077ac264",
      "parents": [
        "faf3502a3fed9951ea9f5a696c0bd2c1d056d7b4",
        "8c79a045fd590a26e81e75f5d8d4ec5c7d23e565"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 27 07:55:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 27 07:55:39 2012 -0800"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/events: Revert trace_sched_stat_sleeptime()\n"
    },
    {
      "commit": "faf3502a3fed9951ea9f5a696c0bd2c1d056d7b4",
      "tree": "05bc5d6ea9601d0b4f491b328eba5ccf1186a463",
      "parents": [
        "048cd4e51d24ebf7f3552226d03c769d6ad91658",
        "b4bc724e82e80478cba5fe9825b62e71ddf78757"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 27 07:54:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 27 07:54:57 2012 -0800"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Handle pending irqs in irq_startup()\n  genirq: Unmask oneshot irqs when thread was not woken\n"
    },
    {
      "commit": "8f2f748b0656257153bcf0941df8d6060acc5ca6",
      "tree": "960e37a40212b88dd25be216addf7381c87c84fe",
      "parents": [
        "8c79a045fd590a26e81e75f5d8d4ec5c7d23e565"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Feb 23 15:27:15 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 27 11:38:13 2012 +0100"
      },
      "message": "CPU hotplug, cpusets, suspend: Don\u0027t touch cpusets during suspend/resume\n\nCurrently, during CPU hotplug, the cpuset callbacks modify the cpusets\nto reflect the state of the system, and this handling is asymmetric.\nThat is, upon CPU offline, that CPU is removed from all cpusets. However\nwhen it comes back online, it is put back only to the root cpuset.\n\nThis gives rise to a significant problem during suspend/resume. During\nsuspend, we offline all non-boot cpus and during resume we online them back.\nWhich means, after a resume, all cpusets (except the root cpuset) will be\nrestricted to just one single CPU (the boot cpu). But the whole point of\nsuspend/resume is to restore the system to a state which is as close as\npossible to how it was before suspend.\n\nSo to fix this, don\u0027t touch cpusets during suspend/resume. That is, modify\nthe cpuset-related CPU hotplug callback to just ignore CPU hotplug when it\nis initiated as part of the suspend/resume sequence.\n\nReported-by: Prashanth Nageshappa \u003cprashanth@linux.vnet.ibm.com\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/4F460D7B.1020703@linux.vnet.ibm.com\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d80e731ecab420ddcb79ee9d0ac427acbc187b4b",
      "tree": "e96a660b75b5bee8ae2c315878ec917b9c0da446",
      "parents": [
        "855a85f704026d5fe7de94fb1b765fe03404507f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Feb 24 20:07:11 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 24 11:42:50 2012 -0800"
      },
      "message": "epoll: introduce POLLFREE to flush -\u003esignalfd_wqh before kfree()\n\nThis patch is intentionally incomplete to simplify the review.\nIt ignores ep_unregister_pollwait() which plays with the same wqh.\nSee the next change.\n\nepoll assumes that the EPOLL_CTL_ADD\u0027ed file controls everything\nf_op-\u003epoll() needs. In particular it assumes that the wait queue\ncan\u0027t go away until eventpoll_release(). This is not true in case\nof signalfd, the task which does EPOLL_CTL_ADD uses its -\u003esighand\nwhich is not connected to the file.\n\nThis patch adds the special event, POLLFREE, currently only for\nepoll. It expects that init_poll_funcptr()\u0027ed hook should do the\nnecessary cleanup. Perhaps it should be defined as EPOLLFREE in\neventpoll.\n\n__cleanup_sighand() is changed to do wake_up_poll(POLLFREE) if\n-\u003esignalfd_wqh is not empty, we add the new signalfd_cleanup()\nhelper.\n\nep_poll_callback(POLLFREE) simply does list_del_init(task_list).\nThis make this poll entry inconsistent, but we don\u0027t care. If you\nshare epoll fd which contains our sigfd with another process you\nshould blame yourself. signalfd is \"really special\". I simply do\nnot know how we can define the \"right\" semantics if it used with\nepoll.\n\nThe main problem is, epoll calls signalfd_poll() once to establish\nthe connection with the wait queue, after that signalfd_poll(NULL)\nreturns the different/inconsistent results depending on who does\nEPOLL_CTL_MOD/signalfd_read/etc. IOW: apart from sigmask, signalfd\nhas nothing to do with the file, it works with the current thread.\n\nIn short: this patch is the hack which tries to fix the symptoms.\nIt also assumes that nobody can take tasklist_lock under epoll\nlocks, this seems to be true.\n\nNote:\n\n\t- we do not have wake_up_all_poll() but wake_up_poll()\n\t  is fine, poll/epoll doesn\u0027t use WQ_FLAG_EXCLUSIVE.\n\n\t- signalfd_cleanup() uses POLLHUP along with POLLFREE,\n\t  we need a couple of simple changes in eventpoll.c to\n\t  make sure it can\u0027t be \"lost\".\n\nReported-by: Maxime Bizon \u003cmbizon@freebox.fr\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c79a045fd590a26e81e75f5d8d4ec5c7d23e565",
      "tree": "8123849709e37dc2394373ad40cf333b2f19ebb5",
      "parents": [
        "719741d9986572d64b47c35c09f5e7bb8d389400"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 30 14:51:37 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 12:06:55 2012 +0100"
      },
      "message": "sched/events: Revert trace_sched_stat_sleeptime()\n\nCommit 1ac9bc69 (\"sched/tracing: Add a new tracepoint for sleeptime\")\nadded a new sched:sched_stat_sleeptime tracepoint.\n\nIt\u0027s broken: the first sample we get on a task might be bad because\nof a stale sleep_start value that wasn\u0027t reset at the last task switch\nbecause the tracepoint was not active.\n\nIt also breaks the existing schedstat samples due to the side\neffects of:\n\n-               se-\u003estatistics.sleep_start \u003d 0;\n...\n-               se-\u003estatistics.block_start \u003d 0;\n\nNor do I see means to fix it without adding overhead to the scheduler\nfast path, which I\u0027m not willing to for the sake of redundant\ninstrumentation.\n\nMost importantly, sleep time information can already be constructed\nby tracing context switches and wakeups, and taking the timestamp\ndifference between the schedule-out, the wakeup and the schedule-in.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-pc4c9qhl8q6vg3bs4j6k0rbd@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ebbfb49574818f07a25bc119b1bbdf1c2853a39",
      "tree": "e7b1ea6c6a3ea522654c685f2f0c9f41466fdcf9",
      "parents": [
        "39e255dab5a993cbebb35598015da1d4a0eb3727",
        "847c9db5cb50841589b8ebd3da0769b1b02fb3b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 20 16:13:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 20 16:13:58 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nAssorted fixes, sat in -next for a week or so...\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  ocfs2: deal with wraparounds of i_nlink in ocfs2_rename()\n  vfs: fix compat_sys_stat() handling of overflows in st_nlink\n  quota: Fix deadlock with suspend and quotas\n  vfs: Provide function to get superblock and wait for it to thaw\n  vfs: fix panic in __d_lookup() with high dentry hashtable counts\n  autofs4 - fix lockdep splat in autofs\n  vfs: fix d_inode_lookup() dentry ref leak\n"
    },
    {
      "commit": "b4bc724e82e80478cba5fe9825b62e71ddf78757",
      "tree": "81f2ba0bcbb1ac50837c1c0e5ae8b606e22d47da",
      "parents": [
        "ac5637611150281f398bb7a47e3fcb69a09e7803"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 08 11:57:52 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 15 11:56:59 2012 +0100"
      },
      "message": "genirq: Handle pending irqs in irq_startup()\n\nAn interrupt might be pending when irq_startup() is called, but the\nstartup code does not invoke the resend logic. In some cases this\nprevents the device from issuing another interrupt which renders the\ndevice non functional.\n\nCall the resend function in irq_startup() to keep things going.\n\nReported-and-tested-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ac5637611150281f398bb7a47e3fcb69a09e7803",
      "tree": "b23a336c4409ad3cf00f211f0c709c8c757d9fd3",
      "parents": [
        "7ada1dd62804ca9ce1cb8666c6e563cd92fa50c1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 07 17:58:03 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 15 11:56:59 2012 +0100"
      },
      "message": "genirq: Unmask oneshot irqs when thread was not woken\n\nWhen the primary handler of an interrupt which is marked IRQ_ONESHOT\nreturns IRQ_HANDLED or IRQ_NONE, then the interrupt thread is not\nwoken and the unmask logic of the interrupt line is never\ninvoked. This keeps the interrupt masked forever.\n\nThis was not noticed as most IRQ_ONESHOT users wake the thread\nunconditionally (usually because they cannot access the underlying\ndevice from hard interrupt context). Though this behaviour was nowhere\ndocumented and not necessarily intentional. Some drivers can avoid the\nthread wakeup in certain cases and run into the situation where the\ninterrupt line s kept masked.\n\nHandle it gracefully.\n\nReported-and-tested-by: Lothar Wassmann \u003clw@karo-electronics.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "074b85175a43a23fdbde60f55feea636e0bf0f85",
      "tree": "e6f6fdd82854b2bf25ea5b404cee010806a8fced",
      "parents": [
        "1d6f2097865e64963e90cce04980dce2f9fc023f"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Wed Feb 08 12:39:07 2012 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Feb 13 20:45:38 2012 -0500"
      },
      "message": "vfs: fix panic in __d_lookup() with high dentry hashtable counts\n\nWhen the number of dentry cache hash table entries gets too high\n(2147483648 entries), as happens by default on a 16TB system, use of a\nsigned integer in the dcache_init() initialization loop prevents the\ndentry_hashtable from getting initialized, causing a panic in\n__d_lookup().  Fix this in dcache_init() and similar areas.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e3f89f4ae4ea0227d49ff1cc1276ef04b2749ed2",
      "tree": "d75824dea7ee72a4b384f246f84dbf9aabab8a4b",
      "parents": [
        "3b582f393150c72b18339bc00d7ed4fb22445ed1",
        "0d86f65ed0b727daa06d3aa176314cd175323db6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 16:59:53 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 16:59:53 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux\n\n* tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux:\n  module: fix broken isapnp handling in file2alias\n  module: make module param bint handle nul value\n"
    },
    {
      "commit": "10f296cbfe3b93188c41463fd7a53808ebdbcbe3",
      "tree": "aac97957a1759a160b5e8d0dd9b4ba59c6e7d2e0",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Dave Young",
        "email": "dyoung@redhat.com",
        "time": "Wed Feb 01 10:33:11 2012 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Feb 14 11:02:15 2012 +1030"
      },
      "message": "module: make module param bint handle nul value\n\nAllow bint param accept nul values, just do same as bool param.\n\nSigned-off-by: Dave Young \u003cdyoung@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3ec1e88b33a3bdd852ce8e014052acec7a9da8b5",
      "tree": "4270f8f0de4e28f090cba6d6e4047aae939d6463",
      "parents": [
        "8df54d622a120058ee8bec38743c9b8f091c8e58",
        "d8c66c5d59247e25a69428aced0b79d33b9c66d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 11 10:07:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 11 10:07:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nSays Jens:\n\n \"Time to push off some of the pending items.  I really wanted to wait\n  until we had the regression nailed, but alas it\u0027s not quite there yet.\n  But I\u0027m very confident that it\u0027s \"just\" a missing expire on exit, so\n  fix from Tejun should be fairly trivial.  I\u0027m headed out for a week on\n  the slopes.\n\n  - Killing the barrier part of mtip32xx.  It doesn\u0027t really support\n    barriers, and it doesn\u0027t need them (writes are fully ordered).\n\n  - A few fixes from Dan Carpenter, preventing overflows of integer\n    multiplication.\n\n  - A fixup for loop, fixing a previous commit that didn\u0027t quite solve\n    the partial read problem from Dave Young.\n\n  - A bio integer overflow fix from Kent Overstreet.\n\n  - Improvement/fix of the door \"keep locked\" part of the cdrom shared\n    code from Paolo Benzini.\n\n  - A few cfq fixes from Shaohua Li.\n\n  - A fix for bsg sysfs warning when removing a file it did not create\n    from Stanislaw Gruszka.\n\n  - Two fixes for floppy from Vivek, preventing a crash.\n\n  - A few block core fixes from Tejun.  One killing the over-optimized\n    ioc exit path, cleaning that up nicely.  Two others fixing an oops\n    on elevator switch, due to calling into the scheduler merge check\n    code without holding the queue lock.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix lockdep warning on io_context release put_io_context()\n  relay: prevent integer overflow in relay_open()\n  loop: zero fill bio instead of return -EIO for partial read\n  bio: don\u0027t overflow in bio_get_nr_vecs()\n  floppy: Fix a crash during rmmod\n  floppy: Cleanup disk-\u003equeue before caling put_disk() if add_disk() was never called\n  cdrom: move shared static to cdrom_device_info\n  bsg: fix sysfs link remove warning\n  block: don\u0027t call elevator callbacks for plug merges\n  block: separate out blk_rq_merge_ok() and blk_try_merge() from elevator functions\n  mtip32xx: removed the irrelevant argument of mtip_hw_submit_io() and the unused member of struct driver_data\n  block: strip out locking optimization in put_io_context()\n  cdrom: use copy_to_user() without the underscores\n  block: fix ioc locking warning\n  block: fix NULL icq_cache reference\n  block,cfq: change code order\n"
    },
    {
      "commit": "ce2814f227d3adae8456f7cbd0bd5f922fd284f0",
      "tree": "351a35a80fb62307ea48bc1b74f687d309dbb31a",
      "parents": [
        "1282ab3f8f7bca1d3a7fb701fbe4f0f772e72ea0",
        "f39d47ff819ed52a2afbdbecbe35f23f7755f58d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 10 09:05:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 10 09:05:07 2012 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Fix double start/stop in x86_pmu_start()\n  perf evsel: Fix an issue where perf report fails to show the proper percentage\n  perf tools: Fix prefix matching for kernel maps\n  perf tools: Fix perf stack to non executable on x86_64\n  perf: Remove deprecated WARN_ON_ONCE()\n"
    },
    {
      "commit": "f6302f1bcd75a042df69866d98b8d775a668f8f1",
      "tree": "06319873d688c602ef353120f94f63c3da85dfd1",
      "parents": [
        "306df0716aa285d378cc948fafed53c6ed895fe6"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Feb 10 09:03:58 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Feb 10 09:04:49 2012 +0100"
      },
      "message": "relay: prevent integer overflow in relay_open()\n\n\"subbuf_size\" and \"n_subbufs\" come from the user and they need to be\ncapped to prevent an integer overflow.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "f39d47ff819ed52a2afbdbecbe35f23f7755f58d",
      "tree": "6fcd6c2b9f6e7416da43065d866bd40d68bb9bc4",
      "parents": [
        "136e0b8eabb2913b589fc7fbd418f4d6805dbb56"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Feb 07 14:39:57 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 07 16:58:56 2012 +0100"
      },
      "message": "perf: Fix double start/stop in x86_pmu_start()\n\nThe following patch fixes a bug introduced by the following\ncommit:\n\n        e050e3f0a71b (\"perf: Fix broken interrupt rate throttling\")\n\nThe patch caused the following warning to pop up depending on\nthe sampling frequency adjustments:\n\n  ------------[ cut here ]------------\n  WARNING: at arch/x86/kernel/cpu/perf_event.c:995 x86_pmu_start+0x79/0xd4()\n\nIt was caused by the following call sequence:\n\nperf_adjust_freq_unthr_context.part() {\n     stop()\n     if (delta \u003e 0) {\n          perf_adjust_period() {\n              if (period \u003e 8*...) {\n                  stop()\n                  ...\n                  start()\n              }\n          }\n      }\n      start()\n}\n\nWhich caused a double start and a double stop, thus triggering\nthe assert in x86_pmu_start().\n\nThe patch fixes the problem by avoiding the double calls. We\npass a new argument to perf_adjust_period() to indicate whether\nor not the event is already stopped. We can\u0027t just remove the\nstart/stop from that function because it\u0027s called from\n__perf_event_overflow where the event needs to be reloaded via a\nstop/start back-toback call.\n\nThe patch reintroduces the assertion in x86_pmu_start() which\nwas removed by commit:\n\n\t84f2b9b (\"perf: Remove deprecated WARN_ON_ONCE()\")\n\nIn this second version, we\u0027ve added calls to disable/enable PMU\nduring unthrottling or frequency adjustment based on bug report\nof spurious NMI interrupts from Eric Dumazet.\n\nReported-and-tested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: markus@trippelsdorf.de\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/20120207133956.GA4932@quad\n[ Minor edits to the changelog and to the code ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "11a3122f6cf2d988a77eb8883d0fc49cd013a6d5",
      "tree": "ded8ea8a2982754ff0c58448a7ed2e59487104cb",
      "parents": [
        "822bfa51ce44f2c63c300fdb76dc99c4d5a5ca9f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 07 07:51:30 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Feb 07 07:51:30 2012 +0100"
      },
      "message": "block: strip out locking optimization in put_io_context()\n\nput_io_context() performed a complex trylock dancing to avoid\ndeferring ioc release to workqueue.  It was also broken on UP because\ntrylock was always assumed to succeed which resulted in unbalanced\npreemption count.\n\nWhile there are ways to fix the UP breakage, even the most\npathological microbench (forced ioc allocation and tight fork/exit\nloop) fails to show any appreciable performance benefit of the\noptimization.  Strip it out.  If there turns out to be workloads which\nare affected by this change, simpler optimization from the discussion\nthread can be applied later.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c1328514611.21268.66.camel@sli10-conroe\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "23783f817bceedd6d4e549385e3f400ea64059e5",
      "tree": "db770bd3d7b9264e0f5ed614d9c570d729caf8de",
      "parents": [
        "d9142025f55973149a854c97e860fff61ed05b37",
        "d020283dc694c9ec31b410f522252f7a8397e67d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 15:21:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 15:21:39 2012 -0800"
      },
      "message": "Merge tag \u0027pm-fixes-for-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPower management fixes for 3.3-rc3\n\nThree power management regression fixes, one for a recent regression introcuded\nby the freezer changes during the 3.3 merge window and two for regressions\nin cpuidle (resulting from PM QoS changes) and in the hibernate user space\ninterface, both introduced during the 3.2 development cycle.\n\nThey include:\n\n* Two hibernate (s2disk) regression fixes from Srivatsa S. Bhat (for\n regressions introduced during the 3.3 merge window and during the 3.2\n development cycle).\n\n* A cpuidle fix from Venki Pallipadi for a regression resulting from PM QoS\n changes during the 3.2 development cycle causing cpuidle to work incorrectly\n for CONFIG_PM unset.\n\n* tag \u0027pm-fixes-for-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / QoS: CPU C-state breakage with PM Qos change\n  PM / Freezer: Thaw only kernel threads if freezing of kernel threads fails\n  PM / Hibernate: Thaw kernel threads in SNAPSHOT_CREATE_IMAGE ioctl path\n"
    },
    {
      "commit": "379e0be812ab8a2a351e784b0c987788f5123090",
      "tree": "70f1e7ac57e198d0a94a89a65933da9a2ca35ccc",
      "parents": [
        "fe9161db2e6053da21e4649d77bbefaf3030b11d"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Feb 03 22:22:41 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 04 22:23:05 2012 +0100"
      },
      "message": "PM / Freezer: Thaw only kernel threads if freezing of kernel threads fails\n\nIf freezing of kernel threads fails, we are expected to automatically\nthaw tasks in the error recovery path. However, at times, we encounter\nsituations in which we would like the automatic error recovery path\nto thaw only the kernel threads, because we want to be able to do\nsome more cleanup before we thaw userspace. Something like:\n\nerror \u003d freeze_kernel_threads();\nif (error) {\n\t/* Do some cleanup */\n\n\t/* Only then thaw userspace tasks*/\n\tthaw_processes();\n}\n\nAn example of such a situation is where we freeze/thaw filesystems\nduring suspend/hibernation. There, if freezing of kernel threads\nfails, we would like to thaw the frozen filesystems before thawing\nthe userspace tasks.\n\nSo, modify freeze_kernel_threads() to thaw only kernel threads in\ncase of freezing failure. And change suspend_freeze_processes()\naccordingly. (At the same time, let us also get rid of the rather\ncryptic usage of the conditional operator (:?) in that function.)\n\n[rjw: In fact, this patch fixes a regression introduced during the\n 3.3 merge window, because without it thaw_processes() may be called\n before swsusp_free() in some situations and that may lead to massive\n memory allocation failures.]\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "55ca6140e9bb307efc97a9301a4f501de02a6fd6",
      "tree": "f0cc42df52d35a0c7d3bd2a074219eaf4a84e6a7",
      "parents": [
        "cbcb8346054073d000ecac324763372d6abd44ac"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Fri Feb 03 15:37:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 03 16:16:41 2012 -0800"
      },
      "message": "kprobes: fix a memory leak in function pre_handler_kretprobe()\n\nIn function pre_handler_kretprobe(), the allocated kretprobe_instance\nobject will get leaked if the entry_handler callback returns non-zero.\nThis may cause all the preallocated kretprobe_instance objects exhausted.\n\nThis issue can be reproduced by changing\nsamples/kprobes/kretprobe_example.c to probe \"mutex_unlock\".  And the fix\nis straightforward: just put the allocated kretprobe_instance object back\nonto the free_instances list.\n\n[akpm@linux-foundation.org: use raw_spin_lock/unlock]\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nAcked-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8cdb878dcb359fd1137e9abdee9322f5e9bcfdf8",
      "tree": "146afc01f3c1d7cbc944328484d077032bc53bfd",
      "parents": [
        "24b36da33c64368775f4ef9386d44dce1d2bc8cf"
      ],
      "author": {
        "name": "Christopher Yeoh",
        "email": "cyeoh@au1.ibm.com",
        "time": "Thu Feb 02 11:34:09 2012 +1030"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 12:55:17 2012 -0800"
      },
      "message": "Fix race in process_vm_rw_core\n\nThis fixes the race in process_vm_core found by Oleg (see\n\n  http://article.gmane.org/gmane.linux.kernel/1235667/\n\nfor details).\n\nThis has been updated since I last sent it as the creation of the new\nmm_access() function did almost exactly the same thing as parts of the\nprevious version of this patch did.\n\nIn order to use mm_access() even when /proc isn\u0027t enabled, we move it to\nkernel/fork.c where other related process mm access functions already\nare.\n\nSigned-off-by: Chris Yeoh \u003cyeohc@au1.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f2fde927243bde5fd106da692efef34be12f81c",
      "tree": "28e69ca8fa227b1ba53e3bf4ddd42340499e7fe7",
      "parents": [
        "bd3ce7d57c380af110c86d19e256115d0e7053ca",
        "b0f4c4b32c8e3aa0d44fc4dd6c40a9a9a8d66b63",
        "45179fec946dd554f74e950d2278dabd5ad23fd3",
        "cb297a3e433dbdcf7ad81e0564e7b804c941ff0d",
        "e6d36a653becc7bbc643c399a77882e02bf552cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 11:11:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 11:11:13 2012 -0800"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027, \u0027sched-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  bugs, x86: Fix printk levels for panic, softlockups and stack dumps\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf top: Fix number of samples displayed\n  perf tools: Fix strlen() bug in perf_event__synthesize_event_type()\n  perf tools: Fix broken build by defining _GNU_SOURCE in Makefile\n  x86/dumpstack: Remove unneeded check in dump_trace()\n  perf: Fix broken interrupt rate throttling\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/rt: Fix task stack corruption under __ARCH_WANT_INTERRUPTS_ON_CTXSW\n  sched: Fix ancient race in do_exit()\n  sched/nohz: Fix nohz cpu idle load balancing state with cpu hotplug\n  sched/s390: Fix compile error in sched/core.c\n  sched: Fix rq-\u003enr_uninterruptible update race\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/reboot: Remove VersaLogic Menlow reboot quirk\n  x86/reboot: Skip DMI checks if reboot set by user\n  x86: Properly parenthesize cmpxchg() macro arguments\n"
    },
    {
      "commit": "fe9161db2e6053da21e4649d77bbefaf3030b11d",
      "tree": "3f875f40201455571280eef7a0c9fdc3c98e346e",
      "parents": [
        "62aa2b537c6f5957afd98e29f96897419ed5ebab"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Feb 01 22:16:36 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 01 22:16:36 2012 +0100"
      },
      "message": "PM / Hibernate: Thaw kernel threads in SNAPSHOT_CREATE_IMAGE ioctl path\n\nIn the SNAPSHOT_CREATE_IMAGE ioctl, if the call to hibernation_snapshot()\nfails, the frozen tasks are not thawed.\n\nAnd in the case of success, if we happen to exit due to a successful freezer\ntest, all tasks (including those of userspace) are thawed, whereas actually\nwe should have thawed only the kernel threads at that point. Fix both these\nissues.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "181e9bdef37bfcaa41f3ab6c948a2a0d60a268b5",
      "tree": "66e69f83b63e8517a47e0eb0e7ae730d8a9a109b",
      "parents": [
        "0a9626575400879d1d5e6bc8768188b938d7c501"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:35:52 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:35:52 2012 +0100"
      },
      "message": "PM / Hibernate: Fix s2disk regression related to freezing workqueues\n\nCommit 2aede851ddf08666f68ffc17be446420e9d2a056\n\n  PM / Hibernate: Freeze kernel threads after preallocating memory\n\nintroduced a mechanism by which kernel threads were frozen after\nthe preallocation of hibernate image memory to avoid problems with\nfrozen kernel threads not responding to memory freeing requests.\nHowever, it overlooked the s2disk code path in which the\nSNAPSHOT_CREATE_IMAGE ioctl was run directly after SNAPSHOT_FREE,\nwhich caused freeze_workqueues_begin() to BUG(), because it saw\nthat worqueues had been already frozen.\n\nAlthough in principle this issue might be addressed by removing\nthe relevant BUG_ON() from freeze_workqueues_begin(), that would\nreintroduce the very problem that commit 2aede851ddf08666f68ffc17be4\nattempted to avoid into that particular code path.  For this reason,\nto fix the issue at hand, introduce thaw_kernel_threads() and make\nthe SNAPSHOT_FREE ioctl execute it.\n\nSpecial thanks to Srivatsa S. Bhat for detailed analysis of the\nproblem.\n\nReported-and-tested-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "cb297a3e433dbdcf7ad81e0564e7b804c941ff0d",
      "tree": "1b6dde74b50fa074e7eec8bd6ef5adacff9b6ce1",
      "parents": [
        "b5740f4b2cb3503b436925eb2242bc3d75cd3dfe"
      ],
      "author": {
        "name": "Chanho Min",
        "email": "chanho0207@gmail.com",
        "time": "Thu Jan 05 20:00:19 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 12:49:41 2012 +0100"
      },
      "message": "sched/rt: Fix task stack corruption under __ARCH_WANT_INTERRUPTS_ON_CTXSW\n\nThis issue happens under the following conditions:\n\n 1. preemption is off\n 2. __ARCH_WANT_INTERRUPTS_ON_CTXSW is defined\n 3. RT scheduling class\n 4. SMP system\n\nSequence is as follows:\n\n 1.suppose current task is A. start schedule()\n 2.task A is enqueued pushable task at the entry of schedule()\n   __schedule\n    prev \u003d rq-\u003ecurr;\n    ...\n    put_prev_task\n     put_prev_task_rt\n      enqueue_pushable_task\n 4.pick the task B as next task.\n   next \u003d pick_next_task(rq);\n 3.rq-\u003ecurr set to task B and context_switch is started.\n   rq-\u003ecurr \u003d next;\n 4.At the entry of context_swtich, release this cpu\u0027s rq-\u003elock.\n   context_switch\n    prepare_task_switch\n     prepare_lock_switch\n      raw_spin_unlock_irq(\u0026rq-\u003elock);\n 5.Shortly after rq-\u003elock is released, interrupt is occurred and start IRQ context\n 6.try_to_wake_up() which called by ISR acquires rq-\u003elock\n    try_to_wake_up\n     ttwu_remote\n      rq \u003d __task_rq_lock(p)\n      ttwu_do_wakeup(rq, p, wake_flags);\n        task_woken_rt\n 7.push_rt_task picks the task A which is enqueued before.\n   task_woken_rt\n    push_rt_tasks(rq)\n     next_task \u003d pick_next_pushable_task(rq)\n 8.At find_lock_lowest_rq(), If double_lock_balance() returns 0,\n   lowest_rq can be the remote rq.\n  (But,If preemption is on, double_lock_balance always return 1 and it\n   does\u0027t happen.)\n   push_rt_task\n    find_lock_lowest_rq\n     if (double_lock_balance(rq, lowest_rq))..\n 9.find_lock_lowest_rq return the available rq. task A is migrated to\n   the remote cpu/rq.\n   push_rt_task\n    ...\n    deactivate_task(rq, next_task, 0);\n    set_task_cpu(next_task, lowest_rq-\u003ecpu);\n    activate_task(lowest_rq, next_task, 0);\n 10. But, task A is on irq context at this cpu.\n     So, task A is scheduled by two cpus at the same time until restore from IRQ.\n     Task A\u0027s stack is corrupted.\n\nTo fix it, don\u0027t migrate an RT task if it\u0027s still running.\n\nSigned-off-by: Chanho Min \u003cchanho.min@lge.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/CAOAMb1BHA\u003d5fm7KTewYyke6u-8DP0iUuJMpgQw54vNeXFsGpoQ@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e050e3f0a71bf7dc2c148b35caff0234decc8198",
      "tree": "df3069475c20d0ab238735a7a1837db9ae080610",
      "parents": [
        "74ea15d909b31158f9b63190a95b52bc05586d4b"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Jan 26 17:03:19 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 12:06:39 2012 +0100"
      },
      "message": "perf: Fix broken interrupt rate throttling\n\nThis patch fixes the sampling interrupt throttling mechanism.\n\nIt was broken in v3.2. Events were not being unthrottled. The\nunthrottling mechanism required that events be checked at each\ntimer tick.\n\nThis patch solves this problem and also separates:\n\n  - unthrottling\n  - multiplexing\n  - frequency-mode period adjustments\n\nNot all of them need to be executed at each timer tick.\n\nThis third version of the patch is based on my original patch +\nPeterZ proposal (https://lkml.org/lkml/2012/1/7/87).\n\nAt each timer tick, for each context:\n\n  - if the current CPU has throttled events, we unthrottle events\n\n  - if context has frequency-based events, we adjust sampling periods\n\n  - if we have reached the jiffies interval, we multiplex (rotate)\n\nWe decoupled rotation (multiplexing) from frequency-mode sampling\nperiod adjustments.  They should not necessarily happen at the same\nrate. Multiplexing is subject to jiffies_interval (currently at 1\nbut could be higher once the tunable is exposed via sysfs).\n\nWe have grouped frequency-mode adjustment and unthrottling into the\nsame routine to minimize code duplication. When throttled while in\nfrequency mode, we scan the events only once.\n\nWe have fixed the threshold enforcement code in __perf_event_overflow().\nThere was a bug whereby it would allow more than the authorized rate\nbecause an increment of hwc-\u003einterrupts was not executed at the right\nplace.\n\nThe patch was tested with low sampling limit (2000) and fixed periods,\nfrequency mode, overcommitted PMU.\n\nOn a 2.1GHz AMD CPU:\n\n $ cat /proc/sys/kernel/perf_event_max_sample_rate\n 2000\n\nWe set a rate of 3000 samples/sec (2.1GHz/3000 \u003d 700000):\n\n $ perf record -e cycles,cycles -c 700000  noploop 10\n $ perf report -D | tail -21\n\n Aggregated stats:\n           TOTAL events:      80086\n            MMAP events:         88\n            COMM events:          2\n            EXIT events:          4\n        THROTTLE events:      19996\n      UNTHROTTLE events:      19996\n          SAMPLE events:      40000\n\n cycles stats:\n           TOTAL events:      40006\n            MMAP events:          5\n            COMM events:          1\n            EXIT events:          4\n        THROTTLE events:       9998\n      UNTHROTTLE events:       9998\n          SAMPLE events:      20000\n\n cycles stats:\n           TOTAL events:      39996\n        THROTTLE events:       9998\n      UNTHROTTLE events:       9998\n          SAMPLE events:      20000\n\nFor 10s, the cap is 2x2000x10 \u003d 40000 samples.\nWe get exactly that: 20000 samples/event.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: \u003cstable@kernel.org\u003e # v3.2+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120126160319.GA5655@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5740f4b2cb3503b436925eb2242bc3d75cd3dfe",
      "tree": "c7e00c7be916f5fdc01109257752fc408b2b2d97",
      "parents": [
        "71325960d16cd68ea0e22a8da15b2495b0f363f7"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jan 17 17:40:31 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 11:55:36 2012 +0100"
      },
      "message": "sched: Fix ancient race in do_exit()\n\ntry_to_wake_up() has a problem which may change status from TASK_DEAD to\nTASK_RUNNING in race condition with SMI or guest environment of virtual\nmachine. As a result, exited task is scheduled() again and panic occurs.\n\nHere is the sequence how it occurs:\n\n ----------------------------------+-----------------------------\n                                   |\n            CPU A                  |             CPU B\n ----------------------------------+-----------------------------\n\nTASK A calls exit()....\n\ndo_exit()\n\n  exit_mm()\n    down_read(mm-\u003emmap_sem);\n\n    rwsem_down_failed_common()\n\n      set TASK_UNINTERRUPTIBLE\n      set waiter.task \u003c\u003d task A\n      list_add to sem-\u003ewait_list\n           :\n      raw_spin_unlock_irq()\n      (I/O interruption occured)\n\n                                      __rwsem_do_wake(mmap_sem)\n\n                                        list_del(\u0026waiter-\u003elist);\n                                        waiter-\u003etask \u003d NULL\n                                        wake_up_process(task A)\n                                          try_to_wake_up()\n                                             (task is still\n                                               TASK_UNINTERRUPTIBLE)\n                                              p-\u003eon_rq is still 1.)\n\n                                              ttwu_do_wakeup()\n                                                 (*A)\n                                                   :\n     (I/O interruption handler finished)\n\n      if (!waiter.task)\n          schedule() is not called\n          due to waiter.task is NULL.\n\n      tsk-\u003estate \u003d TASK_RUNNING\n\n          :\n                                              check_preempt_curr();\n                                                  :\n  task-\u003estate \u003d TASK_DEAD\n                                              (*B)\n                                        \u003c---    set TASK_RUNNING (*C)\n\n     schedule()\n     (exit task is running again)\n     BUG_ON() is called!\n --------------------------------------------------------\n\nThe execution time between (*A) and (*B) is usually very short,\nbecause the interruption is disabled, and setting TASK_RUNNING at (*C)\nmust be executed before setting TASK_DEAD.\n\nHOWEVER, if SMI is interrupted between (*A) and (*B),\n(*C) is able to execute AFTER setting TASK_DEAD!\nThen, exited task is scheduled again, and BUG_ON() is called....\n\nIf the system works on guest system of virtual machine, the time\nbetween (*A) and (*B) may be also long due to scheduling of hypervisor,\nand same phenomenon can occur.\n\nBy this patch, do_exit() waits for releasing task-\u003epi_lock which is used\nin try_to_wake_up(). It guarantees the task becomes TASK_DEAD after\nwaking up.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20120117174031.3118.E1E9C6FF@jp.fujitsu.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b57cea5e332841ed3e11586c88d3940ea4eacbe7",
      "tree": "cd12fd5c2fe293c98a09e8526f2dc5966059a149",
      "parents": [
        "2437dcbf555bff04e4ee8b8dba4587f946c1cd3d",
        "46cd6a7f680d14f6f80ede9f04aeb70fa83bd266"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 26 12:45:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 26 12:45:57 2012 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Call perf_cgroup_event_time() directly\n  perf: Don\u0027t call release_callchain_buffers() if allocation fails\n"
    },
    {
      "commit": "2437dcbf555bff04e4ee8b8dba4587f946c1cd3d",
      "tree": "f04f3ed779c25caa933744d2d5965ca4e297f05d",
      "parents": [
        "0dbfe8ddaaab9fe5bc8672c064d3ede6cd66201a",
        "b64b223aed5f8aeeb6c046f1b050a8f976b87de0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 26 12:45:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 26 12:45:41 2012 -0800"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  rcu: Add missing __cpuinit annotation in rcutorture code\n  sched: Add \"const\" to is_idle_task() parameter\n  rcu: Make rcutorture bool parameters really bool (core code)\n  memblock: Fix alloc failure due to dumb underflow protection in memblock_find_in_range_node()\n"
    },
    {
      "commit": "b0f4c4b32c8e3aa0d44fc4dd6c40a9a9a8d66b63",
      "tree": "7387d97d5b69c587ae67a46de025468d474e0eb4",
      "parents": [
        "b64b223aed5f8aeeb6c046f1b050a8f976b87de0"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Thu Jan 26 08:55:34 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 21:28:45 2012 +0100"
      },
      "message": "bugs, x86: Fix printk levels for panic, softlockups and stack dumps\n\nrsyslog will display KERN_EMERG messages on a connected\nterminal.  However, these messages are useless/undecipherable\nfor a general user.\n\nFor example, after a softlockup we get:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Stack:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Call Trace:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Code: ff ff a8 08 75 25 31 d2 48 8d 86 38 e0 ff ff 48 89\n d1 0f 01 c8 0f ae f0 48 8b 86 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 \u003ce8\u003e ea 69 dd ff 4c 29 e8 48 89 c7 e8 0f bc da ff 49 89 c4 49 89\n\nThis happens because the printk levels for these messages are\nincorrect. Only an informational message should be displayed on\na terminal.\n\nI modified the printk levels for various messages in the kernel\nand tested the output by using the drivers/misc/lkdtm.c kernel\nmodules (ie, softlockups, panics, hard lockups, etc.) and\nconfirmed that the console output was still the same and that\nthe output to the terminals was correct.\n\nFor example, in the case of a softlockup we now see the much\nmore informative:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 10:18:06 ...\n BUG: soft lockup - CPU4 stuck for 60s!\n\ninstead of the above confusing messages.\n\nAFAICT, the messages no longer have to be KERN_EMERG.  In the\nmost important case of a panic we set console_verbose().  As for\nthe other less severe cases the correct data is output to the\nconsole and /var/log/messages.\n\nSuccessfully tested by me using the drivers/misc/lkdtm.c module.\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: dzickus@redhat.com\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1327586134-11926-1-git-send-email-prarit@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "71325960d16cd68ea0e22a8da15b2495b0f363f7",
      "tree": "38be96d9232b302780476899f8536e690c693ffb",
      "parents": [
        "db7e527da41560f597ccdc4417cefa6b7657c0c0"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Jan 19 18:28:57 2012 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 19:38:13 2012 +0100"
      },
      "message": "sched/nohz: Fix nohz cpu idle load balancing state with cpu hotplug\n\nWith the recent nohz scheduler changes, rq\u0027s nohz flag\n\u0027NOHZ_TICK_STOPPED\u0027 and its associated state doesn\u0027t get cleared\nimmediately after the cpu exits idle. This gets cleared as part\nof the next tick seen on that cpu.\n\nFor the cpu offline support, we need to clear this state\nmanually. Fix it by registering a cpu notifier, which clears the\nnohz idle load balance state for this rq explicitly during the\nCPU_DYING notification.\n\nThere won\u0027t be any nohz updates for that cpu, after the\nCPU_DYING notification. But lets be extra paranoid and skip\nupdating the nohz state in the select_nohz_load_balancer() if\nthe cpu is not in active state anymore.\n\nReported-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nReviewed-and-tested-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nTested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1327026538.16150.40.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db7e527da41560f597ccdc4417cefa6b7657c0c0",
      "tree": "f5aff59ae2c16cf4fe25f2bfa2bf76048e10fac3",
      "parents": [
        "4ca9b72b71f10147bd21969c1805f5b2c4ca7b7b"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Jan 11 08:58:16 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 19:38:11 2012 +0100"
      },
      "message": "sched/s390: Fix compile error in sched/core.c\n\nCommit 029632fbb7b7c9d85063cc9eb470de6c54873df3 (\"sched: Make\nseparate sched*.c translation units\") removed the include of\nasm/mutex.h from sched.c.\n\nThis breaks the combination of:\n\n CONFIG_MUTEX_SPIN_ON_OWNER\u003dyes\n CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX\u003dyes\n\nlike s390 without mutex debugging:\n\n  CC      kernel/sched/core.o\n  kernel/sched/core.c: In function ‘mutex_spin_on_owner’:\n  kernel/sched/core.c:3287: error: implicit declaration of function ‘arch_mutex_cpu_relax’\n\nLets re-add the include to kernel/sched/core.c\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1326268696-30904-1-git-send-email-borntraeger@de.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ca9b72b71f10147bd21969c1805f5b2c4ca7b7b",
      "tree": "05d6072a28029ffca57ba6c7d30036698348b59a",
      "parents": [
        "87f71ae2dd7471c1b4c94100be1f218e91dc64c3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 25 11:50:51 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 19:38:09 2012 +0100"
      },
      "message": "sched: Fix rq-\u003enr_uninterruptible update race\n\nKOSAKI Motohiro noticed the following race:\n\n \u003e CPU0                    CPU1\n \u003e --------------------------------------------------------\n \u003e deactivate_task()\n \u003e                         task-\u003estate \u003d TASK_UNINTERRUPTIBLE;\n \u003e activate_task()\n \u003e    rq-\u003enr_uninterruptible--;\n \u003e\n \u003e                         schedule()\n \u003e                           deactivate_task()\n \u003e                             rq-\u003enr_uninterruptible++;\n \u003e\n\nKosaki-San\u0027s scenario is possible when CPU0 runs\n__sched_setscheduler() against CPU1\u0027s current @task.\n\n__sched_setscheduler() does a dequeue/enqueue in order to move\nthe task to its new queue (position) to reflect the newly provided\nscheduling parameters. However it should be completely invariant to\nnr_uninterruptible accounting, sched_setscheduler() doesn\u0027t affect\nreadyness to run, merely policy on when to run.\n\nSo convert the inappropriate activate/deactivate_task usage to\nenqueue/dequeue_task, which avoids the nr_uninterruptible accounting.\n\nAlso convert the two other sites: __migrate_task() and\nnormalize_task() that still use activate/deactivate_task. These sites\naren\u0027t really a problem since __migrate_task() will only be called on\nnon-running task (and therefore are immume to the described problem)\nand normalize_task() isn\u0027t ever used on regular systems.\n\nAlso remove the comments from activate/deactivate_task since they\u0027re\nmisleading at best.\n\nReported-by: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1327486224.2614.45.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "701b259f446be2f3625fb852bceb93afe76e206d",
      "tree": "93f15bcd00bd59c38b4e59fed9af7ddf6b06c8b3",
      "parents": [
        "d2346963bfcbb9a8ee783ca3c3b3bdd7448ec9d5",
        "efc3dbc37412c027e363736b4f4c74ee5e8ecffc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 24 15:51:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 24 15:51:40 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nDavem says:\n\n1) Fix JIT code generation on x86-64 for divide by zero, from Eric Dumazet.\n\n2) tg3 header length computation correction from Eric Dumazet.\n\n3) More build and reference counting fixes for socket memory cgroup\n   code from Glauber Costa.\n\n4) module.h snuck back into a core header after all the hard work we\n   did to remove that, from Paul Gortmaker and Jesper Dangaard Brouer.\n\n5) Fix PHY naming regression and add some new PCI IDs in stmmac, from\n   Alessandro Rubini.\n\n6) Netlink message generation fix in new team driver, should only advertise\n   the entries that changed during events, from Jiri Pirko.\n\n7) SRIOV VF registration and unregistration fixes, and also add a\n   missing PCI ID, from Roopa Prabhu.\n\n8) Fix infinite loop in tx queue flush code of brcmsmac, from Stanislaw Gruszka.\n\n9) ftgmac100/ftmac100 build fix, missing interrupt.h include.\n\n10) Memory leak fix in net/hyperv do_set_mutlicast() handling, from Wei Yongjun.\n\n11) Off by one fix in netem packet scheduler, from Vijay Subramanian.\n\n12) TCP loss detection fix from Yuchung Cheng.\n\n13) TCP reset packet MD5 calculation uses wrong address, fix from Shawn Lu.\n\n14) skge carrier assertion and DMA mapping fixes from Stephen Hemminger.\n\n15) Congestion recovery undo performed at the wrong spot in BIC and CUBIC\n    congestion control modules, fix from Neal Cardwell.\n\n16) Ethtool ETHTOOL_GSSET_INFO is unnecessarily restrictive, from Michał Mirosław.\n\n17) Fix triggerable race in ipv6 sysctl handling, from Francesco Ruggeri.\n\n18) Statistics bug fixes in mlx4 from Eugenia Emantayev.\n\n19) rds locking bug fix during info dumps, from your\u0027s truly.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (67 commits)\n  rds: Make rds_sock_lock BH rather than IRQ safe.\n  netprio_cgroup.h: dont include module.h from other includes\n  net: flow_dissector.c missing include linux/export.h\n  team: send only changed options/ports via netlink\n  net/hyperv: fix possible memory leak in do_set_multicast()\n  drivers/net: dsa/mv88e6xxx.c files need linux/module.h\n  stmmac: added PCI identifiers\n  llc: Fix race condition in llc_ui_recvmsg\n  stmmac: fix phy naming inconsistency\n  dsa: Add reporting of silicon revision for Marvell 88E6123/88E6161/88E6165 switches.\n  tg3: fix ipv6 header length computation\n  skge: add byte queue limit support\n  mv643xx_eth: Add Rx Discard and Rx Overrun statistics\n  bnx2x: fix compilation error with SOE in fw_dump\n  bnx2x: handle CHIP_REVISION during init_one\n  bnx2x: allow user to change ring size in ISCSI SD mode\n  bnx2x: fix Big-Endianess in ethtool -t\n  bnx2x: fixed ethtool statistics for MF modes\n  bnx2x: credit-leakage fixup on vlan_mac_del_all\n  macvlan: fix a possible use after free\n  ...\n"
    },
    {
      "commit": "ac1e3d4f5c1097422c6e72aeae322033e9a8c803",
      "tree": "adcebdad5f515a8453bfe48940822f57a6904c9d",
      "parents": [
        "eaed435a7b870a38d89dbdb535c7842d618d3214",
        "e4c89a508f4385a0cd8681c2749a2cd2fa476e40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 15:11:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 15:11:27 2012 -0800"
      },
      "message": "Merge tag \u0027pm-fixes-for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPower management fixes for 3.3\n\nTwo fixes for regressions introduced during the merge window, one fix for\na long-standing obscure issue in the computation of hibernate image size\nand two small PM documentation fixes.\n\n* tag \u0027pm-fixes-for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Sleep: Fix read_unlock_usermodehelper() call.\n  PM / Hibernate: Rewrite unlock_system_sleep() to fix s2disk regression\n  PM / Hibernate: Correct additional pages number calculation\n  PM / Documentation: Fix minor issue in freezing_of_tasks.txt\n  PM / Documentation: Fix spelling mistake in basic-pm-debugging.txt\n"
    },
    {
      "commit": "a99cbf6b43a7b3b15f6139b2d9ac4ecceccd3c99",
      "tree": "d92277ec77dbaf6f04a1ab4fe31a974c1ce51f76",
      "parents": [
        "4f57d865f1d863346ac50db9c25859e73a86499c",
        "b4d20859362fde976bb2fa53eb51b798cdba1afc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 10:08:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 10:08:08 2012 -0800"
      },
      "message": "Merge branch \u0027kernel-doc\u0027 from Randy Dunlap\n\nThe usual kernel-doc fixups from Randy.  Some of them David acked as\nmerged in his tree, this is the random left-overs.\n\n* kernel-doc:\n  docbook: fix sched source file names in device-drivers book\n  docbook: change iomap source filename in deviceiobook\n  docbook: don\u0027t use serial_core.h in device-drivers book\n  kernel-doc: fix kernel-doc warnings in sched\n  kernel-doc: fix new warnings in cfg80211.h\n  kernel-doc: fix new warning in usb.h\n  kernel-doc: fix new warnings in device.h\n  kernel-doc: fix new warnings in debugfs\n  kernel-doc: fix new warning in regulator core\n  kernel-doc: fix new warnings in pci\n  kernel-doc: fix new warnings in driver-core\n  kernel-doc: fix new warnings in auditsc.c\n  scripts/kernel-doc: fix fatal error caused by cfg80211.h\n"
    },
    {
      "commit": "fa757281a08799fd6c0f7ec6f111d1cd66afc97b",
      "tree": "664f8728e55e3d37ca8eb3c6c9087d2da9860463",
      "parents": [
        "2f6c76aa5f0fb53059730c628ac59ef62a14ed7a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jan 21 11:03:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:44:54 2012 -0800"
      },
      "message": "kernel-doc: fix kernel-doc warnings in sched\n\nFix new kernel-doc notation warnings:\n\nWarning(include/linux/sched.h:2094): No description found for parameter \u0027p\u0027\nWarning(include/linux/sched.h:2094): Excess function parameter \u0027tsk\u0027 description in \u0027is_idle_task\u0027\nWarning(kernel/sched/cpupri.c:139): No description found for parameter \u0027newpri\u0027\nWarning(kernel/sched/cpupri.c:139): Excess function parameter \u0027pri\u0027 description in \u0027cpupri_set\u0027\nWarning(kernel/sched/cpupri.c:208): Excess function parameter \u0027bootmem\u0027 description in \u0027cpupri_init\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc:\tIngo Molnar \u003cmingo@elte.hu\u003e\nCc:\tPeter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42ae610c1a820ddecb80943d4ccfc936f7772535",
      "tree": "547550121b439c3e7d0f53b263117f275d938b53",
      "parents": [
        "70c95b00b87f85ce5a15b7899aaa862eacd2364a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jan 21 11:02:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:44:53 2012 -0800"
      },
      "message": "kernel-doc: fix new warnings in auditsc.c\n\nFix new kernel-doc warnings in auditsc.c:\n\nWarning(kernel/auditsc.c:1875): No description found for parameter \u0027success\u0027\nWarning(kernel/auditsc.c:1875): No description found for parameter \u0027return_code\u0027\nWarning(kernel/auditsc.c:1875): Excess function parameter \u0027pt_regs\u0027 description in \u0027__audit_syscall_exit\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d496aab567e7e52b3e974c9192a5de6e77dce32c",
      "tree": "aa323c702bbf24567e4b7a244a135346f6aaeb5b",
      "parents": [
        "2a4e64b8f6bcbf23ddd375b78342051ae8862284"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Fri Jan 20 14:34:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:38:48 2012 -0800"
      },
      "message": "kprobes: initialize before using a hlist\n\nCommit ef53d9c5e (\"kprobes: improve kretprobe scalability with hashed\nlocking\") introduced a bug where we can potentially leak\nkretprobe_instances since we initialize a hlist head after having used\nit.\n\nInitialize the hlist head before using it.\n\nReported by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nAcked-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Srinivasa D S \u003csrinivasa@in.ibm.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e90b31f4ba77027a7c21cbfc66404df0851ca21",
      "tree": "10dc6c443e2f058869d3953a90e6d48fb53f83ae",
      "parents": [
        "8cfd14ad1eb52e44cb1fe7b47a68126e45e04026"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Fri Jan 20 04:57:16 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 22 15:08:46 2012 -0500"
      },
      "message": "net: introduce res_counter_charge_nofail() for socket allocations\n\nThere is a case in __sk_mem_schedule(), where an allocation\nis beyond the maximum, but yet we are allowed to proceed.\nIt happens under the following condition:\n\n\tsk-\u003esk_wmem_queued + size \u003e\u003d sk-\u003esk_sndbuf\n\nThe network code won\u0027t revert the allocation in this case,\nmeaning that at some point later it\u0027ll try to do it. Since\nthis is never communicated to the underlying res_counter\ncode, there is an inbalance in res_counter uncharge operation.\n\nI see two ways of fixing this:\n\n1) storing the information about those allocations somewhere\n   in memcg, and then deducting from that first, before\n   we start draining the res_counter,\n2) providing a slightly different allocation function for\n   the res_counter, that matches the original behavior of\n   the network code more closely.\n\nI decided to go for #2 here, believing it to be more elegant,\nsince #1 would require us to do basically that, but in a more\nobscure way.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCC: Tejun Heo \u003ctj@kernel.org\u003e\nCC: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCC: Laurent Chavey \u003cchavey@google.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46cd6a7f680d14f6f80ede9f04aeb70fa83bd266",
      "tree": "57d32e7f7399af2c3c869ec685e2050f6cf08d70",
      "parents": [
        "fd45c15f13e754f3c106427e857310f3e0813951"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Fri Jan 20 10:12:46 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 21 09:33:42 2012 +0100"
      },
      "message": "perf: Call perf_cgroup_event_time() directly\n\nThe perf_event_time() will call perf_cgroup_event_time()\nif @event is a cgroup event. Just do it directly and avoid\nthe extra check..\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/1327021966-27688-2-git-send-email-namhyung.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd45c15f13e754f3c106427e857310f3e0813951",
      "tree": "18c02a2b1037b773813b2f20fc4d826d7645ad96",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Fri Jan 20 10:12:45 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 21 09:33:41 2012 +0100"
      },
      "message": "perf: Don\u0027t call release_callchain_buffers() if allocation fails\n\nWhen alloc_callchain_buffers() fails, it frees all of\nentries before return. In addition, calling the\nrelease_callchain_buffers() will cause a NULL pointer\ndereference since callchain_cpu_entries is not set.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/1327021966-27688-1-git-send-email-namhyung.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "567e47935a7cddd8e823c73bb8ee0b2805cd4940",
      "tree": "0d1ee0eb233b7f84084f779d32ef1fb2d5be755a",
      "parents": [
        "99d1edc5c5ef5ee80982b354d57cef106cb8423c",
        "f7e6746ebae984ea67b0a1a1e23c7e6698240631",
        "6eadf1075c6f923fece419e38cf05bff559aefcd",
        "4f2f81a5621de47d42476d0b929be2e0d565df84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:53:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:53:06 2012 -0800"
      },
      "message": "Merge branches \u0027sched-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/accounting, proc: Fix /proc/stat interrupts sum\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  tracepoints/module: Fix disabling tracepoints with taint CRAP or OOT\n  x86/kprobes: Add arch/x86/tools/insn_sanity to .gitignore\n  x86/kprobes: Fix typo transferred from Intel manual\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, syscall: Need __ARCH_WANT_SYS_IPC for 32 bits\n  x86, tsc: Fix SMI induced variation in quick_pit_calibrate()\n  x86, opcode: ANDN and Group 17 in x86-opcode-map.txt\n  x86/kconfig: Move the ZONE_DMA entry under a menu\n  x86/UV2: Add accounting for BAU strong nacks\n  x86/UV2: Ack BAU interrupt earlier\n  x86/UV2: Remove stale no-resources test for UV2 BAU\n  x86/UV2: Work around BAU bug\n  x86/UV2: Fix BAU destination timeout initialization\n  x86/UV2: Fix new UV2 hardware by using native UV2 broadcast mode\n  x86: Get rid of dubious one-bit signed bitfield\n"
    },
    {
      "commit": "160cb5a97daef0cb894685d84c9d4700bb7cccb4",
      "tree": "91b8fd151fad423572a686ee94295a84754c0347",
      "parents": [
        "5eb6f9ad96967be4e0da55521a253e11b534bd3f"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Thu Jan 19 23:23:10 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 19 23:23:10 2012 +0100"
      },
      "message": "PM / Hibernate: Correct additional pages number calculation\n\nThe struct bm_block is allocated by chain_alloc(),\nso it\u0027d better counting it in LINKED_PAGE_DATA_SIZE.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f429ee3b808118591d1f3cdf3c0d0793911a5677",
      "tree": "96d848f5f677d96758ecd2aee5eb6931b75bf218",
      "parents": [
        "22b4eb5e3174efb49791c62823d0cccc35394c36",
        "c158a35c8a681cf68d36f22f058f9f5466386c71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 16:06:51 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 16:41:31 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit: (29 commits)\n  audit: no leading space in audit_log_d_path prefix\n  audit: treat s_id as an untrusted string\n  audit: fix signedness bug in audit_log_execve_info()\n  audit: comparison on interprocess fields\n  audit: implement all object interfield comparisons\n  audit: allow interfield comparison between gid and ogid\n  audit: complex interfield comparison helper\n  audit: allow interfield comparison in audit rules\n  Kernel: Audit Support For The ARM Platform\n  audit: do not call audit_getname on error\n  audit: only allow tasks to set their loginuid if it is -1\n  audit: remove task argument to audit_set_loginuid\n  audit: allow audit matching on inode gid\n  audit: allow matching on obj_uid\n  audit: remove audit_finish_fork as it can\u0027t be called\n  audit: reject entry,always rules\n  audit: inline audit_free to simplify the look of generic code\n  audit: drop audit_set_macxattr as it doesn\u0027t do anything\n  audit: inline checks for not needing to collect aux records\n  audit: drop some potentially inadvisable likely notations\n  ...\n\nUse evil merge to fix up grammar mistakes in Kconfig file.\n\nBad speling and horrible grammar (and copious swearing) is to be\nexpected, but let\u0027s keep it to commit messages and comments, rather than\nexpose it to users in config help texts or printouts.\n"
    },
    {
      "commit": "c158a35c8a681cf68d36f22f058f9f5466386c71",
      "tree": "54a7fe4d21a30848539b2bf94c885f0a0b123717",
      "parents": [
        "41fdc3054e23e3229edea27053522fe052d02ec2"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Fri Jan 06 14:07:10 2012 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:04 2012 -0500"
      },
      "message": "audit: no leading space in audit_log_d_path prefix\n\naudit_log_d_path() injects an additional space before the prefix,\nwhich serves no purpose and doesn\u0027t mix well with other audit_log*()\nfunctions that do not sneak extra characters into the log.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5afb8a3f96573f7ea018abb768f5b6ebe1a6c1a4",
      "tree": "da5f2278624eeb9dd09c91f3e9cfb6718a4b44ac",
      "parents": [
        "10d68360871657204885371cdf2594412675d2f9"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Tue Dec 20 18:39:41 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:03 2012 -0500"
      },
      "message": "audit: fix signedness bug in audit_log_execve_info()\n\nIn the loop, a size_t \"len\" is used to hold the return value of\naudit_log_single_execve_arg(), which returns -1 on error.  In that\ncase the error handling (len \u003c\u003d 0) will be bypassed since \"len\" is\nunsigned, and the loop continues with (p +\u003d len) being wrapped.\nChange the type of \"len\" to signed int to fix the error handling.\n\n\tsize_t len;\n\t...\n\tfor (...) {\n\t\tlen \u003d audit_log_single_execve_arg(...);\n\t\tif (len \u003c\u003d 0)\n\t\t\tbreak;\n\t\tp +\u003d len;\n\t}\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "10d68360871657204885371cdf2594412675d2f9",
      "tree": "85a4fa8d3b0dc0a7bc525475325f955f75d3881d",
      "parents": [
        "4a6633ed08af5ba67790b4d1adcdeb8ceb55677e"
      ],
      "author": {
        "name": "Peter Moody",
        "email": "pmoody@google.com",
        "time": "Wed Jan 04 15:24:31 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:03 2012 -0500"
      },
      "message": "audit: comparison on interprocess fields\n\nThis allows audit to specify rules in which we compare two fields of a\nprocess.  Such as is the running process uid !\u003d to the running process\neuid?\n\nSigned-off-by: Peter Moody \u003cpmoody@google.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4a6633ed08af5ba67790b4d1adcdeb8ceb55677e",
      "tree": "8b658f732f742d3d3a40f84b39ce4aa42f70d538",
      "parents": [
        "c9fe685f7a17a0ee8bf3fbe51e40b1c8b8e65896"
      ],
      "author": {
        "name": "Peter Moody",
        "email": "pmoody@google.com",
        "time": "Tue Dec 13 16:17:51 2011 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:02 2012 -0500"
      },
      "message": "audit: implement all object interfield comparisons\n\nThis completes the matrix of interfield comparisons between uid/gid\ninformation for the current task and the uid/gid information for inodes.\naka I can audit based on differences between the euid of the process and\nthe uid of fs objects.\n\nSigned-off-by: Peter Moody \u003cpmoody@google.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c9fe685f7a17a0ee8bf3fbe51e40b1c8b8e65896",
      "tree": "510a09bc02c5dccb7ef83c88f2a00546b17e2c17",
      "parents": [
        "b34b039324bf081554ee8678f9b8c5d937e5206c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:02 2012 -0500"
      },
      "message": "audit: allow interfield comparison between gid and ogid\n\nAllow audit rules to compare the gid of the running task to the gid of the\ninode in question.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b34b039324bf081554ee8678f9b8c5d937e5206c",
      "tree": "ff454dfed0580753defbeb87652bcf19faaf7800",
      "parents": [
        "02d86a568c6d2d335256864451ac8ce781bc5652"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:02 2012 -0500"
      },
      "message": "audit: complex interfield comparison helper\n\nRather than code the same loop over and over implement a helper function which\nuses some pointer magic to make it generic enough to be used numerous places\nas we implement more audit interfield comparisons\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "02d86a568c6d2d335256864451ac8ce781bc5652",
      "tree": "3ef085bd96cc79733cff28993379dbbd4b855813",
      "parents": [
        "29ef73b7a823b77a7cd0bdd7d7cded3fb6c2587b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:01 2012 -0500"
      },
      "message": "audit: allow interfield comparison in audit rules\n\nWe wish to be able to audit when a uid\u003d500 task accesses a file which is\nuid\u003d0.  Or vice versa.  This patch introduces a new audit filter type\nAUDIT_FIELD_COMPARE which takes as an \u0027enum\u0027 which indicates which fields\nshould be compared.  At this point we only define the task-\u003euid vs\ninode-\u003euid, but other comparisons can be added.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4043cde8ecf7f7d880eb1133c201a3d392fd68c3",
      "tree": "d740c60e6b56565a7e996c3d0308e66f7c8651f8",
      "parents": [
        "633b45454503489209b0d9a45f9e3cd1b852c614"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:01 2012 -0500"
      },
      "message": "audit: do not call audit_getname on error\n\nJust a code cleanup really.  We don\u0027t need to make a function call just for\nit to return on error.  This also makes the VFS function even easier to follow\nand removes a conditional on a hot path.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "633b45454503489209b0d9a45f9e3cd1b852c614",
      "tree": "591363d3be6b773f872b979727d4ac1a9691ec82",
      "parents": [
        "0a300be6d5be8f66cd96609334710c268d0bfdce"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:00 2012 -0500"
      },
      "message": "audit: only allow tasks to set their loginuid if it is -1\n\nAt the moment we allow tasks to set their loginuid if they have\nCAP_AUDIT_CONTROL.  In reality we want tasks to set the loginuid when they\nlog in and it be impossible to ever reset.  We had to make it mutable even\nafter it was once set (with the CAP) because on update and admin might have\nto restart sshd.  Now sshd would get his loginuid and the next user which\nlogged in using ssh would not be able to set his loginuid.\n\nSystemd has changed how userspace works and allowed us to make the kernel\nwork the way it should.  With systemd users (even admins) are not supposed\nto restart services directly.  The system will restart the service for\nthem.  Thus since systemd is going to loginuid\u003d\u003d-1, sshd would get -1, and\nsshd would be allowed to set a new loginuid without special permissions.\n\nIf an admin in this system were to manually start an sshd he is inserting\nhimself into the system chain of trust and thus, logically, it\u0027s his\nloginuid that should be used!  Since we have old systems I make this a\nKconfig option.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0a300be6d5be8f66cd96609334710c268d0bfdce",
      "tree": "253d0d1e0aa28a6bdf883bb92e4b62fafe263563",
      "parents": [
        "54d3218b31aee5bc9c859ae60fbde933d922448b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:00 2012 -0500"
      },
      "message": "audit: remove task argument to audit_set_loginuid\n\nThe function always deals with current.  Don\u0027t expose an option\npretending one can use it for something.  You can\u0027t.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "54d3218b31aee5bc9c859ae60fbde933d922448b",
      "tree": "ebc383920713c283133d885191d0c19cb049afd2",
      "parents": [
        "efaffd6e4417860c67576ac760dd6e8bbd15f006"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:59 2012 -0500"
      },
      "message": "audit: allow audit matching on inode gid\n\nMuch like the ability to filter audit on the uid of an inode collected, we\nshould be able to filter on the gid of the inode.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "efaffd6e4417860c67576ac760dd6e8bbd15f006",
      "tree": "a59ee886b609bbf761fb75744e5e468264c67ab5",
      "parents": [
        "6422e78de6880c66a82af512d9bd0c85eb62e661"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:59 2012 -0500"
      },
      "message": "audit: allow matching on obj_uid\n\nAllow syscall exit filter matching based on the uid of the owner of an\ninode used in a syscall.  aka:\n\nauditctl -a always,exit -S open -F obj_uid\u003d0 -F perm\u003dwa\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "6422e78de6880c66a82af512d9bd0c85eb62e661",
      "tree": "9cce4d385a6508056be7645fd3511ab019b346f4",
      "parents": [
        "7ff68e53ece8c175d2951bb8a30b3cce8f9c5579"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:59 2012 -0500"
      },
      "message": "audit: remove audit_finish_fork as it can\u0027t be called\n\nAudit entry,always rules are not allowed and are automatically changed in\nexit,always rules in userspace.  The kernel refuses to load such rules.\n\nThus a task in the middle of a syscall (and thus in audit_finish_fork())\ncan only be in one of two states: AUDIT_BUILD_CONTEXT or AUDIT_DISABLED.\nSince the current task cannot be in AUDIT_RECORD_CONTEXT we aren\u0027t every\ngoing to actually use the code in audit_finish_fork() since it will\nreturn without doing anything.  Thus drop the code.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "7ff68e53ece8c175d2951bb8a30b3cce8f9c5579",
      "tree": "cde525e879e2e2434b0e3b23248588f015f5df04",
      "parents": [
        "a4ff8dba7d8ce5ceb43fb27df66292251cc73bdc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:58 2012 -0500"
      },
      "message": "audit: reject entry,always rules\n\nWe deprecated entry,always rules a long time ago.  Reject those rules as\ninvalid.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "a4ff8dba7d8ce5ceb43fb27df66292251cc73bdc",
      "tree": "2c89a0a7a7dad853a2c2ec70417ef2f3f5a04fd4",
      "parents": [
        "38cdce53daa0408a61fe6d86fe48f31515c9b840"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:58 2012 -0500"
      },
      "message": "audit: inline audit_free to simplify the look of generic code\n\nmake the conditional a static inline instead of doing it in generic code.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "07c49417877f8658a6aa0ad9b4e21e4fd4df11b6",
      "tree": "59a64b96c9f35b8559db4c46b5a43d2d9510c190",
      "parents": [
        "56179a6ec65a56e0279a58e35cb450d38f061b94"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:57 2012 -0500"
      },
      "message": "audit: inline checks for not needing to collect aux records\n\nA number of audit hooks make function calls before they determine that\nauxilary records do not need to be collected.  Do those checks as static\ninlines since the most common case is going to be that records are not\nneeded and we can skip the function call overhead.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "56179a6ec65a56e0279a58e35cb450d38f061b94",
      "tree": "7dc8b775719d7c731f1d2c279d5e5a105309adfb",
      "parents": [
        "997f5b6444f4608692ec807fb802fd9767c80e76"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:57 2012 -0500"
      },
      "message": "audit: drop some potentially inadvisable likely notations\n\nThe audit code makes heavy use of likely() and unlikely() macros, but they\ndon\u0027t always make sense.  Drop any that seem questionable and let the\ncomputer do it\u0027s thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "997f5b6444f4608692ec807fb802fd9767c80e76",
      "tree": "3f523cd7aa1a8ab836ad2d494752364dde5b5eac",
      "parents": [
        "b05d8447e7821695bc2fa3359431f7a664232743"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:57 2012 -0500"
      },
      "message": "audit: remove AUDIT_SETUP_CONTEXT as it isn\u0027t used\n\nAudit contexts have 3 states.  Disabled, which doesn\u0027t collect anything,\nbuild, which collects info but might not emit it, and record, which\ncollects and emits.  There is a 4th state, setup, which isn\u0027t used.  Get\nrid of it.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b05d8447e7821695bc2fa3359431f7a664232743",
      "tree": "da90e558279c6407aa2e08d36bea5d9a21cd959c",
      "parents": [
        "f031cd25568a390dc2c9c3a4015054183753449a"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:56 2012 -0500"
      },
      "message": "audit: inline audit_syscall_entry to reduce burden on archs\n\nEvery arch calls:\n\nif (unlikely(current-\u003eaudit_context))\n\taudit_syscall_entry()\n\nwhich requires knowledge about audit (the existance of audit_context) in\nthe arch code.  Just do it all in static inline in audit.h so that arch\u0027s\ncan remain blissfully ignorant.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "d7e7528bcd456f5c36ad4a202ccfb43c5aa98bc4",
      "tree": "ef49503b1dc52c52102e728dbd979c9309d5756b",
      "parents": [
        "85e7bac33b8d5edafc4e219c7dfdb3d48e0b4e31"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:56 2012 -0500"
      },
      "message": "Audit: push audit success and retcode into arch ptrace.h\n\nThe audit system previously expected arches calling to audit_syscall_exit to\nsupply as arguments if the syscall was a success and what the return code was.\nAudit also provides a helper AUDITSC_RESULT which was supposed to simplify things\nby converting from negative retcodes to an audit internal magic value stating\nsuccess or failure.  This helper was wrong and could indicate that a valid\npointer returned to userspace was a failed syscall.  The fix is to fix the\nlayering foolishness.  We now pass audit_syscall_exit a struct pt_reg and it\nin turns calls back into arch code to collect the return value and to\ndetermine if the syscall was a success or failure.  We also define a generic\nis_syscall_success() macro which determines success/failure based on if the\nvalue is \u003c -MAX_ERRNO.  This works for arches like x86 which do not use a\nseparate mechanism to indicate syscall failure.\n\nWe make both the is_syscall_success() and regs_return_value() static inlines\ninstead of macros.  The reason is because the audit function must take a void*\nfor the regs.  (uml calls theirs struct uml_pt_regs instead of just struct\npt_regs so audit_syscall_exit can\u0027t take a struct pt_regs).  Since the audit\nfunction takes a void* we need to use static inlines to cast it back to the\narch correct structure to dereference it.\n\nThe other major change is that on some arches, like ia64, MIPS and ppc, we\nchange regs_return_value() to give us the negative value on syscall failure.\nTHE only other user of this macro, kretprobe_example.c, won\u0027t notice and it\nmakes the value signed consistently for the audit functions across all archs.\n\nIn arch/sh/kernel/ptrace_64.c I see that we were using regs[9] in the old\naudit code as the return value.  But the ptrace_64.h code defined the macro\nregs_return_value() as regs[3].  I have no idea which one is correct, but this\npatch now uses the regs_return_value() function, so it now uses regs[3].\n\nFor powerpc we previously used regs-\u003eresult but now use the\nregs_return_value() function which uses regs-\u003egprs[3].  regs-\u003egprs[3] is\nalways positive so the regs_return_value(), much like ia64 makes it negative\nbefore calling the audit code when appropriate.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e [for x86 portion]\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e [for ia64]\nAcked-by: Richard Weinberger \u003crichard@nod.at\u003e [for uml]\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e [for sparc]\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e [for mips]\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e [for ppc]\n"
    },
    {
      "commit": "85e7bac33b8d5edafc4e219c7dfdb3d48e0b4e31",
      "tree": "6a1f178de829d2219a65a8563e12f2c8029d4b13",
      "parents": [
        "16c174bd95cb07c9d0ad3fcd8c70f9cea7214c9d"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:55 2012 -0500"
      },
      "message": "seccomp: audit abnormal end to a process due to seccomp\n\nThe audit system likes to collect information about processes that end\nabnormally (SIGSEGV) as this may me useful intrusion detection information.\nThis patch adds audit support to collect information when seccomp forces a\ntask to exit because of misbehavior in a similar way.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "16c174bd95cb07c9d0ad3fcd8c70f9cea7214c9d",
      "tree": "3264c533da56cc81988331fd0d3f42f3d2ba3183",
      "parents": [
        "3035c51e8ac0512686ceb9f2bd1d13bdc6e4fb29"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:55 2012 -0500"
      },
      "message": "audit: check current inode and containing object when filtering on major and minor\n\nThe audit system has the ability to filter on the major and minor number of\nthe device containing the inode being operated upon.  Lets say that\n/dev/sda1 has major,minor 8,1 and that we mount /dev/sda1 on /boot.  Now lets\nsay we add a watch with a filter on 8,1.  If we proceed to open an inode\ninside /boot, such as /vboot/vmlinuz, we will match the major,minor filter.\n\nLets instead assume that one were to use a tool like debugfs and were to\nopen /dev/sda1 directly and to modify it\u0027s contents.  We might hope that\nthis would also be logged, but it isn\u0027t.  The rules will check the\nmajor,minor of the device containing /dev/sda1.  In other words the rule\nwould match on the major/minor of the tmpfs mounted at /dev.\n\nI believe these rules should trigger on either device.  The man page is\ndevoid of useful information about the intended semantics.  It only seems\nlogical that if you want to know everything that happened on a major,minor\nthat would include things that happened to the device itself...\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3035c51e8ac0512686ceb9f2bd1d13bdc6e4fb29",
      "tree": "7c26ee810b6d6678f960cf1bb5880055ac4c793f",
      "parents": [
        "5195d8e217a78697152d64fc09a16e063a022465"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:54 2012 -0500"
      },
      "message": "audit: drop the meaningless and format breaking word \u0027user\u0027\n\nuserspace audit messages look like so:\n\ntype\u003dUSER msg\u003daudit(1271170549.415:24710): user pid\u003d14722 uid\u003d0 auid\u003d500 ses\u003d1 subj\u003dunconfined_u:unconfined_r:auditctl_t:s0-s0:c0.c1023 msg\u003d\u0027\u0027\n\nThat third field just says \u0027user\u0027.  That\u0027s useless and doesn\u0027t follow the\nkey\u003dvalue pair we are trying to enforce.  We already know it came from the\nuser based on the record type.  Kill that word.  Die.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5195d8e217a78697152d64fc09a16e063a022465",
      "tree": "6d8d980037d95740d0f64ba9491c0e5a38f31ea3",
      "parents": [
        "5ef30ee53b187786e64bdc1f8109e39d17f2ce58"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:54 2012 -0500"
      },
      "message": "audit: dynamically allocate audit_names when not enough space is in the names array\n\nThis patch does 2 things.  First it reduces the number of audit_names\nallocated in every audit context from 20 to 5.  5 should be enough for all\n\u0027normal\u0027 syscalls (rename being the worst).  Some syscalls can still touch\nmore the 5 inodes such as mount.  When rpc filesystem is mounted it will\ncreate inodes and those can exceed 5.  To handle that problem this patch will\ndynamically allocate audit_names if it needs more than 5.  This should\ndecrease the typicall memory usage while still supporting all the possible\nkernel operations.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5ef30ee53b187786e64bdc1f8109e39d17f2ce58",
      "tree": "05c5f2aebedfdaf1dc81afa0a50271a1a581a069",
      "parents": [
        "9fc5c3e3237e02a94f41cd1d2b4291593d29791d"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:16:54 2012 -0500"
      },
      "message": "audit: make filetype matching consistent with other filters\n\nEvery other filter that matches part of the inodes list collected by audit\nwill match against any of the inodes on that list.  The filetype matching\nhowever had a strange way of doing things.  It allowed userspace to\nindicated if it should match on the first of the second name collected by\nthe kernel.  Name collection ordering seems like a kernel internal and\nmaking userspace rules get that right just seems like a bad idea.  As it\nturns out the userspace audit writers had no idea it was doing this and\nthus never overloaded the value field.  The kernel always checked the first\nname collected which for the tested rules was always correct.\n\nThis patch just makes the filetype matching like the major, minor, inode,\nand LSM rules in that it will match against any of the names collected.  It\nalso changes the rule validation to reject the old unused rule types.\n\nNoone knew it was there.  Noone used it.  Why keep around the extra code?\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "951880e634a79884236a575b896abf55c39ae0bf",
      "tree": "b23ec5a95cd72083227ed5b7396e2f8799f4a58c",
      "parents": [
        "c2bc3a316a7281f67e36b34dac2802cbe36a9128"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 10:19:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 10:19:41 2012 -0800"
      },
      "message": "Revert \"capabitlies: ns_capable can use the cap helpers rather than lsm call\"\n\nThis reverts commit d2a7009f0bb03fa22ad08dd25472efa0568126b9.\n\nJ. R. Okajima explains:\n\n \"After this commit, I am afraid access(2) on NFS may not work\n  correctly.  The scenario based upon my guess.\n   - access(2) overrides the credentials.\n   - calls inode_permission() -- ... -- generic_permission() --\n      ns_capable().\n   - while the old ns_capable() calls security_capable(current_cred()),\n     the new ns_capable() calls has_ns_capability(current) --\n     security_capable(__task_cred(t)).\n\n  current_cred() returns current-\u003ecred which is effective (overridden)\n  credentials, but __task_cred(current) returns current-\u003ereal_cred (the\n  NFSD\u0027s credential).  And the overridden credentials by access(2) lost.\"\n\nRequested-by: J. R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b64b223aed5f8aeeb6c046f1b050a8f976b87de0",
      "tree": "f4ce305aaae5fa04f55ad04a3b9ee501158decde",
      "parents": [
        "5d53cb27d849c899136c048ec84c940ac449494b",
        "4410030646be072b82ec1892ad5cc7d91af384d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 17 09:44:17 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 17 09:44:17 2012 +0100"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent\n"
    },
    {
      "commit": "97740400bc76b64781d01f8cdfbcf750582006ef",
      "tree": "85900329fbce72011339ab2348dcf13dde2a64fd",
      "parents": [
        "408e057870c8680a50963b08f9f7efaa151a74ec",
        "ee34a37049114303011e154478c63b977bcff24c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 16 15:02:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 16 15:02:30 2012 -0800"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Hibernate: Drop the check of swap space size for compressed image\n  PM / shmobile: fix A3SP suspend method\n  PM / Domains: Skip governor functions for CONFIG_PM_RUNTIME unset\n  PM / Domains: Fix build for CONFIG_PM_SLEEP unset\n  PM: Make sysrq-o be available for CONFIG_PM unset\n"
    },
    {
      "commit": "4410030646be072b82ec1892ad5cc7d91af384d8",
      "tree": "fdab426550a40c974120ec67342a3b07c2e2636c",
      "parents": [
        "7061ca3b6c99fc78115560b9a10227c8c5fafc45"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Dec 27 15:04:26 2011 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jan 16 09:44:05 2012 -0800"
      },
      "message": "rcu: Add missing __cpuinit annotation in rcutorture code\n\n\"rcu: Add rcutorture CPU-hotplug capability\" adds cpu hotplug operations\nto the rcutorture code but produces a false positive warning about section\nmismatches:\n\nWARNING: vmlinux.o(.text+0x1e420c): Section mismatch in reference from the\n\t function rcu_torture_onoff() to the function .cpuinit.text:cpu_up()\n\t The function rcu_torture_onoff() references\n\t the function __cpuinit cpu_up().\n\t This is often because rcu_torture_onoff lacks a __cpuinit\n\t annotation or the annotation of cpu_up is wrong.\n\nThis commit therefore adds a __cpuinit annotation so the warning goes away.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d8e8ed95cda1dfd6813588333d36552935eba4a1",
      "tree": "c8b8b33fbc772b50ec5827ccf5874b315cccd07b",
      "parents": [
        "51aa78271be9bf97df4ab19c3146e1f08e592c7e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 15 13:43:24 2011 +1030"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jan 16 09:43:56 2012 -0800"
      },
      "message": "rcu: Make rcutorture bool parameters really bool (core code)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\nThis commit makes this change to rcutorture.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "51aa78271be9bf97df4ab19c3146e1f08e592c7e",
      "tree": "c09112e5c57178e20c29e8858a6d7c336cf8fb1c",
      "parents": [
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610",
        "a513f6bab0939800dcf1e7c075e733420cf967c5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jan 16 09:41:09 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jan 16 09:41:18 2012 -0800"
      },
      "message": "Merge branch \u0027rcu/fixes-for-v3.2\u0027 into rcu/urgent\n\nMerge reason: Add these commits so that fixes on this branch do not\n\tconflict with already-mainlined code.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c10076c4304083af15a41f6bc5e657e781c1f9a6",
      "tree": "0a9fd7219177cc3d3cb9afe89fb3931c2fc1defd",
      "parents": [
        "2e885057b7f75035f0b85e02f737891482815a81"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jan 13 21:40:59 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 16 11:35:57 2012 -0500"
      },
      "message": "tracepoints/module: Fix disabling tracepoints with taint CRAP or OOT\n\nTracepoints are disabled for tainted modules, which is usually because the\nmodule is either proprietary or was forced, and we don\u0027t want either of them\nusing kernel tracepoints.\n\nBut, a module can also be tainted by being in the staging directory or\ncompiled out of tree. Either is fine for use with tracepoints, no need\nto punish them.  I found this out when I noticed that my sample trace event\nmodule, when done out of tree, stopped working.\n\nCc: stable@vger.kernel.org # 3.2\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "53999bf34d55981328f8ba9def558d3e104d6e36",
      "tree": "4ca98169e5c96c1ec8e04d15fce75c60a8b9578d",
      "parents": [
        "122804ecb59493fbb4d31b3ba9ac59faaf45276f"
      ],
      "author": {
        "name": "Kevin Winchester",
        "email": "kjwinchester@gmail.com",
        "time": "Sun Jan 15 19:32:55 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 16:21:07 2012 -0800"
      },
      "message": "error: implicit declaration of function \u0027module_flags_taint\u0027\n\nRecent changes to kernel/module.c caused the following compile\nerror:\n\n  kernel/module.c: In function ‘show_taint’:\n  kernel/module.c:1024:2: error: implicit declaration of function ‘module_flags_taint’ [-Werror\u003dimplicit-function-declaration]\n  cc1: some warnings being treated as errors\n\nCorrect this error by moving the definition of module_flags_taint\noutside of the #ifdef CONFIG_MODULE_UNLOAD section.\n\nSigned-off-by: Kevin Winchester \u003ckjwinchester@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3c9dd182ed3bdcdaf0e42625a35924b0497afdc",
      "tree": "ad48ad4d923fee147c736318d0fad35b3755f4f5",
      "parents": [
        "83c2f912b43c3a7babbb6cb7ae2a5276c1ed2a3e",
        "5d381efb3d1f1ef10535a31ca0dd9b22fe1e1922"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 12:24:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 12:24:45 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.3/core\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.3/core\u0027 of git://git.kernel.dk/linux-block: (37 commits)\n  Revert \"block: recursive merge requests\"\n  block: Stop using macro stubs for the bio data integrity calls\n  blockdev: convert some macros to static inlines\n  fs: remove unneeded plug in mpage_readpages()\n  block: Add BLKROTATIONAL ioctl\n  block: Introduce blk_set_stacking_limits function\n  block: remove WARN_ON_ONCE() in exit_io_context()\n  block: an exiting task should be allowed to create io_context\n  block: ioc_cgroup_changed() needs to be exported\n  block: recursive merge requests\n  block, cfq: fix empty queue crash caused by request merge\n  block, cfq: move icq creation and rq-\u003eelv.icq association to block core\n  block, cfq: restructure io_cq creation path for io_context interface cleanup\n  block, cfq: move io_cq exit/release to blk-ioc.c\n  block, cfq: move icq cache management to block core\n  block, cfq: move io_cq lookup to blk-ioc.c\n  block, cfq: move cfqd-\u003eicq_list to request_queue and add request-\u003eelv.icq\n  block, cfq: reorganize cfq_io_context into generic and cfq specific parts\n  block: remove elevator_queue-\u003eops\n  block: reorder elevator switch sequence\n  ...\n\nFix up conflicts in:\n - block/blk-cgroup.c\n\tSwitch from can_attach_task to can_attach\n - block/cfq-iosched.c\n\tconflict with now removed cic index changes (we now use q-\u003eid instead)\n"
    },
    {
      "commit": "83c2f912b43c3a7babbb6cb7ae2a5276c1ed2a3e",
      "tree": "eaa7f50dea154d9f19721db69c7adde64d48848f",
      "parents": [
        "f0ed5b9a28536b8be2f578a9450cfa42ab31ccf8",
        "172d1b0b73256551f100fc00c69e356d047103f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 11:26:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 11:26:35 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)\n  perf tools: Fix compile error on x86_64 Ubuntu\n  perf report: Fix --stdio output alignment when --showcpuutilization used\n  perf annotate: Get rid of field_sep check\n  perf annotate: Fix usage string\n  perf kmem: Fix a memory leak\n  perf kmem: Add missing closedir() calls\n  perf top: Add error message for EMFILE\n  perf test: Change type of \u0027-v\u0027 option to INCR\n  perf script: Add missing closedir() calls\n  tracing: Fix compile error when static ftrace is enabled\n  recordmcount: Fix handling of elf64 big-endian objects.\n  perf tools: Add const.h to MANIFEST to make perf-tar-src-pkg work again\n  perf tools: Add support for guest/host-only profiling\n  perf kvm: Do guest-only counting by default\n  perf top: Don\u0027t update total_period on process_sample\n  perf hists: Stop using \u0027self\u0027 for struct hist_entry\n  perf hists: Rename total_session to total_period\n  x86: Add counter when debug stack is used with interrupts enabled\n  x86: Allow NMIs to hit breakpoints in i386\n  x86: Keep current stack in NMI breakpoints\n  ...\n"
    },
    {
      "commit": "c49c41a4134679cecb77362e7f6b59acb6320aa7",
      "tree": "45e690c036ca5846a48c8be67945d1d841b2d96d",
      "parents": [
        "892d208bcf79e4e1058707786a7b6d486697cd78",
        "f423e5ba76e7e4a6fcb4836b4f072d1fdebba8b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security:\n  capabilities: remove __cap_full_set definition\n  security: remove the security_netlink_recv hook as it is equivalent to capable()\n  ptrace: do not audit capability check when outputing /proc/pid/stat\n  capabilities: remove task_ns_* functions\n  capabitlies: ns_capable can use the cap helpers rather than lsm call\n  capabilities: style only - move capable below ns_capable\n  capabilites: introduce new has_ns_capabilities_noaudit\n  capabilities: call has_ns_capability from has_capability\n  capabilities: remove all _real_ interfaces\n  capabilities: introduce security_capable_noaudit\n  capabilities: reverse arguments to security_capable\n  capabilities: remove the task from capable LSM hook entirely\n  selinux: sparse fix: fix several warnings in the security server cod\n  selinux: sparse fix: fix warnings in netlink code\n  selinux: sparse fix: eliminate warnings for selinuxfs\n  selinux: sparse fix: declare selinux_disable() in security.h\n  selinux: sparse fix: move selinux_complete_init\n  selinux: sparse fix: make selinux_secmark_refcount static\n  SELinux: Fix RCU deref check warning in sel_netport_insert()\n\nManually fix up a semantic mis-merge wrt security_netlink_recv():\n\n - the interface was removed in commit fd7784615248 (\"security: remove\n   the security_netlink_recv hook as it is equivalent to capable()\")\n\n - a new user of it appeared in commit a38f7907b926 (\"crypto: Add\n   userspace configuration API\")\n\ncausing no automatic merge conflict, but Eric Paris pointed out the\nissue.\n"
    },
    {
      "commit": "0a80939b3e6af4b0dc93bf88ec02fd7e90a16f1b",
      "tree": "a112335f2b2b2a51e90531c6c67e8a3b54dcf0ef",
      "parents": [
        "0b48d42235caf627121f440b57d376f48a9af8b6",
        "72db395ffadb1d33233fd123c2bf87ba0198c6c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 12:32:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 12:32:16 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux\n\nAutogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999  BFCB D920 0E6C D1AD B8F1\n\n* tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux:\n  module_param: check that bool parameters really are bool.\n  intelfbdrv.c: bailearly is an int module_param\n  paride/pcd: fix bool verbose module parameter.\n  module_param: make bool parameters really bool (drivers \u0026 misc)\n  module_param: make bool parameters really bool (arch)\n  module_param: make bool parameters really bool (core code)\n  kernel/async: remove redundant declaration.\n  printk: fix unnecessary module_param_name.\n  lirc_parallel: fix module parameter description.\n  module_param: avoid bool abuse, add bint for special cases.\n  module_param: check type correctness for module_param_array\n  modpost: use linker section to generate table.\n  modpost: use a table rather than a giant if/else statement.\n  modules: sysfs - export: taint, coresize, initsize\n  kernel/params: replace DEBUGP with pr_debug\n  module: replace DEBUGP with pr_debug\n  module: struct module_ref should contains long fields\n  module: Fix performance regression on modules with large symbol tables\n  module: Add comments describing how the \"strmap\" logic works\n\nFix up conflicts in scripts/mod/file2alias.c due to the new linker-\ngenerated table approach to adding __mod_*_device_table entries.  The\nARM sa11x0 mcp bus needed to be converted to that too.\n"
    },
    {
      "commit": "ee34a37049114303011e154478c63b977bcff24c",
      "tree": "b33342752535473f07742206395049233579d12b",
      "parents": [
        "a029db43986e23677498ab4d84bb61b05de83484"
      ],
      "author": {
        "name": "Barry Song",
        "email": "Baohua.Song@csr.com",
        "time": "Mon Jan 09 12:56:23 2012 +0800"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 14 00:41:37 2012 +0100"
      },
      "message": "PM / Hibernate: Drop the check of swap space size for compressed image\n\nFor compressed image, the space required is not known until\nwe finish compressing and writing all pages.\nThis patch drops the check, and if swap space is not enough\nfinally, system can still restore to normal after writing\nswap fails for compressed images.\n\nSigned-off-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "dae5cbc2440b1d21a15715d0f1fb20f632dd38ee",
      "tree": "7cfb0b0cddcaff333bef271c54406bbdc505a75b",
      "parents": [
        "96e80a7851b44f3decaac0625665cd64e550b71d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 14 00:33:03 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 14 00:33:03 2012 +0100"
      },
      "message": "PM: Make sysrq-o be available for CONFIG_PM unset\n\nAfter commit 1eb208aea3179dd2fc0cdeea45ef869d75b4fe70, \"PM: Make\nCONFIG_PM depend on (CONFIG_PM_SLEEP || CONFIG_PM_RUNTIME)\", the\nfiles under kernel/power are not built unless CONFIG_PM_SLEEP or\nCONFIG_PM_RUNTIME is set.  In particular, this causes\nkernel/power/poweroff.c to be omitted, even though it should be\ncompiled, because CONFIG_MAGIC_SYSRQ is set.\n\nFix the problem by causing kernel/power/Makefile to be processed\nfor CONFIG_PM unset too.\n\nReported-and-tested-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "028ee4be34a09a6d48bdf30ab991ae933a7bc036",
      "tree": "455783226ceb65aee100f86afed529d4bbde1c8b",
      "parents": [
        "b3f7f573a20081910e34e99cbc91831f4f02f1ff"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu Jan 12 17:20:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:13 2012 -0800"
      },
      "message": "c/r: prctl: add PR_SET_MM codes to set up mm_struct entries\n\nWhen we restore a task we need to set up text, data and data heap sizes\nfrom userspace to the values a task had at checkpoint time.  This patch\nadds auxilary prctl codes for that.\n\nWhile most of them have a statistical nature (their values are involved\ninto calculation of /proc/\u003cpid\u003e/statm output) the start_brk and brk values\nare used to compute an allowed size of program data segment expansion.\nWhich means an arbitrary changes of this values might be dangerous\noperation.  So to restrict access the following requirements applied to\nprctl calls:\n\n - The process has to have CAP_SYS_ADMIN capability granted.\n - For all opcodes except start_brk/brk members an appropriate\n   VMA area must exist and should fit certain VMA flags,\n   such as:\n   - code segment must be executable but not writable;\n   - data segment must not be executable.\n\nstart_brk/brk values must not intersect with data segment and must not\nexceed RLIMIT_DATA resource limit.\n\nStill the main guard is CAP_SYS_ADMIN capability check.\n\nNote the kernel should be compiled with CONFIG_CHECKPOINT_RESTORE support\notherwise these prctl calls will return -EINVAL.\n\n[akpm@linux-foundation.org: cache current-\u003emm in a local, saving 200 bytes text]\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e6f0a1f0fa6bba1493c296eb30d1e176e1f8530",
      "tree": "c1bbacbc93e5b6f7759d509d7cf6207ad5b3ee65",
      "parents": [
        "b8f566b04d3cddd192cfd2418ae6d54ac6353792"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Thu Jan 12 17:20:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:11 2012 -0800"
      },
      "message": "panic: don\u0027t print redundant backtraces on oops\n\nWhen an oops causes a panic and panic prints another backtrace it\u0027s pretty\ncommon to have the original oops data be scrolled away on a 80x50 screen.\n\nThe second backtrace is quite redundant and not needed anyways.\n\nSo don\u0027t print the panic backtrace when oops_in_progress is true.\n\n[akpm@linux-foundation.org: add comment]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8f566b04d3cddd192cfd2418ae6d54ac6353792",
      "tree": "32a5bf86548cd43feff4822d800b6a99e157b5d7",
      "parents": [
        "f5138e42211d4e8bfbd6ac5b3816348da1533433"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Jan 12 17:20:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:11 2012 -0800"
      },
      "message": "sysctl: add the kernel.ns_last_pid control\n\nThe sysctl works on the current task\u0027s pid namespace, getting and setting\nits last_pid field.\n\nWriting is allowed for CAP_SYS_ADMIN-capable tasks thus making it possible\nto create a task with desired pid value.  This ability is required badly\nfor the checkpoint/restore in userspace.\n\nThis approach suits all the parties for now.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93e13a360ba331915220f82f6e9543df961ffa1f",
      "tree": "470c120ee5d3de69f46e62ec85452bee14e8d67c",
      "parents": [
        "bec013c40bc89671d8d457944fdf7d2b8e79d651"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Thu Jan 12 17:20:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:11 2012 -0800"
      },
      "message": "kdump: fix crash_kexec()/smp_send_stop() race in panic()\n\nWhen two CPUs call panic at the same time there is a possible race\ncondition that can stop kdump.  The first CPU calls crash_kexec() and the\nsecond CPU calls smp_send_stop() in panic() before crash_kexec() finished\non the first CPU.  So the second CPU stops the first CPU and therefore\nkdump fails:\n\n1st CPU:\n  panic()-\u003ecrash_kexec()-\u003emutex_trylock(\u0026kexec_mutex)-\u003e do kdump\n\n2nd CPU:\n  panic()-\u003ecrash_kexec()-\u003ekexec_mutex already held by 1st CPU\n       -\u003esmp_send_stop()-\u003e stop 1st CPU (stop kdump)\n\nThis patch fixes the problem by introducing a spinlock in panic that\nallows only one CPU to process crash_kexec() and the subsequent panic\ncode.\n\nAll other CPUs call the weak function panic_smp_self_stop() that stops the\nCPU itself.  This function can be overloaded by architecture code.  For\nexample \"tile\" can use their lower-power \"nap\" instruction for that.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bec013c40bc89671d8d457944fdf7d2b8e79d651",
      "tree": "f48220571120805a319f0df876c1cc465586978e",
      "parents": [
        "6480e5a0923756b500634d9777ec4189492fbbfe"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Thu Jan 12 17:20:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:11 2012 -0800"
      },
      "message": "kdump: crashk_res init check for /sys/kernel/kexec_crash_size\n\nCurrently it is possible to set the crash_size via the sysfs\n/sys/kernel/kexec_crash_size even if no crash kernel memory has been\ndefined with the \"crashkernel\" parameter.  In this case \"crashk_res\" is\nnot initialized and crashk_res.start \u003d crashk_res.end \u003d 0.  Unfortunately\nresource_size(\u0026crashk_res) returns 1 in this case.  This breaks the s390\nimplementation of crash_(un)map_reserved_pages().\n\nTo fix the problem the correct \"old_size\" is now calculated in\ncrash_shrink_memory().  \"old_size is set to \"0\" if crashk_res is not\ninitialized.  With this change crash_shrink_memory() will do nothing, when\n\"crashk_res\" is not initialized.  It will return \"0\" for \"echo 0 \u003e\n/sys/kernel/kexec_crash_size\" and -EINVAL for \"echo [not zero] \u003e\n/sys/kernel/kexec_crash_size\".\n\nIn addition to that this patch also simplifies the \"ret \u003d -EINVAL\" vs.\n\"ret \u003d 0\" logic as suggested by Simon Horman.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nReviewed-by: Dave Young \u003cdyoung@redhat.com\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nReviewed-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@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\n"
    }
  ],
  "next": "6480e5a0923756b500634d9777ec4189492fbbfe"
}
