)]}'
{
  "log": [
    {
      "commit": "6e0f17be0361444862637e8986c8c1a3b3f8dcf8",
      "tree": "12322ecf05872d9c30c8cf3d77d4ed6961e87cd7",
      "parents": [
        "a2fe194723f6e4990d01d8c208c7b138fd410522",
        "93574fcc5b50cc7b8834698acb2ce947e5b6a5dc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:18:00 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:18:00 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n\nPull tracing fix from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a2fe194723f6e4990d01d8c208c7b138fd410522",
      "tree": "7aee93fa8f4ba1e18b56fa7d8eab75d249fc6966",
      "parents": [
        "c3b7cdf180090d2686239a75bb0ae408108ed749",
        "a018540141a931f5299a866907b27886916b4374"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:17:17 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:17:17 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nPick up the latest ring-buffer fixes, before applying a new fix.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3e997130bd2e8c6f5aaa49d6e3161d4d29b43ab0",
      "tree": "8276ff12cb09a4f4e11c832e9f4ad43e34bde6c2",
      "parents": [
        "33d519feaccb8a1208f736d00f53a2a73d98ffaa"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 16 12:50:42 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 16 10:02:17 2012 -0700"
      },
      "message": "timekeeping: Add missing update call in timekeeping_resume()\n\nThe leap second rework unearthed another issue of inconsistent data.\n\nOn timekeeping_resume() the timekeeper data is updated, but nothing\ncalls timekeeping_update(), so now the update code in the timer\ninterrupt sees stale values.\n\nThis has been the case before those changes, but then the timer\ninterrupt was using stale data as well so this went unnoticed for quite\nsome time.\n\nAdd the missing update call, so all the data is consistent everywhere.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nReported-and-tested-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Martin Steigerwald \u003cMartin@lichtvoll.de\u003e\nCc: LKML \u003clinux-kernel@vger.kernel.org\u003e\nCc: Linux PM list \u003clinux-pm@vger.kernel.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e,\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab93eb82164f9fc426eae7b286510cfd94738b8e",
      "tree": "3f486fcafc51d2dceae44dfb2b9b261aeecaafb5",
      "parents": [
        "fdb1335a82ef1ef9442ac9377796e4e7a69d1ae4",
        "40b3c43f042c2ba8915aff5c63708207ed7639cb",
        "25c037d64e7a0a8effb562babb2b6218829134ac",
        "95c0d71dcb853c2eca5f2231ebbd4c1d3af775b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 14 11:16:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 14 11:16:24 2012 -0700"
      },
      "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\nPull RCU, perf, and scheduler fixes from Ingo Molnar.\n\nThe RCU fix is a revert for an optimization that could cause deadlocks.\n\nOne of the scheduler commits (164c33c6adee \"sched: Fix fork() error path\nto not crash\") is correct but not complete (some architectures like Tile\nare not covered yet) - the resulting additional fixes are still WIP and\nIngo did not want to delay these pending fixes.  See this thread on\nlkml:\n\n  [PATCH] fork: fix error handling in dup_task()\n\nThe perf fixes are just trivial oneliners.\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"rcu: Move PREEMPT_RCU preemption to switch_to() invocation\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf kvm: Fix segfault with report and mixed guestmount use\n  perf kvm: Fix regression with guest machine creation\n  perf script: Fix format regression due to libtraceevent merge\n  ring-buffer: Fix accounting of entries when removing pages\n  ring-buffer: Fix crash due to uninitialized new_pages list head\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  MAINTAINERS/sched: Update scheduler file pattern\n  sched/nohz: Rewrite and fix load-avg computation -- again\n  sched: Fix fork() error path to not crash\n"
    },
    {
      "commit": "d55e5bd0201a2af0182687882a92c5f95dbccc12",
      "tree": "858da1717cd4491afeffd55791ea6b607062a7cd",
      "parents": [
        "5651721edec25bf73cee060150e684044eac42dc",
        "5baefd6d84163443215f4a99f6a20f054ef11236"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 15:31:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 15:31:21 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull the leap second fixes from Thomas Gleixner:\n \"It\u0027s a rather large series, but well discussed, refined and reviewed.\n  It got a massive testing by John, Prarit and tip.\n\n  In theory we could split it into two parts.  The first two patches\n\n    f55a6faa3843: hrtimer: Provide clock_was_set_delayed()\n    4873fa070ae8: timekeeping: Fix leapsecond triggered load spike issue\n\n  are merely preventing the stuff loops forever issues, which people\n  have observed.\n\n  But there is no point in delaying the other 4 commits which achieve\n  full correctness into 3.6 as they are tagged for stable anyway.  And I\n  rather prefer to have the full fixes merged in bulk than a \"prevent\n  the observable wreckage and deal with the hidden fallout later\"\n  approach.\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  hrtimer: Update hrtimer base offsets each hrtimer_interrupt\n  timekeeping: Provide hrtimer update function\n  hrtimers: Move lock held region in hrtimer_interrupt()\n  timekeeping: Maintain ktime_t based offsets for hrtimers\n  timekeeping: Fix leapsecond triggered load spike issue\n  hrtimer: Provide clock_was_set_delayed()\n"
    },
    {
      "commit": "93574fcc5b50cc7b8834698acb2ce947e5b6a5dc",
      "tree": "f40191d94dfc121737e1acb3463874f8dc702ba7",
      "parents": [
        "c3b7cdf180090d2686239a75bb0ae408108ed749"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Jul 11 09:35:08 2012 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 11 19:56:26 2012 -0400"
      },
      "message": "tracing: Check for allocation failure in __tracing_open()\n\nClean up and return -ENOMEM on if the kzalloc() fails.\n\nThis also prevents a potential crash, as the pointer that failed to\nallocate would be later used.\n\nLink: http://lkml.kernel.org/r/20120711063507.GF11812@elgon.mountain\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "00c3e276c54ca7e102f1b771715da76b4e86a098",
      "tree": "6563a263166bb5acf1945914e3770260dcc38d65",
      "parents": [
        "605cd83694fa175894a1c63191f1f10c449b93a8",
        "29f6738609e40227dabcc63bfb3b84b3726a75bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 11 16:06:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 11 16:06:54 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge random patches from Andrew Morton.\n\n* Merge emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (32 commits)\n  memblock: free allocated memblock_reserved_regions later\n  mm: sparse: fix usemap allocation above node descriptor section\n  mm: sparse: fix section usemap placement calculation\n  xtensa: fix incorrect memset\n  shmem: cleanup shmem_add_to_page_cache\n  shmem: fix negative rss in memcg memory.stat\n  tmpfs: revert SEEK_DATA and SEEK_HOLE\n  drivers/rtc/rtc-twl.c: fix threaded IRQ to use IRQF_ONESHOT\n  fat: fix non-atomic NFS i_pos read\n  MAINTAINERS: add OMAP CPUfreq driver to OMAP Power Management section\n  sgi-xp: nested calls to spin_lock_irqsave()\n  fs: ramfs: file-nommu: add SetPageUptodate()\n  drivers/rtc/rtc-mxc.c: fix irq enabled interrupts warning\n  mm/memory_hotplug.c: release memory resources if hotadd_new_pgdat() fails\n  h8300/uaccess: add mising __clear_user()\n  h8300/uaccess: remove assignment to __gu_val in unhandled case of get_user()\n  h8300/time: add missing #include \u003casm/irq_regs.h\u003e\n  h8300/signal: fix typo \"statis\"\n  h8300/pgtable: add missing #include \u003casm-generic/pgtable.h\u003e\n  drivers/rtc/rtc-ab8500.c: ensure correct probing of the AB8500 RTC when Device Tree is enabled\n  ...\n"
    },
    {
      "commit": "4229fb1dc6843c49a14bb098719f8a696cdc44f8",
      "tree": "b4c8bd028870c42487a168842f43a15d09d4a4d0",
      "parents": [
        "a4e08d001f2e50bb8b3c4eebadcf08e5535f02ee"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Jul 11 14:02:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 11 16:04:43 2012 -0700"
      },
      "message": "c/r: prctl: less paranoid prctl_set_mm_exe_file()\n\n\"no other files mapped\" requirement from my previous patch (c/r: prctl:\nupdate prctl_set_mm_exe_file() after mm-\u003enum_exe_file_vmas removal) is too\nparanoid, it forbids operation even if there mapped one shared-anon vma.\n\nLet\u0027s check that current mm-\u003eexe_file already unmapped, in this case\nexe_file symlink already outdated and its changing is reasonable.\n\nPlus, this patch fixes exit code in case operation success.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nReported-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nTested-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5baefd6d84163443215f4a99f6a20f054ef11236",
      "tree": "6cac442ef375c1ece186f568f8cf80b92ab39060",
      "parents": [
        "f6c06abfb3972ad4914cef57d8348fcb2932bc3b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 10 18:43:25 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:39 2012 +0200"
      },
      "message": "hrtimer: Update hrtimer base offsets each hrtimer_interrupt\n\nThe update of the hrtimer base offsets on all cpus cannot be made\natomically from the timekeeper.lock held and interrupt disabled region\nas smp function calls are not allowed there.\n\nclock_was_set(), which enforces the update on all cpus, is called\neither from preemptible process context in case of do_settimeofday()\nor from the softirq context when the offset modification happened in\nthe timer interrupt itself due to a leap second.\n\nIn both cases there is a race window for an hrtimer interrupt between\ndropping timekeeper lock, enabling interrupts and clock_was_set()\nissuing the updates. Any interrupt which arrives in that window will\nsee the new time but operate on stale offsets.\n\nSo we need to make sure that an hrtimer interrupt always sees a\nconsistent state of time and offsets.\n\nktime_get_update_offsets() allows us to get the current monotonic time\nand update the per cpu hrtimer base offsets from hrtimer_interrupt()\nto capture a consistent state of monotonic time and the offsets. The\nfunction replaces the existing ktime_get() calls in hrtimer_interrupt().\n\nThe overhead of the new function vs. ktime_get() is minimal as it just\nadds two store operations.\n\nThis ensures that any changes to realtime or boottime offsets are\nnoticed and stored into the per-cpu hrtimer base structures, prior to\nany hrtimer expiration and guarantees that timers are not expired early.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-8-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f6c06abfb3972ad4914cef57d8348fcb2932bc3b",
      "tree": "5882f90d98d0429b30d0f7f7d35c14f6e0a5125a",
      "parents": [
        "196951e91262fccda81147d2bcf7fdab08668b40"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 10 18:43:24 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:39 2012 +0200"
      },
      "message": "timekeeping: Provide hrtimer update function\n\nTo finally fix the infamous leap second issue and other race windows\ncaused by functions which change the offsets between the various time\nbases (CLOCK_MONOTONIC, CLOCK_REALTIME and CLOCK_BOOTTIME) we need a\nfunction which atomically gets the current monotonic time and updates\nthe offsets of CLOCK_REALTIME and CLOCK_BOOTTIME with minimalistic\noverhead. The previous patch which provides ktime_t offsets allows us\nto make this function almost as cheap as ktime_get() which is going to\nbe replaced in hrtimer_interrupt().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-7-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "196951e91262fccda81147d2bcf7fdab08668b40",
      "tree": "80b7ae7f48d8591a6d470583b35757a000326f45",
      "parents": [
        "5b9fe759a678e05be4937ddf03d50e950207c1c0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 10 18:43:23 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:38 2012 +0200"
      },
      "message": "hrtimers: Move lock held region in hrtimer_interrupt()\n\nWe need to update the base offsets from this code and we need to do\nthat under base-\u003elock. Move the lock held region around the\nktime_get() calls. The ktime_get() calls are going to be replaced with\na function which gets the time and the offsets atomically.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-6-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5b9fe759a678e05be4937ddf03d50e950207c1c0",
      "tree": "7f0e7d0c56e87422d4a2e9847c7079850bde6b11",
      "parents": [
        "4873fa070ae84a4115f0b3c9dfabc224f1bc7c51"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 10 18:43:21 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:38 2012 +0200"
      },
      "message": "timekeeping: Maintain ktime_t based offsets for hrtimers\n\nWe need to update the hrtimer clock offsets from the hrtimer interrupt\ncontext. To avoid conversions from timespec to ktime_t maintain a\nktime_t based representation of those offsets in the timekeeper. This\nputs the conversion overhead into the code which updates the\nunderlying offsets and provides fast accessible values in the hrtimer\ninterrupt.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-4-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4873fa070ae84a4115f0b3c9dfabc224f1bc7c51",
      "tree": "84479277770c3f02a3580f6d93965fb39f71e1c5",
      "parents": [
        "f55a6faa384304c89cfef162768e88374d3312cb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 10 18:43:20 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:37 2012 +0200"
      },
      "message": "timekeeping: Fix leapsecond triggered load spike issue\n\nThe timekeeping code misses an update of the hrtimer subsystem after a\nleap second happened. Due to that timers based on CLOCK_REALTIME are\neither expiring a second early or late depending on whether a leap\nsecond has been inserted or deleted until an operation is initiated\nwhich causes that update. Unless the update happens by some other\nmeans this discrepancy between the timekeeping and the hrtimer data\nstays forever and timers are expired either early or late.\n\nThe reported immediate workaround - $ data -s \"`date`\" - is causing a\ncall to clock_was_set() which updates the hrtimer data structures.\nSee: http://www.sheeri.com/content/mysql-and-leap-second-high-cpu-and-fix\n\nAdd the missing clock_was_set() call to update_wall_time() in case of\na leap second event. The actual update is deferred to softirq context\nas the necessary smp function call cannot be invoked from hard\ninterrupt context.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReported-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-3-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f55a6faa384304c89cfef162768e88374d3312cb",
      "tree": "522b895184e6ff0ff935d5b883eb67f8ea45e993",
      "parents": [
        "055c9fa8874fa7261eec7a268366565db84af474"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 10 18:43:19 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:37 2012 +0200"
      },
      "message": "hrtimer: Provide clock_was_set_delayed()\n\nclock_was_set() cannot be called from hard interrupt context because\nit calls on_each_cpu().\n\nFor fixing the widely reported leap seconds issue it is necessary to\ncall it from hard interrupt context, i.e. the timer tick code, which\ndoes the timekeeping updates.\n\nProvide a new function which denotes it in the hrtimer cpu base\nstructure of the cpu on which it is called and raise the hrtimer\nsoftirq. We then execute the clock_was_set() notificiation from\nsoftirq context in run_hrtimer_softirq(). The hrtimer softirq is\nrarely used, so polling the flag there is not a performance issue.\n\n[ tglx: Made it depend on CONFIG_HIGH_RES_TIMERS. We really should get\n  rid of all this ifdeffery ASAP ]\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReported-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-2-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3dc352c02fa73728531765b4ca0f671c1e3be171",
      "tree": "c79456d2d34d5d0aef8fd4d0f12ac0126fe14b4c",
      "parents": [
        "1e032dc59b66b62d2776f30fb231a0a568146fda",
        "5becfb1df5ac8e491338e64b1029685ccad4b39c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 11 12:15:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 11 12:15:15 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.5-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull printk fixes from Greg Kroah-Hartman:\n \"Here are some more printk fixes for 3.5-rc6.  They resolve all known\n  outstanding issues with the printk changes that have been happening.\n  They have been tested by the people reporting the problems.\n\n  This hopefully should be it for the printk stuff for 3.5-final.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027driver-core-3.5-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  kmsg: merge continuation records while printing\n  kmsg: /proc/kmsg - support reading of partial log records\n  kmsg: make sure all messages reach a newly registered boot console\n  kmsg: properly handle concurrent non-blocking read() from /proc/kmsg\n  kmsg: add the facility number to the syslog prefix\n  kmsg: escape the backslash character while exporting data\n  printk: replacing the raw_spin_lock/unlock with raw_spin_lock/unlock_irq\n"
    },
    {
      "commit": "5becfb1df5ac8e491338e64b1029685ccad4b39c",
      "tree": "10f6ca3f08493881d02a18248f726bd621f3e7a6",
      "parents": [
        "eb02dac93708f581c99858a19162af8ca2b6bfcb"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon Jul 09 12:15:42 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 09 12:15:42 2012 -0700"
      },
      "message": "kmsg: merge continuation records while printing\n\nIn (the unlikely) case our continuation merge buffer is busy, we unfortunately\ncan not merge further continuation printk()s into a single record and have to\nstore them separately, which leads to split-up output of these lines when they\nare printed.\n\nAdd some flags about newlines and prefix existence to these records and try to\nreconstruct the full line again, when the separated records are printed.\n\nReported-By: Michael Neuling \u003cmikey@neuling.org\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nTested-By: Michael Neuling \u003cmikey@neuling.org\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "eb02dac93708f581c99858a19162af8ca2b6bfcb",
      "tree": "2e749f4599eff44107ecedea84eacd51a859a6a5",
      "parents": [
        "68b6507dc554ba015b5ed5e13b1ed4993cdf4024"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon Jul 09 10:05:10 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 09 10:05:10 2012 -0700"
      },
      "message": "kmsg: /proc/kmsg - support reading of partial log records\n\nRestore support for partial reads of any size on /proc/kmsg, in case the\nsupplied read buffer is smaller than the record size.\n\nSome people seem to think is is ia good idea to run:\n  $ dd if\u003d/proc/kmsg bs\u003d1 of\u003d...\nas a klog bridge.\n\nResolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id\u003d44211\nReported-by: Jukka Ollila \u003cjiiksteri@gmail.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "5db9a4d99b0157a513944e9a44d29c9cec2e91dc",
      "tree": "8373f346ea412ece84781bdce33c5e938ad3e3ee",
      "parents": [
        "7db5b3ca0ecdb2e8fad52a4770e4e320e61c77a6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 07 16:08:18 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 07 16:08:18 2012 -0700"
      },
      "message": "cgroup: fix cgroup hierarchy umount race\n\n48ddbe1946 \"cgroup: make css-\u003erefcnt clearing on cgroup removal\noptional\" allowed a css to linger after the associated cgroup is\nremoved.  As a css holds a reference on the cgroup\u0027s dentry, it means\nthat cgroup dentries may linger for a while.\n\nDestroying a superblock which has dentries with positive refcnts is a\ncritical bug and triggers BUG() in vfs code.  As each cgroup dentry\nholds an s_active reference, any lingering cgroup has both its dentry\nand the superblock pinned and thus preventing premature release of\nsuperblock.\n\nUnfortunately, after 48ddbe1946, there\u0027s a small window while\nreleasing a cgroup which is directly under the root of the hierarchy.\nWhen a cgroup directory is released, vfs layer first deletes the\ncorresponding dentry and then invokes dput() on the parent, which may\nrecurse further, so when a cgroup directly below root cgroup is\nreleased, the cgroup is first destroyed - which releases the s_active\nit was holding - and then the dentry for the root cgroup is dput().\n\nThis creates a window where the root dentry\u0027s refcnt isn\u0027t zero but\nsuperblock\u0027s s_active is.  If umount happens before or during this\nwindow, vfs will see the root dentry with non-zero refcnt and trigger\nBUG().\n\nBefore 48ddbe1946, this problem didn\u0027t exist because the last dentry\nreference was guaranteed to be put synchronously from rmdir(2)\ninvocation which holds s_active around the whole process.\n\nFix it by holding an extra superblock-\u003es_active reference across\ndput() from css release, which is the dput() path added by 48ddbe1946\nand the only one which doesn\u0027t hold an extra s_active ref across the\nfinal cgroup dput().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c4FEEA5CB.8070809@huawei.com\u003e\nReported-by: shyju pv \u003cshyju.pv@huawei.com\u003e\nTested-by: shyju pv \u003cshyju.pv@huawei.com\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "7db5b3ca0ecdb2e8fad52a4770e4e320e61c77a6",
      "tree": "3a6c5d2482e1be5c7d8104073e958b9638e31dec",
      "parents": [
        "cd6407fe220c5cf26c117457f5bcdfd6a81fbef8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 07 15:55:47 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 07 15:55:47 2012 -0700"
      },
      "message": "Revert \"cgroup: superblock can\u0027t be released with active dentries\"\n\nThis reverts commit fa980ca87d15bb8a1317853f257a505990f3ffde.  The\ncommit was an attempt to fix a race condition where a cgroup hierarchy\nmay be unmounted with positive dentry reference on root cgroup.  While\nthe commit made the race condition slightly more difficult to trigger,\nthe race was still there and could be reliably triggered using a\ndifferent test case.\n\nRevert the incorrect fix.  The next commit will describe the race and\nfix it correctly.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c4FEEA5CB.8070809@huawei.com\u003e\nReported-by: shyju pv \u003cshyju.pv@huawei.com\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "68b6507dc554ba015b5ed5e13b1ed4993cdf4024",
      "tree": "d8713cbaf2f7a0778f1bc58c2c499c742c4c21f5",
      "parents": [
        "cb424ffe9f45ad80267f2a98fbd9bf21caa0ce22"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Fri Jul 06 09:50:09 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jul 06 09:50:09 2012 -0700"
      },
      "message": "kmsg: make sure all messages reach a newly registered boot console\n\nWe suppress printing kmsg records to the console, which are already printed\nimmediately while we have received their fragments.\n\nNewly registered boot consoles print the entire kmsg buffer during\nregistration. Clear the console-suppress flag after we skipped the record\nduring its first storage, so any later print will see these records as usual.\n\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "cb424ffe9f45ad80267f2a98fbd9bf21caa0ce22",
      "tree": "5cc5ff53498de2f5bd8262a467fdd39454360cdc",
      "parents": [
        "43a73a50b352cd3df25b3ced72033942a6a0f919"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Fri Jul 06 09:50:09 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jul 06 09:50:09 2012 -0700"
      },
      "message": "kmsg: properly handle concurrent non-blocking read() from /proc/kmsg\n\nThe /proc/kmsg read() interface is internally simply wired up to a sequence\nof syslog() syscalls, which might are racy between their checks and actions,\nregarding concurrency.\n\nIn the (very uncommon) case of concurrent readers of /dev/kmsg, relying on\nusual O_NONBLOCK behavior, the recently introduced mutex might block an\nO_NONBLOCK reader in read(), when poll() returns for it, but another process\nhas already read the data in the meantime. We\u0027ve seen that while running\nartificial test setups and tools that \"fight\" about /proc/kmsg data.\n\nThis restores the original /proc/kmsg behavior, where in case of concurrent\nread()s, poll() might wake up but the read() syscall will just return 0 to\nthe caller, while another process has \"stolen\" the data.\n\nThis is in the general case not the expected behavior, but it is the exact\nsame one, that can easily be triggered with a 3.4 kernel, and some tools\nmight just rely on it.\n\nThe mutex is not needed, the original integrity issue which introduced it,\nis in the meantime covered by:\n  \"fill buffer with more than a single message for SYSLOG_ACTION_READ\"\n  116e90b23f74d303e8d607c7a7d54f60f14ab9f2\n\nCc: Yuanhan Liu \u003cyuanhan.liu@linux.intel.com\u003e\nAcked-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "43a73a50b352cd3df25b3ced72033942a6a0f919",
      "tree": "d197a4aede4273b31697b8ff11286ded7966bf48",
      "parents": [
        "e3f5a5f27153228569f3396049838e9727dae86e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Fri Jul 06 09:50:09 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jul 06 09:50:09 2012 -0700"
      },
      "message": "kmsg: add the facility number to the syslog prefix\n\nAfter the recent split of facility and level into separate variables,\nwe miss the facility value (always 0 for kernel-originated messages)\nin the syslog prefix.\n\nOn Tue, Jul 3, 2012 at 12:45 PM, Dan Carpenter \u003cdan.carpenter@oracle.com\u003e wrote:\n\u003e Static checkers complain about the impossible condition here.\n\u003e\n\u003e In 084681d14e (\u0027printk: flush continuation lines immediately to\n\u003e console\u0027), we changed msg-\u003elevel from being a u16 to being an unsigned\n\u003e 3 bit bitfield.\n\nCc: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e3f5a5f27153228569f3396049838e9727dae86e",
      "tree": "8ae40775f660a5dcca57960fac222096e1dfefed",
      "parents": [
        "5c53d819c71c63fdc91f30a59164583f68e2d63a"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Fri Jul 06 09:50:09 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jul 06 09:50:09 2012 -0700"
      },
      "message": "kmsg: escape the backslash character while exporting data\n\nNon-printable characters in the log data are hex-escaped to ensure safe\npost processing. We need to escape a backslash we find in the data, to be\nable to distinguish it from a backslash we add for the escaping.\n\nAlso escape the non-printable character 127.\n\nThanks to Miloslav Trmac for the heads up.\n\nReported-by: Michael Neuling \u003cmikey@neuling.org\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "5c53d819c71c63fdc91f30a59164583f68e2d63a",
      "tree": "e54c65ff9106c7ac29e9636310722db9d7bb170f",
      "parents": [
        "6887a4131da3adaab011613776d865f4bcfb5678"
      ],
      "author": {
        "name": "liu chuansheng",
        "email": "chuansheng.liu@intel.com",
        "time": "Fri Jul 06 09:50:08 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jul 06 09:50:08 2012 -0700"
      },
      "message": "printk: replacing the raw_spin_lock/unlock with raw_spin_lock/unlock_irq\n\nIn function devkmsg_read/writev/llseek/poll/open()..., the function\nraw_spin_lock/unlock is used, there is potential deadlock case happening.\nCPU1: thread1 doing the cat /dev/kmsg:\n        raw_spin_lock(\u0026logbuf_lock);\n        while (user-\u003eseq \u003d\u003d log_next_seq) {\nwhen thread1 run here, at this time one interrupt is coming on CPU1 and running\nbased on this thread,if the interrupt handle called the printk which need the\nlogbuf_lock spin also, it will cause deadlock.\n\nSo we should use raw_spin_lock/unlock_irq here.\n\nAcked-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: liu chuansheng \u003cchuansheng.liu@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "40b3c43f042c2ba8915aff5c63708207ed7639cb",
      "tree": "3249ad124f33aa664c79df44e6d7c3948d5e73d5",
      "parents": [
        "9e85a6f9dc231f3ed3c1dc1b12217505d970142a",
        "cba6d0d64ee53772b285d0c0c288deefbeaf7775"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 06 11:18:50 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 06 11:18:50 2012 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent\n\nPull low probability CONFIG_RCU_BOOST\u003dy deadlock fix from Paul E. McKenney.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "35c2f48c66d9c1b8d794c3936c3be22aa7c89adb",
      "tree": "de0233d45fec273920bce0bc8640465cbf439600",
      "parents": [
        "47fbc518a4b5c9a949f7cab8b14a00d3549bf138",
        "a5fb833172eca69136e9ee1ada778e404086ab8a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 06 11:12:17 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 06 11:12:17 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n\nPull tracing updates from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "90574ebb7e6e0f7f74636ee87315890ba88d6a4a",
      "tree": "5f60106dacbfe246f52aaaf9bac69dd4749f24a6",
      "parents": [
        "add79461a2a7d964a00b4a2fdaf313c4cf9cf4ec",
        "ce5c1fe9a9e059b5c58f0a7e2a3e687d0efac815"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 05 21:10:23 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 05 21:10:23 2012 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge this branch to pick up a fixlet and to update to a more recent base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5167e8d5417bf5c322a703d2927daec727ea40dd",
      "tree": "b919aac933c104e7c7abc1730da810f60ba3229d",
      "parents": [
        "164c33c6adee609b8b9062cce4c10f764d0dce13"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 22 15:52:09 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 05 20:58:13 2012 +0200"
      },
      "message": "sched/nohz: Rewrite and fix load-avg computation -- again\n\nThanks to Charles Wang for spotting the defects in the current code:\n\n - If we go idle during the sample window -- after sampling, we get a\n   negative bias because we can negate our own sample.\n\n - If we wake up during the sample window we get a positive bias\n   because we push the sample to a known active period.\n\nSo rewrite the entire nohz load-avg muck once again, now adding\ncopious documentation to the code.\n\nReported-and-tested-by: Doug Smythies \u003cdsmythies@telus.net\u003e\nReported-and-tested-by: Charles Wang \u003cmuming.wq@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1340373782.18025.74.camel@twins\n[ minor edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "164c33c6adee609b8b9062cce4c10f764d0dce13",
      "tree": "47ff40e1ae3d8206dd900e64d757ce16a3ee0774",
      "parents": [
        "9e85a6f9dc231f3ed3c1dc1b12217505d970142a"
      ],
      "author": {
        "name": "Salman Qazi",
        "email": "sqazi@google.com",
        "time": "Mon Jun 25 18:18:15 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 05 20:57:32 2012 +0200"
      },
      "message": "sched: Fix fork() error path to not crash\n\nIn dup_task_struct(), if arch_dup_task_struct() fails, the clean up\ncode fails to clean up correctly.  That\u0027s because the clean up\ncode depends on unininitalized ti-\u003etask pointer.  We fix this\nby making sure that the task and thread_info know about each other\nbefore we attempt to take the error path.\n\nSigned-off-by: Salman Qazi \u003csqazi@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120626011815.11323.5533.stgit@dungbeetle.mtv.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a3da2c6913469ecb2224d891c45470b37b4d67f4",
      "tree": "cbedea8d0c8c101cfffccdbaf273e7adf92a4e46",
      "parents": [
        "ff826b2b5b269ad440afa686ede879ccabfda387",
        "6d9359280753d2955f86d6411047516a9431eb51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 03 15:45:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 03 15:45:10 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull block bits from Jens Axboe:\n \"As vacation is coming up, thought I\u0027d better get rid of my pending\n  changes in my for-linus branch for this iteration.  It contains:\n\n   - Two patches for mtip32xx.  Killing a non-compliant sysfs interface\n     and moving it to debugfs, where it belongs.\n\n   - A few patches from Asias.  Two legit bug fixes, and one killing an\n     interface that is no longer in use.\n\n   - A patch from Jan, making the annoying partition ioctl warning a bit\n     less annoying, by restricting it to !CAP_SYS_RAWIO only.\n\n   - Three bug fixes for drbd from Lars Ellenberg.\n\n   - A fix for an old regression for umem, it hasn\u0027t really worked since\n     the plugging scheme was changed in 3.0.\n\n   - A few fixes from Tejun.\n\n   - A splice fix from Eric Dumazet, fixing an issue with pipe\n     resizing.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  scsi: Silence unnecessary warnings about ioctl to partition\n  block: Drop dead function blk_abort_queue()\n  block: Mitigate lock unbalance caused by lock switching\n  block: Avoid missed wakeup in request waitqueue\n  umem: fix up unplugging\n  splice: fix racy pipe-\u003ebuffers uses\n  drbd: fix null pointer dereference with on-congestion policy when diskless\n  drbd: fix list corruption by failing but already aborted reads\n  drbd: fix access of unallocated pages and kernel panic\n  xen/blkfront: Add WARN to deal with misbehaving backends.\n  blkcg: drop local variable @q from blkg_destroy()\n  mtip32xx: Create debugfs entries for troubleshooting\n  mtip32xx: Remove \u0027registers\u0027 and \u0027flags\u0027 from sysfs\n  blkcg: fix blkg_alloc() failure path\n  block: blkcg_policy_cfq shouldn\u0027t be used if !CONFIG_CFQ_GROUP_IOSCHED\n  block: fix return value on cfq_init() failure\n  mtip32xx: Remove version.h header file inclusion\n  xen/blkback: Copy id field when doing BLKIF_DISCARD.\n"
    },
    {
      "commit": "cba6d0d64ee53772b285d0c0c288deefbeaf7775",
      "tree": "b2d3de62d15a77d23708c1af6f188c86f0d87fb9",
      "parents": [
        "6887a4131da3adaab011613776d865f4bcfb5678"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jul 02 07:08:42 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jul 02 11:39:19 2012 -0700"
      },
      "message": "Revert \"rcu: Move PREEMPT_RCU preemption to switch_to() invocation\"\n\nThis reverts commit 616c310e83b872024271c915c1b9ab505b9efad9.\n(Move PREEMPT_RCU preemption to switch_to() invocation).\nTesting by Sasha Levin \u003clevinsasha928@gmail.com\u003e showed that this\ncan result in deadlock due to invoking the scheduler when one of\nthe runqueue locks is held.  Because this commit was simply a\nperformance optimization, revert it.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\n"
    },
    {
      "commit": "4f0f4af59cb07bcf44d3c07a9e8c26df54d9fff8",
      "tree": "d30f6dda504fc62a20b40b28912746c164630941",
      "parents": [
        "87fac288083db40b5d5ab845393be268357c8827"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jun 30 15:37:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 30 15:56:40 2012 -0700"
      },
      "message": "printk.c: fix kernel-doc warnings\n\nFix kernel-doc warnings in printk.c: use correct parameter name.\n\n  Warning(kernel/printk.c:2429): No description found for parameter \u0027buf\u0027\n  Warning(kernel/printk.c:2429): Excess function parameter \u0027line\u0027 description in \u0027kmsg_dump_get_buffer\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21f27291f561ff501a8c133714ac89b2f3ccd110",
      "tree": "274edac8d367e4a7c3746b2a4f9cbbdd5a51eae7",
      "parents": [
        "02529ba26f444e2a214c3dcacd866928e9edcfc0",
        "d36208227d03c44c0a74cd702cc94528162e1703"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 30 10:11:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 30 10:11:24 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.5-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver Core fixes from Greg Kroah-Hartman:\n \"Here is a number of printk() fixes, specifically a few reported by the\n  crazy blog program that ships in SUSE releases (that\u0027s \"boot log\" and\n  not \"web log\", it predates the general \"blog\" terminology by many\n  years), and the restoration of the continuation line functionality\n  reported by Stephen and others.  Yes, the changes seem a bit big this\n  late in the cycle, but I\u0027ve been beating on them for a while now, and\n  Stephen has even optimized it a bit, so all looks good to me.\n\n  The other change in here is a Documentation update for the stable\n  kernel rules describing how some distro patches should be backported,\n  to hopefully drive a bit more response from the distros to the stable\n  kernel releases.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027driver-core-3.5-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  printk: Optimize if statement logic where newline exists\n  printk: flush continuation lines immediately to console\n  syslog: fill buffer with more than a single message for SYSLOG_ACTION_READ\n  Revert \"printk: return -EINVAL if the message len is bigger than the buf size\"\n  printk: fix regression in SYSLOG_ACTION_CLEAR\n  stable: Allow merging of backports for serious user-visible performance issues\n"
    },
    {
      "commit": "d36208227d03c44c0a74cd702cc94528162e1703",
      "tree": "57e8fdef7ebf7b01e0377ba68ae58921fb545cf5",
      "parents": [
        "084681d14e429cb6192262ac7437f00e2c02f26a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 29 11:40:11 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 29 16:55:35 2012 -0400"
      },
      "message": "printk: Optimize if statement logic where newline exists\n\nIn reviewing Kay\u0027s fix up patch: \"printk: Have printk() never buffer its\ndata\", I found two if statements that could be combined and optimized.\n\nPut together the two \u0027cont.len \u0026\u0026 cont.owner \u003d\u003d current\u0027 if statements\ninto a single one, and check if we need to call cont_add(). This also\nremoves the unneeded double cont_flush() calls.\n\nLink: http://lkml.kernel.org/r/1340869133.876.10.camel@mop\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "48fdc72f23ad9a9956e524a47843135d0bbc3317",
      "tree": "baaec367ed2c155d35c76b6d79b7bf1eb9092af7",
      "parents": [
        "44b99462d9d776522e174d6c531ce5ccef309e26"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Fri Jun 29 12:31:41 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 29 16:17:17 2012 -0400"
      },
      "message": "ring-buffer: Fix accounting of entries when removing pages\n\nWhen removing pages from the ring buffer, its state is not reset. This\nmeans that the counters need to be correctly updated to account for the\npages removed.\n\nUpdate the overrun counter to reflect the removed events from the pages.\n\nLink: http://lkml.kernel.org/r/1340998301-1715-1-git-send-email-vnagarnaik@google.com\n\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "44b99462d9d776522e174d6c531ce5ccef309e26",
      "tree": "084dba8a82b1d0e6da17063e200d62a07c6a6e76",
      "parents": [
        "662f5cedb38c4b88e1cebfd54a88159f2f7ab7b9"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Fri Jun 22 11:50:05 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 29 16:16:35 2012 -0400"
      },
      "message": "ring-buffer: Fix crash due to uninitialized new_pages list head\n\nThe new_pages list head in the cpu_buffer is not initialized. When\nadding pages to the ring buffer, if the memory allocation fails in\nring_buffer_resize, the clean up handler tries to free up the allocated\npages from all the cpu buffers. The panic is caused by referencing the\nuninitialized new_pages list head.\n\nInitializing the new_pages list head in rb_allocate_cpu_buffer fixes\nthis.\n\nLink: http://lkml.kernel.org/r/1340391005-10880-1-git-send-email-vnagarnaik@google.com\n\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "084681d14e429cb6192262ac7437f00e2c02f26a",
      "tree": "60ef064def42a8b077cf1caaf465bc4029bbf360",
      "parents": [
        "116e90b23f74d303e8d607c7a7d54f60f14ab9f2"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Thu Jun 28 09:38:53 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 29 11:39:42 2012 -0400"
      },
      "message": "printk: flush continuation lines immediately to console\n\nContinuation lines are buffered internally, intended to merge the\nchunked printk()s into a single record, and to isolate potentially\nracy continuation users from usual terminated line users.\n\nThis though, has the effect that partial lines are not printed to\nthe console in the moment they are emitted. In case the kernel\ncrashes in the meantime, the potentially interesting printed\ninformation would never reach the consoles.\n\nHere we share the continuation buffer with the console copy logic,\nand partial lines are always immediately flushed to the available\nconsoles. They are still buffered internally to improve the\nreadability and integrity of the messages and minimize the amount\nof needed record headers to store.\n\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a5fb833172eca69136e9ee1ada778e404086ab8a",
      "tree": "abb4dc51bb1c81f3ac185c1f16d63370afbd492e",
      "parents": [
        "6d158a813efcd09661c23f16ddf7e2ff834cb20c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 28 13:35:04 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 28 13:52:15 2012 -0400"
      },
      "message": "ring-buffer: Fix uninitialized read_stamp\n\nThe ring buffer reader page is used to swap a page from the writable\nring buffer. If the writer happens to be on that page, it ends up on the\nreader page, but will simply move off of it, back into the writable ring\nbuffer as writes are added.\n\nThe time stamp passed back to the readers is stored in the cpu_buffer per\nCPU descriptor. This stamp is updated when a swap of the reader page takes\nplace, and it reads the current stamp from the page taken from the writable\nring buffer. Everytime a writer goes to a new page, it updates the time stamp\nof that page.\n\nThe problem happens if a reader reads a page from an empty per CPU ring buffer.\nIf the buffer is empty, the swap still takes place, placing the writer at the\nstart of the reader page. If at a later time, a write happens, it updates the\npage\u0027s time stamp and continues. But the problem is that the read_stamp does\nnot get updated, because the page was already swapped.\n\nThe solution to this was to not swap the page if the ring buffer happens to\nbe empty. This also removes the side effect that the writes on the reader\npage will not get updated because the writer never gets back on the reader\npage without a swap. That is, if a read happens on an empty buffer, but then\nno reads happen for a while. If a swap took place, and the writer were to start\nwriting a lot of data (function tracer), it will start overflowing the ring buffer\nand overwrite the older data. But because the writer never goes back onto the\nreader page, the data left on the reader page never gets overwritten. This\ncauses the reader to see really old data, followed by a jump to newer data.\n\nLink: http://lkml.kernel.org/r/1340060577-9112-1-git-send-email-dhsharp@google.com\nGoogle-Bug-Id: 6410455\nReported-by: David Sharp \u003cdhsharp@google.com\u003e\ntested-by: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6d158a813efcd09661c23f16ddf7e2ff834cb20c",
      "tree": "c3937902e8ef5196638a9c31fd3b6280540a101d",
      "parents": [
        "b102f1d0f1cd0bb5ec82e5aeb1e33502d6ad6710"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 27 20:46:14 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 28 13:52:15 2012 -0400"
      },
      "message": "tracing: Remove NR_CPUS array from trace_iterator\n\nReplace the NR_CPUS array of buffer_iter from the trace_iterator\nwith an allocated array. This will just create an array of\npossible CPUS instead of the max number specified.\n\nThe use of NR_CPUS in that array caused allocation failures for\nmachines that were tight on memory. This did not cause any failures\nto the system itself (no crashes), but caused unnecessary failures\nfor reading the trace files.\n\nAdded a helper function called \u0027trace_buffer_iter()\u0027 that returns\nthe buffer_iter item or NULL if it is not defined or the array was\nnot allocated. Some routines do not require the array\n(tracing_open_pipe() for one).\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0be61ebc18b919dddbdbcd1c4f42513c310ecf59",
      "tree": "60a26df229aa1187f1c75871431ef9a92c255a75",
      "parents": [
        "357398e96d8c883b010379a7669df43ed0e2e32b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jun 18 09:28:16 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 28 13:52:14 2012 -0400"
      },
      "message": "tracing/selftest: Add a WARN_ON() if a tracer test fails\n\nAdd a WARN_ON() output on test failures so that they are easier to detect\nin automated tests. Although, the WARN_ON() will not print if the test\ncauses the system to crash, obviously.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "116e90b23f74d303e8d607c7a7d54f60f14ab9f2",
      "tree": "bec5bed13a74539d2741334593cdd7f2fc4241c5",
      "parents": [
        "6fda135c908d0f38a0167adcbd71094572e3059b"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Fri Jun 22 16:36:09 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jun 26 12:37:36 2012 -0700"
      },
      "message": "syslog: fill buffer with more than a single message for SYSLOG_ACTION_READ\n\nThe recent changes to the printk buffer management resulted in\nSYSLOG_ACTION_READ to only return a single message, whereas previously\nthe buffer would get filled as much as possible. As, when too small to\nfit everything, filling it to the last byte would be pretty ugly with\nthe new code, the patch arranges for as many messages as possible to\nget returned in a single invocation. User space tools in at least all\nSLES versions depend on the old behavior.\n\nThis at once addresses the issue attempted to get fixed with commit\nb56a39ac263e5b8cafedd551a49c2105e68b98c2 (\"printk: return -EINVAL if\nthe message len is bigger than the buf size\"), and since that commit\nwidened the possibility for losing a message altogether, the patch\nhere assumes that this other commit would get reverted first\n(otherwise the patch here won\u0027t apply).\n\nFurthermore, this patch also addresses the problem dealt with in\ncommit 4a77a5a06ec66ed05199b301e7c25f42f979afdc (\"printk: use mutex\nlock to stop syslog_seq from going wild\"), so I\u0027d recommend reverting\nthat one too (albeit there\u0027s no direct collision between the two).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nAcked-by: Kay Sievers \u003ckay@vrfy.org\u003e\nCc: Yuanhan Liu \u003cyuanhan.liu@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6fda135c908d0f38a0167adcbd71094572e3059b",
      "tree": "c0583c05c9706e15535ba851076c3aeee02ed0d4",
      "parents": [
        "4661e3568a7d14a93d4e428d246cdb86f4bac6e7"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jun 26 12:35:24 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jun 26 12:35:24 2012 -0700"
      },
      "message": "Revert \"printk: return -EINVAL if the message len is bigger than the buf size\"\n\nThis reverts commit b56a39ac263e5b8cafedd551a49c2105e68b98c2.\n\nA better patch from Jan will follow this to resolve the issue.\n\nAcked-by: Kay Sievers \u003ckay@vrfy.org\u003e\nCc: Fengguang Wu \u003cwfg@linux.intel.com\u003e\nCc: Yuanhan Liu \u003cyuanhan.liu@linux.intel.com\u003e\nCc: Jan Beulich \u003cJBeulich@suse.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b41772abebc27c61dd578b76da99aa5240b4c99a",
      "tree": "cb26f8195bcda4aaf6bcbe5de782eec4cef52709",
      "parents": [
        "6b16351acbd415e66ba16bf7d473ece1574cf0bc"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jun 21 20:50:42 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jun 25 12:35:25 2012 -0700"
      },
      "message": "rcu: Stop rcu_do_batch() from multiplexing the \"count\" variable\n\nCommit b1420f1c (Make rcu_barrier() less disruptive) rearranged the\ncode in rcu_do_batch(), moving the -\u003eqlen manipulation to follow\nthe requeueing of the callbacks.  Unfortunately, this rearrangement\nclobbered the value of the \"count\" local variable before the value\nof rdp-\u003eqlen was adjusted, resulting in the value of rdp-\u003eqlen being\ninaccurate.  This commit therefore introduces an index variable \"i\",\navoiding the inadvertent multiplexing.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "4661e3568a7d14a93d4e428d246cdb86f4bac6e7",
      "tree": "1804bac9d31e9332e1960630de960e224ec9218f",
      "parents": [
        "eb3979f64d25120d60b9e761a4c58f70b1a02f86"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jun 22 17:12:19 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jun 25 12:11:58 2012 -0700"
      },
      "message": "printk: fix regression in SYSLOG_ACTION_CLEAR\n\nCommit 7ff9554bb578ba02166071d2d487b7fc7d860d62 (printk: convert\nbyte-buffer to variable-length record buffer) introduced a regression\nby accidentally removing a \"break\" statement from inside the big\nswitch in printk\u0027s do_syslog().  The symptom of this bug is that the\n\"dmesg -C\" command doesn\u0027t only clear the kernel\u0027s log buffer; it also\ndisables console logging.\n\nThis patch (as1561) fixes the regression by adding the missing\n\"break\".\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a11637194adc8bf2c2022ac89314dbdd1fcd1778",
      "tree": "b761d38ee683a71b7140b4203aee1cd319c5ef0e",
      "parents": [
        "636040b4eddf6152b5d0b2d574663809f898953b",
        "6921a575c9f26f7ea274aaea3b78967810ce5513"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 22 10:58:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 22 10:58:57 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ftrace: Make all inline tags also include notrace\n  perf: Use css_tryget() to avoid propping up css refcount\n  perf tools: Fix synthesizing tracepoint names from the perf.data headers\n  perf stat: Fix default output file\n  perf tools: Fix endianity swapping for adds_features bitmask\n"
    },
    {
      "commit": "2ce5682947872061148b0e5ed2212e03d0d8bc8b",
      "tree": "0038a1806eac265460c13c4b1f0cfa91822978e2",
      "parents": [
        "c4c0e9e544a0eb640798cc66e68f394fa4a561bf",
        "8e3bbf42c6d73881956863cc3305456afe2bc4ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 22:11:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 22:11:04 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull two cgroup fixes from Tejun Heo:\n \"This containes two patches fixing a refcnt race bug during css_put().\n  Decrementing and checking the value weren\u0027t atomic and two tasks could\n  think that they both pushed the counter to zero.\"\n\n* \u0027for-3.5-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroups: Account for CSS_DEACT_BIAS in __css_put\n  cgroup: make sure that decisions in __css_put are atomic\n"
    },
    {
      "commit": "fe80352460971de12519bf46ed5ec4235350bcd7",
      "tree": "5ecaa3409b76cb0829f905e5c1ceadf20a29829c",
      "parents": [
        "f8fc0c9a5f7f4f5a3d2e7dd58147e30053cc5dd8",
        "96c9f05b39a5a3239cf0588cc86a1b95cac652c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 15:14:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 15:14:28 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.5-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core and printk fixes from Greg Kroah-Hartman:\n \"Here are some fixes for 3.5-rc4 that resolve the kmsg problems that\n  people have reported showing up after the printk and kmsg changes went\n  into 3.5-rc1.  There are also a smattering of other tiny fixes for the\n  extcon and hyper-v drivers that people have reported.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027driver-core-3.5-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  extcon: max8997: Add missing kfree for info-\u003eedev in max8997_muic_remove()\n  extcon: Set platform drvdata in gpio_extcon_probe() and fix irq leak\n  extcon: Fix wrong index in max8997_extcon_cable[]\n  kmsg - kmsg_dump() fix CONFIG_PRINTK\u003dn compilation\n  printk: return -EINVAL if the message len is bigger than the buf size\n  printk: use mutex lock to stop syslog_seq from going wild\n  kmsg - kmsg_dump() use iterator to receive log buffer content\n  vme: change maintainer e-mail address\n  Extcon: Don\u0027t try to create duplicate link names\n  driver core: fixup reversed deferred probe order\n  printk: Fix alignment of buf causing crash on ARM EABI\n  Tools: hv: verify origin of netlink connector message\n"
    },
    {
      "commit": "5702c5eeab959e86ee2d9b4fe7f2d87e65b25d46",
      "tree": "43e67dfe6d036691e9594453dfda1288e1b298c2",
      "parents": [
        "50d75f8daead8a1f850c40a3b6c6575ab19b48cf"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Wed Jun 20 12:53:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 14:39:36 2012 -0700"
      },
      "message": "c/r: prctl: Move PR_GET_TID_ADDRESS to a proper place\n\nDuring merging of PR_GET_TID_ADDRESS patch the code has been misplaced (it\nhappened to appear under PR_MCE_KILL) in result noone can use this option.\n\nFix it by moving code snippet to a proper place.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Andrey Vagin \u003cavagin@openvz.org\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50d75f8daead8a1f850c40a3b6c6575ab19b48cf",
      "tree": "1917eec9deadded31869372207772d9a3d3ca11a",
      "parents": [
        "6347e90091041e34bea625370794c92f4ce71228"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 20 12:53:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 14:39:36 2012 -0700"
      },
      "message": "pidns: find_new_reaper() can no longer switch to init_pid_ns.child_reaper\n\nfind_new_reaper() changes pid_ns-\u003echild_reaper, see add0d4df (\"pid_ns:\nzap_pid_ns_processes: fix the -\u003echild_reaper changing\").\n\nThe original reason has gone away after the previous patch, -\u003echildren\nlist must be empty after zap_pid_ns_processes().\n\nHowever now we can not switch to init_pid_ns.child_reaper.\n__unhash_process() relies on the \"-\u003echild_reaper \u003d\u003d parent\" check, but\nthis check does not work if the last exiting task is also the child\nreaper.\n\nAs Eric sugested, we can change __unhash_process() to use the parent\u0027s\npid_ns and remove this code.\n\nAlso, with this change we can move detach_pid(PIDTYPE_PID) back, where it\nwas before the previous fix.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nTested-by: Andrew Wagin \u003cavagin@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": "6347e90091041e34bea625370794c92f4ce71228",
      "tree": "20614d4eedd2993248be3c3562177c7e00f24b68",
      "parents": [
        "f39cdaebb89dc3e6dd4f3e75b6d4e87ef12190af"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jun 20 12:53:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 14:39:36 2012 -0700"
      },
      "message": "pidns: guarantee that the pidns init will be the last pidns process reaped\n\nToday we have a twofold bug.  Sometimes release_task on pid \u003d\u003d 1 in a pid\nnamespace can run before other processes in a pid namespace have had\nrelease task called.  With the result that pid_ns_release_proc can be\ncalled before the last proc_flus_task() is done using upid-\u003ens-\u003eproc_mnt,\nresulting in the use of a stale pointer.  This same set of circumstances\ncan lead to waitpid(...) returning for a processes started with\nclone(CLONE_NEWPID) before the every process in the pid namespace has\nactually exited.\n\nTo fix this modify zap_pid_ns_processess wait until all other processes in\nthe pid namespace have exited, even EXIT_DEAD zombies.\n\nThe delay_group_leader and related tests ensure that the thread gruop\nleader will be the last thread of a process group to be reaped, or to\nbecome EXIT_DEAD and self reap.  With the change to zap_pid_ns_processes\nwe get the guarantee that pid \u003d\u003d 1 in a pid namespace will be the last\ntask that release_task is called on.\n\nWith pid \u003d\u003d 1 being the last task to pass through release_task\npid_ns_release_proc can no longer be called too early nor can wait return\nbefore all of the EXIT_DEAD tasks in a pid namespace have exited.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nTested-by: Andrew Wagin \u003cavagin@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": "4fe7efdbdfb1c7e7a7f31decfd831c0f31d37091",
      "tree": "5d8fdf353ba3791ef10031ade2d93aa87aa179d3",
      "parents": [
        "e0897d75f0b22e8c3a7287a48548c5686ef73447"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Jun 20 12:53:01 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 14:39:36 2012 -0700"
      },
      "message": "mm: correctly synchronize rss-counters at exit/exec\n\ndo_exit() and exec_mmap() call sync_mm_rss() before mm_release() does\nput_user(clear_child_tid) which can update task-\u003erss_stat and thus make\nmm-\u003erss_stat inconsistent.  This triggers the \"BUG:\" printk in check_mm().\n\nLet\u0027s fix this bug in the safest way, and optimize/cleanup this later.\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\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": "8e3bbf42c6d73881956863cc3305456afe2bc4ea",
      "tree": "bb3369e7444a2efe8e890ddd341e576e3cba18c1",
      "parents": [
        "967db0ea65b0bf8507a7643ac8f296c4f2c0a834"
      ],
      "author": {
        "name": "Salman Qazi",
        "email": "sqazi@google.com",
        "time": "Thu Jun 14 14:55:30 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Jun 18 15:38:02 2012 -0700"
      },
      "message": "cgroups: Account for CSS_DEACT_BIAS in __css_put\n\nWhen we fixed the race between atomic_dec and css_refcnt, we missed\nthe fact that css_refcnt internally subtracts CSS_DEACT_BIAS to get\nthe actual reference count.  This can potentially cause a refcount leak\nif __css_put races with cgroup_clear_css_refs.\n\nSigned-off-by: Salman Qazi \u003csqazi@google.com\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0cda4c023132aa93f2dd94811061f812e88daf4c",
      "tree": "a8190d6f16124450a633eb22007c80cf25a0937f",
      "parents": [
        "e2d37cd213dcc0aeb3db4b37b9bd1710fe36fbf7"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Fri Jun 15 14:31:33 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 12:13:21 2012 +0200"
      },
      "message": "perf: Introduce perf_pmu_migrate_context()\n\nOriginally from Peter Zijlstra. The helper migrates perf events\nfrom one cpu to another cpu.\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1339741902-8449-5-git-send-email-zheng.z.yan@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e2d37cd213dcc0aeb3db4b37b9bd1710fe36fbf7",
      "tree": "90e769d4c07a5f7f895a4c7459d72caf5aec75b2",
      "parents": [
        "fbfc623f8231c8d8c78aab5841e9c6e5811ab638"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Fri Jun 15 14:31:32 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 12:13:21 2012 +0200"
      },
      "message": "perf: Allow the PMU driver to choose the CPU on which to install events\n\nAllow the pmu-\u003eevent_init callback to change event-\u003ecpu, so the PMU driver\ncan choose the CPU on which to install events.\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1339741902-8449-4-git-send-email-zheng.z.yan@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fbfc623f8231c8d8c78aab5841e9c6e5811ab638",
      "tree": "54883756f1b404f2232d4d5077219ea98c1fdbfd",
      "parents": [
        "4b4969b14490a4f65b572b8f180164181104b5e1"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Fri Jun 15 14:31:31 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 12:13:20 2012 +0200"
      },
      "message": "perf: Avoid race between cpu hotplug and installing event\n\nperf_event_open() requires the cpu on which to install event is online,\nbut the cpu can go offline after perf_event_open checks that. Add a\nget_online_cpus()/put_online_cpus() pair to avoid the race.\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1339741902-8449-3-git-send-email-zheng.z.yan@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d1ece0998eeb7b6543044f32b7d9bcbaf6dc294a",
      "tree": "bcbb3dddee8b5db83f07585370b1bd57f92296ac",
      "parents": [
        "76958a61e42fb6277a8431eb17e4bdb24176f1b7",
        "9c5da09d266ca9b32eb16cf940f8161d949c2fe5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 11:47:58 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 11:47:58 2012 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge in all fixes before applying more changes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9c5da09d266ca9b32eb16cf940f8161d949c2fe5",
      "tree": "d5a8cc3e83ca92431fbb1235b068c9deb2c03c41",
      "parents": [
        "8ed9eac4769407a8f0b93e381a3bc3ae81fa014b"
      ],
      "author": {
        "name": "Salman Qazi",
        "email": "sqazi@google.com",
        "time": "Thu Jun 14 15:31:09 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 11:45:57 2012 +0200"
      },
      "message": "perf: Use css_tryget() to avoid propping up css refcount\n\nAn rmdir pushes css\u0027s ref count to zero.  However, if the associated\ndirectory is open at the time, the dentry ref count is non-zero.  If\nthe fd for this directory is then passed into perf_event_open, it\ndoes a css_get().  This bounces the ref count back up from zero.  This\nis a problem by itself.  But what makes it turn into a crash is the\nfact that we end up doing an extra dput, since we perform a dput\nwhen css_put sees the ref count go down to zero.\n\ncss_tryget() does not fall into that trap. So, we use that instead.\n\nReproduction test-case for the bug:\n\n #include \u003cunistd.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/stat.h\u003e\n #include \u003cfcntl.h\u003e\n #include \u003clinux/unistd.h\u003e\n #include \u003clinux/perf_event.h\u003e\n #include \u003cstring.h\u003e\n #include \u003cerrno.h\u003e\n #include \u003cstdio.h\u003e\n\n #define PERF_FLAG_PID_CGROUP    (1U \u003c\u003c 2)\n\n int perf_event_open(struct perf_event_attr *hw_event_uptr,\n                     pid_t pid, int cpu, int group_fd, unsigned long flags) {\n         return syscall(__NR_perf_event_open,hw_event_uptr, pid, cpu,\n                 group_fd, flags);\n }\n\n /*\n  * Directly poke at the perf_event bug, since it\u0027s proving hard to repro\n  * depending on where in the kernel tree.  what moved?\n  */\n int main(int argc, char **argv)\n {\n        int fd;\n        struct perf_event_attr attr;\n        memset(\u0026attr, 0, sizeof(attr));\n        attr.exclude_kernel \u003d 1;\n        attr.size \u003d sizeof(attr);\n        mkdir(\"/dev/cgroup/perf_event/blah\", 0777);\n        fd \u003d open(\"/dev/cgroup/perf_event/blah\", O_RDONLY);\n        perror(\"open\");\n        rmdir(\"/dev/cgroup/perf_event/blah\");\n        sleep(2);\n        perf_event_open(\u0026attr, fd, 0, -1,  PERF_FLAG_PID_CGROUP);\n        perror(\"perf_event_open\");\n        close(fd);\n        return 0;\n }\n\nSigned-off-by: Salman Qazi \u003csqazi@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20120614223108.1025.2503.stgit@dungbeetle.mtv.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4983955c049d1debe5f6bee3aeb54ff5942fcd39",
      "tree": "aa3c9b03d92c31f8c9414d9b1f1534b47c83a4c0",
      "parents": [
        "e227051b13956b8f71c0abecc41ad351e64671c8",
        "7374e82771c6d5a9af2080be46f64a5826c7efb1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 10:57:51 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 18 10:57:51 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n\nPull ftrace robustization fixes from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b56a39ac263e5b8cafedd551a49c2105e68b98c2",
      "tree": "0dbbe8929783ab347b3d40d4ed79ea87d5b3966d",
      "parents": [
        "4a77a5a06ec66ed05199b301e7c25f42f979afdc"
      ],
      "author": {
        "name": "Yuanhan Liu",
        "email": "yuanhan.liu@linux.intel.com",
        "time": "Sat Jun 16 12:40:55 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Jun 16 08:36:03 2012 -0700"
      },
      "message": "printk: return -EINVAL if the message len is bigger than the buf size\n\nJust like what devkmsg_read() does, return -EINVAL if the message len is\nbigger than the buf size, or it will trigger a segfault error.\n\nAcked-by: Kay Sievers \u003ckay@vrfy.org\u003e\nAcked-by: Fengguang Wu \u003cwfg@linux.intel.com\u003e\nSigned-off-by: Yuanhan Liu \u003cyuanhan.liu@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4a77a5a06ec66ed05199b301e7c25f42f979afdc",
      "tree": "4b1897ff18501dae3a62c3f1618a761829eb64d7",
      "parents": [
        "e2ae715d66bf4becfb85eb84b7150e23cf27df30"
      ],
      "author": {
        "name": "Yuanhan Liu",
        "email": "yuanhan.liu@linux.intel.com",
        "time": "Sat Jun 16 21:21:51 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Jun 16 08:36:02 2012 -0700"
      },
      "message": "printk: use mutex lock to stop syslog_seq from going wild\n\nAlthough syslog_seq and log_next_seq stuff are protected by logbuf_lock\nspin log, it\u0027s not enough. Say we have two processes A and B, and let\nsyslog_seq \u003d N, while log_next_seq \u003d N + 1, and the two processes both\ncome to syslog_print at almost the same time. And No matter which\nprocess get the spin lock first, it will increase syslog_seq by one,\nthen release spin lock; thus later, another process increase syslog_seq\nby one again. In this case, syslog_seq is bigger than syslog_next_seq.\nAnd latter, it would make:\n   wait_event_interruptiable(log_wait, syslog !\u003d log_next_seq)\ndon\u0027t wait any more even there is no new write comes. Thus it introduce\na infinite loop reading.\n\nI can easily see this kind of issue by the following steps:\n  # cat /proc/kmsg # at meantime, I don\u0027t kill rsyslog\n                   # So they are the two processes.\n  # xinit          # I added drm.debug\u003d6 in the kernel parameter line,\n                   # so that it will produce lots of message and let that\n                   # issue happen\n\nIt\u0027s 100% reproducable on my side. And my disk will be filled up by\n/var/log/messages in a quite short time.\n\nSo, introduce a mutex_lock to stop syslog_seq from going wild just like\nwhat devkmsg_read() does. It does fix this issue as expected.\n\nv2: use mutex_lock_interruptiable() instead (comments from Kay)\n\nSigned-off-by: Yuanhan Liu \u003cyuanhan.liu@linux.intel.com\u003e\nReviewed-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nAcked-By: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e227051b13956b8f71c0abecc41ad351e64671c8",
      "tree": "04b4352771c3c75dbd4ecc0250a7215d0619439e",
      "parents": [
        "593609a59600c8377f311b300f14deacb155b9a4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:44:01 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:52 2012 +0200"
      },
      "message": "uprobes: Remove the unnecessary initialization in add_utask()\n\nTrivial cleanup. No need to nullify -\u003eactive_uprobe after\nkzalloc().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120615154401.GA9633@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "593609a59600c8377f311b300f14deacb155b9a4",
      "tree": "28185f8e2a1b8efd3a39f51fc6ab6803420ead67",
      "parents": [
        "816c03fbabe64fa09f66fbb64e932081af381415"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:59 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:49 2012 +0200"
      },
      "message": "uprobes: __copy_insn() needs \"loff_t offset\"\n\n1. __copy_insn() needs \"loff_t offset\", not \"unsigned long\",\n   to read the file.\n\n2. use pgoff_t for \"idx\" and remove the unnecessary typecast.\n\n3. fix the typo, \"\u0026\u003d\" is not what we want\n\n4. can\u0027t resist, rename off1 to off.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154359.GA9625@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "816c03fbabe64fa09f66fbb64e932081af381415",
      "tree": "3294289d5f51d7c6eae3ada88602e891c9edef3c",
      "parents": [
        "449d0d7c9fb87277175db34c009c70cb348004a8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:55 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:48 2012 +0200"
      },
      "message": "uprobes: Don\u0027t use loff_t for the valid virtual address\n\nloff_t looks confusing when it is used for the virtual address.\nChange map_info and install_breakpoint/remove_breakpoint paths\nto use \"unsigned long\".\n\nThe patch doesn\u0027t change vma_address(), it can\u0027t return \"long\"\nbecause it is used to verify the mapping. But probably this\nneeds some cleanups too.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Arapov \u003canton@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154355.GA9622@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "449d0d7c9fb87277175db34c009c70cb348004a8",
      "tree": "90c1abe494cd40ccc05aa2a11c5da52714b4e168",
      "parents": [
        "d9c4a30e82614d43b55893a73f31e7284007ce82"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:53 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:48 2012 +0200"
      },
      "message": "uprobes: Simplify the usage of uprobe-\u003epending_list\n\nuprobe-\u003epending_list is only used to create the temporary list,\nit has no meaning after we drop uprobes_mmap_hash(inode).\n\nNo need to initialize this node or remove it from tmp_list, and\nwe can use list_for_each_entry().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120615154353.GA9614@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d9c4a30e82614d43b55893a73f31e7284007ce82",
      "tree": "b877ed2338d27237e40b2587cdf9e6cd56fefe57",
      "parents": [
        "eb2bf57bee42c7565032f93adaa211e2c9fcc52c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:50 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:47 2012 +0200"
      },
      "message": "uprobes: Move BUG_ON(UPROBE_SWBP_INSN_SIZE) from write_opcode() to install_breakpoint()\n\nwrite_opcode() ensures that UPROBE_SWBP_INSN doesn\u0027t cross the\npage boundary. This looks a bit confusing, the check does not\ndepend on vaddr and it is enough to do it only once right after\ninstall_breakpoint()-\u003earch_uprobe_analyze_insn().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154350.GA9611@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "eb2bf57bee42c7565032f93adaa211e2c9fcc52c",
      "tree": "98eb3ecffb5e8489b6a026788880e80f5f9a1a92",
      "parents": [
        "fc36f59565861af2e897225bc3782479a26c5d5a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:47 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:47 2012 +0200"
      },
      "message": "uprobes: No need to re-check vma_address() in write_opcode()\n\nwrite_opcode() is called by register_for_each_vma() and\nuprobe_mmap() paths. In both cases the caller has already\nverified this vaddr under mmap_sem, no need to re-check.\n\nNote also that this check is wrong anyway, we should not\ntruncate loff_t returned by vma_address() if we do not trust\nthis mapping.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154347.GA9604@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fc36f59565861af2e897225bc3782479a26c5d5a",
      "tree": "3f156c0caa96a229e50017a600334d4ceeb3b3ae",
      "parents": [
        "d436615e60c386095dac4a9bf72b08868d2a7564"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:46 2012 +0200"
      },
      "message": "uprobes: Copy_insn() should not return -ENOMEM if __copy_insn() fails\n\ncopy_insn() returns -ENOMEM if the first __copy_insn() fails,\nit should return the correct error code.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154344.GA9601@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d436615e60c386095dac4a9bf72b08868d2a7564",
      "tree": "d69e29a80512f13cb1ce3f302cd865fd35709ddf",
      "parents": [
        "c5784de2b351fe871bb57487878f7fc7ec5b075c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:42 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:45 2012 +0200"
      },
      "message": "uprobes: Copy_insn() shouldn\u0027t depend on mm/vma/vaddr\n\n1. copy_insn() doesn\u0027t need \"addr\", it can use uprobe-\u003eoffset.\n   Remove this argument.\n\n2. Change copy_insn/__copy_insn to accept \"struct file*\" instead\n   of vma.\n\ncopy_insn() is called only once and mm/vma/vaddr are random, it\nshouldn\u0027t depend on them.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154342.GA9598@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c5784de2b351fe871bb57487878f7fc7ec5b075c",
      "tree": "4b73571e8fed9af9b6ad6a4cc7f355d0b104a5ea",
      "parents": [
        "7a5bfb66b07f22d2429db776da7bb8b57bfb5cff"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 15 17:43:39 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:45 2012 +0200"
      },
      "message": "uprobes: Document uprobe_register() vs uprobe_mmap() race\n\nBecause the mind is treacherous and makes us forget we need to\nwrite stuff down.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120615154339.GA9591@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7a5bfb66b07f22d2429db776da7bb8b57bfb5cff",
      "tree": "aa6a419726f99052171f05b004db45692fef3315",
      "parents": [
        "268720903f87e0b84b161626c4447b81671b5d18"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:36 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:44 2012 +0200"
      },
      "message": "uprobes: Change build_map_info() to try kmalloc(GFP_NOWAIT) first\n\nbuild_map_info() doesn\u0027t allocate the memory under i_mmap_mutex\nto avoid the deadlock with page reclaim. But it can try\nGFP_NOWAIT first, it should work in the likely case and thus we\nalmost never need the pre-alloc-and-retry path.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120615154336.GA9588@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "268720903f87e0b84b161626c4447b81671b5d18",
      "tree": "295b7e51c3e59a9f1baeac80dda132b0d6011b44",
      "parents": [
        "c1914a0936f79ed0236f670122e06e36e4d332ee"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:33 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:43 2012 +0200"
      },
      "message": "uprobes: Rework register_for_each_vma() to make it O(n)\n\nCurrently register_for_each_vma() is O(n ** 2) + O(n ** 3),\nevery time find_next_vma_info() \"restarts\" the\nvma_prio_tree_foreach() loop and each iteration rechecks the\nwhole try_list. This also means that try_list can grow\n\"indefinitely\" if register/unregister races with munmap/mmap\nactivity even if the number of mapping is bounded at any time.\n\nWith this patch register_for_each_vma() builds the list of\nmm/vaddr structures only once and does install_breakpoint() for\neach entry.\n\nWe do not care about the new mappings which can be created after\nbuild_map_info() drops mapping-\u003ei_mmap_mutex, uprobe_mmap()\nshould do its work.\n\nNote that we do not allocate map_info under i_mmap_mutex, this\ncan deadlock with page reclaim (but see the next patch). So we\nuse 2 lists, \"curr\" which we are going to return, and \"prev\"\nwhich holds the already allocated memory. The main loop deques\nthe entry from \"prev\" (initially it is empty), and if \"prev\"\nbecomes empty again it counts the number of entries we need to\npre-allocate outside of i_mmap_mutex.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120615154333.GA9581@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c1914a0936f79ed0236f670122e06e36e4d332ee",
      "tree": "965d8c31ffb45b57d83cf999cbc257ec724a5d47",
      "parents": [
        "5323ce71e4b4e1f188ebbc0cc7776885ea6c75fb"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:43 2012 +0200"
      },
      "message": "uprobes: Install_breakpoint() should fail if is_swbp_insn() \u003d\u003d T\n\ninstall_breakpoint() returns -EEXIST if is_swbp_insn(orig_insn)\n\u003d\u003d T, the caller treats this code as success.\n\nThis is doubly wrong. The successful return should set\nUPROBE_COPY_INSN, but the real problem is that it shouldn\u0027t\nsucceed. If the probed insn is int3 the application should get\nSIGTRAP, this won\u0027t happen with uprobe.\n\nProbably we can fix this, we can add the UPROBE_SHARED_BP flag\nand teach handle_swbp/set_orig_insn to handle this case\ncorrectly. But this needs some complications and we have other\ninsns which can\u0027t be probed, lets make a simple fix for now.\n\nI think this needs a cleanup. UPROBE_COPY_INSN should die,\ncopy_insn() should be called by alloc_uprobe().\narch_uprobe_analyze_insn() depends on -\u003emm (ia32_compat) but it\nis called only once.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154331.GA9578@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5323ce71e4b4e1f188ebbc0cc7776885ea6c75fb",
      "tree": "fd4f1445cd71a2a2cc0096f08a216e27bc3fc237",
      "parents": [
        "cc359d180fa9c25a4c1819f17e07a422d788353d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:28 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:42 2012 +0200"
      },
      "message": "uprobes: Write_opcode()-\u003e__replace_page() can race with try_to_unmap()\n\nwrite_opcode() gets old_page via get_user_pages() and then calls\n__replace_page() which assumes that this old_page is still\nmapped after pte_offset_map_lock().\n\nThis is not true if this old_page was already try_to_unmap()\u0027ed,\nand in this case everything __replace_page() does with old_page\nis wrong. Just for example, put_page() is not balanced.\n\nI think it is possible to teach __replace_page() to handle this\nunlikely case correctly, but this patch simply changes it to use\npage_check_address() and return -EAGAIN if it fails. The caller\nshould notice this error code and retry.\n\nNote: write_opcode() asks for the cleanups, I\u0027ll try to do this\nin a separate patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154328.GA9571@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cc359d180fa9c25a4c1819f17e07a422d788353d",
      "tree": "98a70566b1bba99878990b9ac5143b3778bdff0b",
      "parents": [
        "ea131377148cdfe90641b42ae9aa5a6b3a4fa327"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:25 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:42 2012 +0200"
      },
      "message": "uprobes: __copy_insn() should ensure a_ops-\u003ereadpage !\u003d NULL\n\n__copy_insn() blindly calls read_mapping_page(), this will crash\nthe kernel if -\u003ereadpage \u003d\u003d NULL, add the necessary check. For\nexample, hugetlbfs_aops-\u003ereadpage is NULL. Perhaps we should\nchange read_mapping_page() instead.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154325.GA9568@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ea131377148cdfe90641b42ae9aa5a6b3a4fa327",
      "tree": "5f8f6063fe35affd268054b762dd18877dfa44ef",
      "parents": [
        "e2b297fcf17fc03734e93387fb8195c782286b35"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 15 17:43:22 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Jun 16 09:10:41 2012 +0200"
      },
      "message": "uprobes: Valid_vma() should reject VM_HUGETLB\n\n__replace_page() obviously can\u0027t work with the hugetlbfs\nmappings, uprobe_register() will likely crash the kernel. Change\nvalid_vma() to check VM_HUGETLB as well.\n\nAs for PageTransHuge() no need to worry, vma-\u003evm_file !\u003d NULL.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120615154322.GA9561@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ed21a66c1862499bb21c8e48a450e13fb830f46b",
      "tree": "80bead4a058f2e799884c1220d83c7e1f29b43fb",
      "parents": [
        "a95f9b6e092ed862278e08266207c7ab231076b4",
        "a70270468234749741c5893ae78e5bb524771402"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 15 16:58:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 15 16:58:10 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  watchdog: Quiet down the boot messages\n  perf/x86: Fix broken LBR fixup code\n  tracing: Have tracing_off() actually turn tracing off\n"
    },
    {
      "commit": "a95f9b6e092ed862278e08266207c7ab231076b4",
      "tree": "c5daf86ce89b3033c051dfc7b2955981d6add16d",
      "parents": [
        "a41b0e71563166762ee9d4905f3aa518a9348ed4",
        "4a1e001d2bb75c47a9cdbbfb66ae51daff1ddcba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 15 16:52:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 15 16:52:35 2012 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core updates (RCU and locking) from Ingo Molnar:\n \"Most of the diffstat comes from the RCU slow boot regression fixes,\n  but there\u0027s also a debuggability improvements/fixes.\"\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  memblock: Document memblock_is_region_{memory,reserved}()\n  rcu: Precompute RCU_FAST_NO_HZ timer offsets\n  rcu: Move RCU_FAST_NO_HZ per-CPU variables to rcu_dynticks structure\n  rcu: Update RCU_FAST_NO_HZ tracing for lazy callbacks\n  rcu: RCU_FAST_NO_HZ detection of callback adoption\n  spinlock: Indicate that a lockup is only suspected\n  kdump: Execute kmsg_dump(KMSG_DUMP_PANIC) after smp_send_stop()\n  panic: Make panic_on_oops configurable\n"
    },
    {
      "commit": "e2ae715d66bf4becfb85eb84b7150e23cf27df30",
      "tree": "206f08bc1f5138d1416c040f78c5b527ca07536d",
      "parents": [
        "1bd289d1e8e29c09be0e783a53f16a1dc80684be"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Fri Jun 15 14:07:51 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 15 14:53:59 2012 -0700"
      },
      "message": "kmsg - kmsg_dump() use iterator to receive log buffer content\n\nProvide an iterator to receive the log buffer content, and convert all\nkmsg_dump() users to it.\n\nThe structured data in the kmsg buffer now contains binary data, which\nshould no longer be copied verbatim to the kmsg_dump() users.\n\nThe iterator should provide reliable access to the buffer data, and also\nsupports proper log line-aware chunking of data while iterating.\n\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nTested-by: Tony Luck \u003ctony.luck@intel.com\u003e\nReported-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nTested-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7374e82771c6d5a9af2080be46f64a5826c7efb1",
      "tree": "999fccda8bc6ccf1b517143ca27b397931854d2e",
      "parents": [
        "5da43bed800770906fca24deef7ae3d456823b86"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 31 21:40:05 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 14 15:22:14 2012 -0400"
      },
      "message": "tracing: Register the ftrace internal events during early boot\n\nAll trace events including ftrace internel events (like trace_printk\nand function tracing), register functions that describe how to print\ntheir output. The events may be recorded as soon as the ring buffer\nis allocated, but they are just raw binary in the buffer. The mapping\nof event ids to how to print them are held within a structure that\nis registered on system boot.\n\nIf a crash happens in boot up before these functions are registered\nthen their output (via ftrace_dump_on_oops) will be useless:\n\nDumping ftrace buffer:\n---------------------------------\n   \u003c...\u003e-1       0.... 319705us : Unknown type 6\n---------------------------------\n\nThis can be quite frustrating for a kernel developer trying to see\nwhat is going wrong.\n\nThere\u0027s no reason to register them so late in the boot up process.\nThey can be registered by early_initcall().\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8d240dd88cca33b704adf3fe281aa64b5aac2dd8",
      "tree": "ed9431274d1274e134207edb5604669bbf638b73",
      "parents": [
        "e2b297fcf17fc03734e93387fb8195c782286b35"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bp@amd64.org",
        "time": "Thu Mar 29 19:11:40 2012 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 14 15:22:12 2012 -0400"
      },
      "message": "ftrace: Remove a superfluous check\n\nregister_ftrace_function() checks ftrace_disabled and calls\n__register_ftrace_function which does it again.\n\nDrop the first check and add the unlikely hint to the second one. Also,\ndrop the label as John correctly notices.\n\nNo functional change.\n\nLink: http://lkml.kernel.org/r/20120329171140.GE6409@aftab\n\nCc: Borislav Petkov \u003cbp@amd64.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a70270468234749741c5893ae78e5bb524771402",
      "tree": "aed83d3dc676cc486d43ad30926ac909872a02d8",
      "parents": [
        "25f42985825dd93f0593efe454e54c2aa13f7830"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Wed Jun 13 09:35:48 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 14 12:20:50 2012 +0200"
      },
      "message": "watchdog: Quiet down the boot messages\n\nA bunch of bugzillas have complained how noisy the nmi_watchdog\nis during boot-up especially with its expected failure cases\n(like virt and bios resource contention).\n\nThis is my attempt to quiet them down and keep it less confusing\nfor the end user.  What I did is print the message for cpu0 and\nsave it for future comparisons.  If future cpus have an\nidentical message as cpu0, then don\u0027t print the redundant info.\nHowever, if a future cpu has a different message, happily print\nthat loudly.\n\nBefore the change, you would see something like:\n\n    ..TIMER: vector\u003d0x30 apic1\u003d0 pin1\u003d2 apic2\u003d-1 pin2\u003d-1\n    CPU0: Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz stepping 0a\n    Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver.\n    ... version:                2\n    ... bit width:              40\n    ... generic registers:      2\n    ... value mask:             000000ffffffffff\n    ... max period:             000000007fffffff\n    ... fixed-purpose events:   3\n    ... event mask:             0000000700000003\n    NMI watchdog enabled, takes one hw-pmu counter.\n    Booting Node   0, Processors  #1\n    NMI watchdog enabled, takes one hw-pmu counter.\n     #2\n    NMI watchdog enabled, takes one hw-pmu counter.\n     #3 Ok.\n    NMI watchdog enabled, takes one hw-pmu counter.\n    Brought up 4 CPUs\n    Total of 4 processors activated (22607.24 BogoMIPS).\n\nAfter the change, it is simplified to:\n\n    ..TIMER: vector\u003d0x30 apic1\u003d0 pin1\u003d2 apic2\u003d-1 pin2\u003d-1\n    CPU0: Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz stepping 0a\n    Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver.\n    ... version:                2\n    ... bit width:              40\n    ... generic registers:      2\n    ... value mask:             000000ffffffffff\n    ... max period:             000000007fffffff\n    ... fixed-purpose events:   3\n    ... event mask:             0000000700000003\n    NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.\n    Booting Node   0, Processors  #1 #2 #3 Ok.\n    Brought up 4 CPUs\n\nV2: little changes based on Joe Perches\u0027 feedback\nV3: printk cleanup based on Ingo\u0027s feedback; checkpatch fix\nV4: keep printk as one long line\nV5: Ingo fix ups\n\nReported-and-tested-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: nzimmer@sgi.com\nCc: joe@perches.com\nLink: http://lkml.kernel.org/r/1339594548-17227-1-git-send-email-dzickus@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "047fe3605235888f3ebcda0c728cb31937eadfe6",
      "tree": "9c33ef4b076bd54f686afe924cee01e21c55f427",
      "parents": [
        "27e1f9d1cc87be4e53c6eb7158cafc21c4b85a14"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jun 12 15:24:40 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Jun 13 21:16:42 2012 +0200"
      },
      "message": "splice: fix racy pipe-\u003ebuffers uses\n\nDave Jones reported a kernel BUG at mm/slub.c:3474! triggered\nby splice_shrink_spd() called from vmsplice_to_pipe()\n\ncommit 35f3d14dbbc5 (pipe: add support for shrinking and growing pipes)\nadded capability to adjust pipe-\u003ebuffers.\n\nProblem is some paths don\u0027t hold pipe mutex and assume pipe-\u003ebuffers\ndoesn\u0027t change for their duration.\n\nFix this by adding nr_pages_max field in struct splice_pipe_desc, and\nuse it in place of pipe-\u003ebuffers where appropriate.\n\nsplice_shrink_spd() loses its struct pipe_inode_info argument.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e # 2.6.35\nTested-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "6ebb017de9d59a18c3ff9648270e8f6abaa93438",
      "tree": "771410dbbeec9cba3629b27336b2eb4af30b58b1",
      "parents": [
        "bcc2c9c3fff859e0eb019fe6fec26f9b8eba795c"
      ],
      "author": {
        "name": "Andrew Lunn",
        "email": "andrew@lunn.ch",
        "time": "Tue Jun 05 08:52:34 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jun 12 16:20:17 2012 -0700"
      },
      "message": "printk: Fix alignment of buf causing crash on ARM EABI\n\nCommit 7ff9554bb578ba02166071d2d487b7fc7d860d62, printk: convert\nbyte-buffer to variable-length record buffer, causes systems using\nEABI to crash very early in the boot cycle. The first entry in struct\nlog is a u64, which for EABI must be 8 byte aligned.\n\nMake use of __alignof__() so the compiler to decide the alignment, but\nallow it to be overridden using CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS,\nfor systems which can perform unaligned access and want to save\na few bytes of space.\n\nTested on Orion5x and Kirkwood.\n\nSigned-off-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nTested-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nAcked-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c3e228d59bd2054fd57f7f146ef0f6fb0e1996b7",
      "tree": "1817910408fa7b5027e463725a6eb54933c71928",
      "parents": [
        "7eb9ba5ed312ec6ed9d22259c5da1acb7cf4bd29",
        "cfaf025112d3856637ff34a767ef785ef5cf2ca9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 11 10:51:35 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 11 10:51:35 2012 +0200"
      },
      "message": "Merge tag \u0027v3.5-rc2\u0027 into perf/core\n\nMerge in Linux 3.5-rc2 - to pick up fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4a1e001d2bb75c47a9cdbbfb66ae51daff1ddcba",
      "tree": "6d6e968a087b7a26b3a04af1ef94149607b64358",
      "parents": [
        "eab309494ae2b9e15f85520f00de3893162c2e43",
        "aa9b16306e3243229580ff889cc59fd66bf77973"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 11 10:30:23 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 11 10:30:23 2012 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent\n\nMerge RCU fixes from Paul E. McKenney:\n\n \" This series has four patches, the major point of which is to eliminate\n   some slowdowns (including boot-time slowdowns) resulting from some\n   RCU_FAST_NO_HZ changes.  The issue with the changes is that posting timers\n   from the idle loop has no effect if the CPU has entered dyntick-idle\n   mode because the CPU has already computed its wakeup time, and posting\n   a timer does not cause it to be recomputed.  The short-term fix is for\n   RCU to precompute the timeout value so that the CPU\u0027s calculation is\n   correct. \"\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "72494504498ff5ac2f086a83473d4dd1ca490bd3",
      "tree": "7f1ceab43de3580235f1a56f2ae865901c09e4d7",
      "parents": [
        "cd96891d48a945ca2011fbeceda73813d6286195",
        "a841f8cef4bb124f0f5563314d0beaf2e1249d72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:29 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix the relax_domain_level boot parameter\n  sched: Validate assumptions in sched_init_numa()\n  sched: Always initialize cpu-power\n  sched: Fix domain iteration\n  sched/rt: Fix lockdep annotation within find_lock_lowest_rq()\n  sched/numa: Load balance between remote nodes\n  sched/x86: Calculate booted cores after construction of sibling_mask\n"
    },
    {
      "commit": "cd96891d48a945ca2011fbeceda73813d6286195",
      "tree": "c859442b2364adfa4eec29f516ffbe9c316a81bf",
      "parents": [
        "8f53369b753f5f4c7684c2eb0b592152abb1dd00"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Jun 08 13:18:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:10 2012 -0700"
      },
      "message": "sched/fair: fix lots of kernel-doc warnings\n\nFix lots of new kernel-doc warnings in kernel/sched/fair.c:\n\n  Warning(kernel/sched/fair.c:3625): No description found for parameter \u0027env\u0027\n  Warning(kernel/sched/fair.c:3625): Excess function parameter \u0027sd\u0027 description in \u0027update_sg_lb_stats\u0027\n  Warning(kernel/sched/fair.c:3735): No description found for parameter \u0027env\u0027\n  Warning(kernel/sched/fair.c:3735): Excess function parameter \u0027sd\u0027 description in \u0027update_sd_pick_busiest\u0027\n  Warning(kernel/sched/fair.c:3735): Excess function parameter \u0027this_cpu\u0027 description in \u0027update_sd_pick_busiest\u0027\n  .. more warnings\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "106544d81d88069c2df66ebdee42a4ba8fcd25e9",
      "tree": "9a6233100699c28fafde9eaa1751de7ddc173f58",
      "parents": [
        "03d8f5408235bfd2781142458e0c0671530e74e7",
        "db0dc75d6403b6663c0eab4c6ccb672eb9b2ed72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:14:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:14:46 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"A bit larger than what I\u0027d wish for - half of it is due to hw driver\n  updates to Intel Ivy-Bridge which info got recently released,\n  cycles:pp should work there now too, amongst other things.  (but we\n  are generally making exceptions for hardware enablement of this type.)\n\n  There are also callchain fixes in it - responding to mostly\n  theoretical (but valid) concerns.  The tooling side sports perf.data\n  endianness/portability fixes which did not make it for the merge\n  window - and various other fixes as well.\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)\n  perf/x86: Check user address explicitly in copy_from_user_nmi()\n  perf/x86: Check if user fp is valid\n  perf: Limit callchains to 127\n  perf/x86: Allow multiple stacks\n  perf/x86: Update SNB PEBS constraints\n  perf/x86: Enable/Add IvyBridge hardware support\n  perf/x86: Implement cycles:p for SNB/IVB\n  perf/x86: Fix Intel shared extra MSR allocation\n  x86/decoder: Fix bsr/bsf/jmpe decoding with operand-size prefix\n  perf: Remove duplicate invocation on perf_event_for_each\n  perf uprobes: Remove unnecessary check before strlist__delete\n  perf symbols: Check for valid dso before creating map\n  perf evsel: Fix 32 bit values endianity swap for sample_id_all header\n  perf session: Handle endianity swap on sample_id_all header data\n  perf symbols: Handle different endians properly during symbol load\n  perf evlist: Pass third argument to ioctl explicitly\n  perf tools: Update ioctl documentation for PERF_IOC_FLAG_GROUP\n  perf tools: Make --version show kernel version instead of pull req tag\n  perf tools: Check if callchain is corrupted\n  perf callchain: Make callchain cursors TLS\n  ...\n"
    },
    {
      "commit": "b1e25f41094dfe0b9653c926d3c02a35c2eb249c",
      "tree": "6ccbd499bd62f8ac46ce4335803c6ab4fad57ae4",
      "parents": [
        "857505fae884fae32e700d4b019b5f652ebf0d3b",
        "fad0c66c4bb836d57a5f125ecd38bed653ca863a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:11:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:11:33 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull leap second timer fix from Thomas Gleixner.\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond\n"
    },
    {
      "commit": "9ee6ddc9dada9cc4b2201631bc74fbf203183a10",
      "tree": "5ab664dc8c98387fbaa13e549af0f1b8a5f1a1fb",
      "parents": [
        "db0dc75d6403b6663c0eab4c6ccb672eb9b2ed72",
        "f2bf1f6f5f89d031245067512449fc889b2f4bb2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jun 08 12:23:22 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jun 08 12:23:22 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n\nPull brown paper bag fix from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7eb9ba5ed312ec6ed9d22259c5da1acb7cf4bd29",
      "tree": "de796c5ae68abfbb951b0c474789848cbcfd788a",
      "parents": [
        "70ab7003dec58afeae7f5d681dfa309b3a259f03"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Fri Jun 08 15:02:57 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jun 08 12:22:27 2012 +0200"
      },
      "message": "uprobes: Pass probed vaddr to arch_uprobe_analyze_insn()\n\nOn RISC architectures like powerpc, instructions are fixed size.\nInstruction analysis on such platforms is just a matter of\n(insn % 4). Pass the vaddr at which the uprobe is to be inserted so\nthat arch_uprobe_analyze_insn() can flag misaligned registration\nrequests.\n\nSigned-off-by: Ananth N Mavinakaynahalli \u003cananth@in.ibm.com\u003e\nCc: michael@ellerman.id.au\nCc: antonb@thinktux.localdomain\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: benh@kernel.crashing.org\nCc: peterz@infradead.org\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: oleg@redhat.com\nCc: linuxppc-dev@lists.ozlabs.org\nLink: http://lkml.kernel.org/r/20120608093257.GG13409@in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "48d212a2eecaca2e1875925837ad27b2f43f48a3",
      "tree": "fbd83c7b15856971f6d7297e1d23dc862ba2989c",
      "parents": [
        "46edaedaf3842164281d0f86c41bc152f4b4d32e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 17:54:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 17:54:07 2012 -0700"
      },
      "message": "Revert \"mm: correctly synchronize rss-counters at exit/exec\"\n\nThis reverts commit 40af1bbdca47e5c8a2044039bb78ca8fd8b20f94.\n\nIt\u0027s horribly and utterly broken for at least the following reasons:\n\n - calling sync_mm_rss() from mmput() is fundamentally wrong, because\n   there\u0027s absolutely no reason to believe that the task that does the\n   mmput() always does it on its own VM.  Example: fork, ptrace, /proc -\n   you name it.\n\n - calling it *after* having done mmdrop() on it is doubly insane, since\n   the mm struct may well be gone now.\n\n - testing mm against NULL before you call it is insane too, since a\nNULL mm there would have caused oopses long before.\n\n.. and those are just the three bugs I found before I decided to give up\nlooking for me and revert it asap.  I should have caught it before I\neven took it, but I trusted Andrew too much.\n\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40af1bbdca47e5c8a2044039bb78ca8fd8b20f94",
      "tree": "70b5a21579f8b0137c09e54d523246d84be93430",
      "parents": [
        "39caa0916ef27cf1da5026eb708a2b8413156f75"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Jun 07 14:21:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 14:43:55 2012 -0700"
      },
      "message": "mm: correctly synchronize rss-counters at exit/exec\n\nmm-\u003erss_stat counters have per-task delta: task-\u003erss_stat.  Before\nchanging task-\u003emm pointer the kernel must flush this delta with\nsync_mm_rss().\n\ndo_exit() already calls sync_mm_rss() to flush the rss-counters before\ncommitting the rss statistics into task-\u003esignal-\u003emaxrss, taskstats,\naudit and other stuff.  Unfortunately the kernel does this before\ncalling mm_release(), which can call put_user() for processing\ntask-\u003eclear_child_tid.  So at this point we can trigger page-faults and\ntask-\u003erss_stat becomes non-zero again.  As a result mm-\u003erss_stat becomes\ninconsistent and check_mm() will print something like this:\n\n| BUG: Bad rss-counter state mm:ffff88020813c380 idx:1 val:-1\n| BUG: Bad rss-counter state mm:ffff88020813c380 idx:2 val:1\n\nThis patch moves sync_mm_rss() into mm_release(), and moves mm_release()\nout of do_exit() and calls it earlier.  After mm_release() there should\nbe no pagefaults.\n\n[akpm@linux-foundation.org: tweak comment]\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t\t[3.4.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "736f24d5e59d699c6e300c5da7e3bb882eddda67",
      "tree": "9f703433c67763623bacb6ec1aab5a69d33903ac",
      "parents": [
        "300f786b2683f8bb1ec0afb6e1851183a479c86d"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Jun 07 14:21:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 14:43:55 2012 -0700"
      },
      "message": "c/r: prctl: drop VMA flags test on PR_SET_MM_ stack data assignment\n\nIn commit b76437579d13 (\"procfs: mark thread stack correctly in\nproc/\u003cpid\u003e/maps\") the stack allocated via clone() is marked in\n/proc/\u003cpid\u003e/maps as [stack:%d] thus it might be out of the former\nmm-\u003estart_stack/end_stack values (and even has some custom VMA flags\nset).\n\nSo to be able to restore mm-\u003estart_stack/end_stack drop vma flags test,\nbut still require the underlying VMA to exist.\n\nAs always note this feature is under CONFIG_CHECKPOINT_RESTORE and\nrequires CAP_SYS_RESOURCE to be granted.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "300f786b2683f8bb1ec0afb6e1851183a479c86d",
      "tree": "156c63abe6caaf885e439af30b7d883a33ba501d",
      "parents": [
        "1ad75b9e16280ca4e2501a629a225319cf2eef2e"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu Jun 07 14:21:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 14:43:55 2012 -0700"
      },
      "message": "c/r: prctl: add ability to get clear_tid_address\n\nZero is written at clear_tid_address when the process exits.  This\nfunctionality is used by pthread_join().\n\nWe already have sys_set_tid_address() to change this address for the\ncurrent task but there is no way to obtain it from user space.\n\nWithout the ability to find this address and dump it we can\u0027t restore\npthread\u0027ed apps which call pthread_join() once they have been restored.\n\nThis patch introduces the PR_GET_TID_ADDRESS prctl option which allows\nthe current process to obtain own clear_tid_address.\n\nThis feature is available iif CONFIG_CHECKPOINT_RESTORE is set.\n\n[akpm@linux-foundation.org: fix prctl numbering]\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ad75b9e16280ca4e2501a629a225319cf2eef2e",
      "tree": "360b86785011959e68a4d87cb32bd92120370990",
      "parents": [
        "bafb282df29c1524b1617019adebd6d0c3eb7a47"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu Jun 07 14:21:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 14:43:55 2012 -0700"
      },
      "message": "c/r: prctl: add minimal address test to PR_SET_MM\n\nMake sure the address being set is greater than mmap_min_addr (as\nsuggested by Kees Cook).\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bafb282df29c1524b1617019adebd6d0c3eb7a47",
      "tree": "f0b9efa850b4b298ce484eead5c8d9de87dde3e9",
      "parents": [
        "6305902c2f871fd6db60af367bd7120fa977fa74"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Jun 07 14:21:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 14:43:55 2012 -0700"
      },
      "message": "c/r: prctl: update prctl_set_mm_exe_file() after mm-\u003enum_exe_file_vmas removal\n\nA fix for commit b32dfe377102 (\"c/r: prctl: add ability to set new\nmm_struct::exe_file\").\n\nAfter removing mm-\u003enum_exe_file_vmas kernel keeps mm-\u003eexe_file until\nfinal mmput(), it never becomes NULL while task is alive.\n\nWe can check for other mapped files in mm instead of checking\nmm-\u003enum_exe_file_vmas, and mark mm with flag MMF_EXE_FILE_CHANGED in\norder to forbid second changing of mm-\u003eexe_file.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nReviewed-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa9b16306e3243229580ff889cc59fd66bf77973",
      "tree": "f01812ee99804cd7d7533a1d3cba1e9d439e6f63",
      "parents": [
        "5955f7eecd77d6b440db278b266cfecdb72ecd00"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu May 10 16:41:44 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 06 20:43:28 2012 -0700"
      },
      "message": "rcu: Precompute RCU_FAST_NO_HZ timer offsets\n\nWhen a CPU is entering dyntick-idle mode, tick_nohz_stop_sched_tick()\ncalls rcu_needs_cpu() see if RCU needs that CPU, and, if not, computes the\nnext wakeup time based on the timer wheels.  Only later, when actually\nentering the idle loop, rcu_prepare_for_idle() will be invoked.  In some\ncases, rcu_prepare_for_idle() will post timers to wake the CPU back up.\nBut all for naught: The next wakeup time for the CPU has already been\ncomputed, and posting a timer afterwards does not force that wakeup\ntime to be recomputed.  This means that rcu_prepare_for_idle()\u0027s have\nno effect.\n\nThis is not a problem on a busy system because something else will wake\nup the CPU soon enough.  However, on lightly loaded systems, the CPU\nmight stay asleep for a considerable length of time.  If that CPU has\na callback that the rest of the system is waiting on, the system might\nrun very slowly or (in theory) even hang.\n\nThis commit avoids this problem by having rcu_needs_cpu() give\ntick_nohz_stop_sched_tick() an estimate of when RCU will need the CPU\nto wake back up, which tick_nohz_stop_sched_tick() takes into account\nwhen programming the CPU\u0027s wakeup time.  An alternative approach is\nfor rcu_prepare_for_idle() to use hrtimers instead of normal timers,\nbut timers are much more efficient than are hrtimers for frequently\nand repeatedly posting and cancelling a given timer, which is exactly\nwhat RCU_FAST_NO_HZ does.\n\nReported-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\n"
    },
    {
      "commit": "5955f7eecd77d6b440db278b266cfecdb72ecd00",
      "tree": "a69a23707da5595be22fa09738be572a4ef69b4c",
      "parents": [
        "fd4b352687fd8604d49c190c4c9ea9e369fd42d5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed May 09 12:07:05 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 06 20:43:28 2012 -0700"
      },
      "message": "rcu: Move RCU_FAST_NO_HZ per-CPU variables to rcu_dynticks structure\n\nThe RCU_FAST_NO_HZ code relies on a number of per-CPU variables.\nThis works, but is hidden from someone scanning the data structures\nin rcutree.h.  This commit therefore converts these per-CPU variables\nto fields in the per-CPU rcu_dynticks structures.\n\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\n"
    },
    {
      "commit": "fd4b352687fd8604d49c190c4c9ea9e369fd42d5",
      "tree": "1e20de9090f7d74eef642ac263dd71da0b494d7d",
      "parents": [
        "8f5af6f1f2d09fe5eac86a5dc1731a5917c1503a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat May 05 19:10:35 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 06 20:43:27 2012 -0700"
      },
      "message": "rcu: Update RCU_FAST_NO_HZ tracing for lazy callbacks\n\nIn the current code, a short dyntick-idle interval (where there is\nat least one non-lazy callback on the CPU) and a long dyntick-idle\ninterval (where there are only lazy callbacks on the CPU) are traced\nidentically, which can be less than helpful.  This commit therefore\nemits different event traces in these two cases.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\n"
    }
  ],
  "next": "8f5af6f1f2d09fe5eac86a5dc1731a5917c1503a"
}
