)]}'
{
  "log": [
    {
      "commit": "fffddfd6c8e0c10c42c6e2cc54ba880fcc36ebbb",
      "tree": "71bc5e597124dbaf7550f1e089d675718b3ed5c0",
      "parents": [
        "69086a78bdc973ec0b722be790b146e84ba8a8c4",
        "be88298b0a3f771a4802f20c5e66af74bfd1dff1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 25 16:46:44 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 25 16:46:44 2013 -0800"
      },
      "message": "Merge branch \u0027drm-next\u0027 of git://people.freedesktop.org/~airlied/linux\n\nPull drm merge from Dave Airlie:\n \"Highlights:\n\n   - TI LCD controller KMS driver\n\n   - TI OMAP KMS driver merged from staging\n\n   - drop gma500 stub driver\n\n   - the fbcon locking fixes\n\n   - the vgacon dirty like zebra fix.\n\n   - open firmware videomode and hdmi common code helpers\n\n   - major locking rework for kms object handling - pageflip/cursor\n     won\u0027t block on polling anymore!\n\n   - fbcon helper and prime helper cleanups\n\n   - i915: all over the map, haswell power well enhancements, valleyview\n     macro horrors cleaned up, killing lots of legacy GTT code,\n\n   - radeon: CS ioctl unification, deprecated UMS support, gpu reset\n     rework, VM fixes\n\n   - nouveau: reworked thermal code, external dp/tmds encoder support\n     (anx9805), fences sleep instead of polling,\n\n   - exynos: all over the driver fixes.\"\n\nLovely conflict in radeon/evergreen_cs.c between commit de0babd60d8d\n(\"drm/radeon: enforce use of radeon_get_ib_value when reading user cmd\")\nand the new changes that modified that evergreen_dma_cs_parse()\nfunction.\n\n* \u0027drm-next\u0027 of git://people.freedesktop.org/~airlied/linux: (508 commits)\n  drm/tilcdc: only build on arm\n  drm/i915: Revert hdmi HDP pin checks\n  drm/tegra: Add list of framebuffers to debugfs\n  drm/tegra: Fix color expansion\n  drm/tegra: Split DC_CMD_STATE_CONTROL register write\n  drm/tegra: Implement page-flipping support\n  drm/tegra: Implement VBLANK support\n  drm/tegra: Implement .mode_set_base()\n  drm/tegra: Add plane support\n  drm/tegra: Remove bogus tegra_framebuffer structure\n  drm: Add consistency check for page-flipping\n  drm/radeon: Use generic HDMI infoframe helpers\n  drm/tegra: Use generic HDMI infoframe helpers\n  drm: Add EDID helper documentation\n  drm: Add HDMI infoframe helpers\n  video: Add generic HDMI infoframe helpers\n  drm: Add some missing forward declarations\n  drm: Move mode tables to drm_edid.c\n  drm: Remove duplicate drm_mode_cea_vic()\n  gma500: Fix n, m1 and m2 clock limits for sdvo and lvds\n  ...\n"
    },
    {
      "commit": "b7133a9a103655cda254987a3c0975fd9d8c443f",
      "tree": "85422ad8c32f1782a2ed3b87b7264b1b3953c105",
      "parents": [
        "e84cf5d0fd53badf3a93c790e280cc92a69ed999",
        "36a5df85e9a3c218b73f6cf80098016ca3f0410d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 17:47:58 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 17:47:58 2013 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq core changes from Ingo Molnar:\n \"The biggest changes are the IRQ-work and printk changes from Frederic\n  Weisbecker, which prepare the code for \u0027full dynticks\u0027 (the ability to\n  stop or slow down the periodic tick arbitrarily, not just in idle time\n  as today):\n\n   - Don\u0027t stop tick with irq works pending.  This fix is generally\n     useful and concerns archs that can\u0027t raise self IPIs.\n\n   - Flush irq works before CPU offlining.\n\n   - Introduce \"lazy\" irq works that can wait for the next tick to be\n     executed, unless it\u0027s stopped.\n\n   - Implement klogd wake up using irq work.  This removes the ad-hoc\n     printk_tick()/printk_needs_cpu() hooks and make it working even in\n     dynticks mode.\n\n   - Cleanups and fixes.\"\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Export enable/disable_percpu_irq()\n  arch Kconfig: Remove references to IRQ_PER_CPU\n  irq_work: Remove return value from the irq_work_queue() function\n  genirq: Avoid deadlock in spurious handling\n  printk: Wake up klogd using irq_work\n  irq_work: Make self-IPIs optable\n  irq_work: Warn if there\u0027s still work on cpu_down\n  irq_work: Flush work on CPU_DYING\n  irq_work: Don\u0027t stop the tick with pending works\n  nohz: Add API to check tick state\n  irq_work: Remove CONFIG_HAVE_IRQ_WORK\n  irq_work: Fix racy check on work pending flag\n  irq_work: Fix racy IRQ_WORK_BUSY flag setting\n"
    },
    {
      "commit": "077931446b85e7858bf9dc0927cd116669b965d2",
      "tree": "02fbdf4a42b30b841a61aca399bd0ac6a5c308e6",
      "parents": [
        "f7c819c020db9796ae3a662b82a310617f92b15b",
        "74876a98a87a115254b3a66a14b27320b7f0acaa"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 05 00:48:46 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 05 00:48:46 2013 +0100"
      },
      "message": "Merge branch \u0027nohz/printk-v8\u0027 into irq/core\n\nConflicts:\n\tkernel/irq_work.c\n\nAdd support for printk in full dynticks CPU.\n\n* Don\u0027t stop tick with irq works pending. This\nfix is generally useful and concerns archs that\ncan\u0027t raise self IPIs.\n\n* Flush irq works before CPU offlining.\n\n* Introduce \"lazy\" irq works that can wait for the\nnext tick to be executed, unless it\u0027s stopped.\n\n* Implement klogd wake up using irq work. This\nremoves the ad-hoc printk_tick()/printk_needs_cpu()\nhooks and make it working even in dynticks mode.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "ff0d05bf73620eb7dc8aee7423e992ef87870bdf",
      "tree": "c2a874bdaf2dc6487dae7be17790745ce29a8b9b",
      "parents": [
        "2e51b231a8d716ea5aacde0bd95ac789cea195b0"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Thu Jan 31 14:27:03 2013 +1100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Thu Jan 31 15:46:56 2013 +1100"
      },
      "message": "Revert \"console: implement lockdep support for console_lock\"\n\nThis reverts commit daee779718a319ff9f83e1ba3339334ac650bb22.\n\nI\u0027ll requeue this after the console locking fixes, so lockdep\nis useful again for people until fbcon is fixed.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "35dac27cedd14c3b6fcd4ba7bc3c31738cfd1831",
      "tree": "22defb106f9c4081a14bb0fd54a6740b0460fc36",
      "parents": [
        "2f90b68309683f2c5765a1b04ca23d71e51f1494"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 04 15:35:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:48 2013 -0800"
      },
      "message": "printk: fix incorrect length from print_time() when seconds \u003e 99999\n\nprint_prefix() passes a NULL buf to print_time() to get the length of\nthe time prefix; when printk times are enabled, the current code just\nreturns the constant 15, which matches the format \"[%5lu.%06lu] \" used\nto print the time value.  However, this is obviously incorrect when the\nwhole seconds part of the time gets beyond 5 digits (100000 seconds is a\nbit more than a day of uptime).\n\nThe simple fix is to use snprintf(NULL, 0, ...) to calculate the actual\nlength of the time prefix.  This could be micro-optimized but it seems\nbetter to have simpler, more readable code here.\n\nThe bug leads to the syslog system call miscomputing which messages fit\ninto the userspace buffer.  If there are enough messages to fill\nlog_buf_len and some have a timestamp \u003e\u003d 100000, dmesg may fail with:\n\n    # dmesg\n    klogctl: Bad address\n\nWhen this happens, strace shows that the failure is indeed EFAULT due to\nthe kernel mistakenly accessing past the end of dmesg\u0027s buffer, since\ndmesg asks the kernel how big a buffer it needs, allocates a bit more,\nand then gets an error when it asks the kernel to fill it:\n\n    syslog(0xa, 0, 0)                       \u003d 1048576\n    mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) \u003d 0x7fa4d25d2000\n    syslog(0x3, 0x7fa4d25d2010, 0x100008)   \u003d -1 EFAULT (Bad address)\n\nAs far as I can see, the bug has been there as long as print_time(),\nwhich comes from commit 084681d14e42 (\"printk: flush continuation lines\nimmediately to console\") in 3.5-rc5.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Sylvain Munaut \u003cs.munaut@whatever-company.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": "2fa72c8fa5d03c4e07894ccb9f0be72e8687a455",
      "tree": "d71a2c684e931d187901dbb8ddd926ebd93a46ba",
      "parents": [
        "afde3be121efcc658e26f8cc71ead04af96d38f9"
      ],
      "author": {
        "name": "Andrew Cooks",
        "email": "acooks@gmail.com",
        "time": "Mon Dec 17 15:59:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:13 2012 -0800"
      },
      "message": "printk: boot_delay should only affect output\n\nThe boot_delay parameter affects all printk(), even if the log level\nprevents visible output from the call.  It results in delays greater than\nthe user intended without purpose.\n\nThis patch changes the behaviour of boot_delay to only delay output.\n\nSigned-off-by: Andrew Cooks \u003cacooks@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74876a98a87a115254b3a66a14b27320b7f0acaa",
      "tree": "06ed1cff8a92b0c687a7ff2fe31c19e8249bbe3c",
      "parents": [
        "bc6679aef673f9dcb8f718528fc3df49ff661af9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 12 18:00:23 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 18 01:01:49 2012 +0100"
      },
      "message": "printk: Wake up klogd using irq_work\n\nklogd is woken up asynchronously from the tick in order\nto do it safely.\n\nHowever if printk is called when the tick is stopped, the reader\nwon\u0027t be woken up until the next interrupt, which might not fire\nfor a while. As a result, the user may miss some message.\n\nTo fix this, lets implement the printk tick using a lazy irq work.\nThis subsystem takes care of the timer tick state and can\nfix up accordingly.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "6b898c07cb1d5bd8344a8044288bb4ae3873da74",
      "tree": "746c283ebf35c7e038b28fee4f7a094f1b885db2",
      "parents": [
        "ecbbfd44a08fa80e0d664814efd4c187721b85f6"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Mon Sep 17 23:03:31 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 23 20:14:55 2012 -0700"
      },
      "message": "console: use might_sleep in console_lock\n\nInstead of BUG_ON(in_interrupt()), since that doesn\u0027t check for all\nthe newfangled stuff like preempt.\n\nNote that this is valid since the console_sem is essentially used like\na real mutex with only two twists:\n- we allow trylock from hardirq context\n- across suspend/resume we lock the logical console_lock, but drop the\n  semaphore protecting the locking state.\n\nNow that doesn\u0027t guarantee that no one is playing tricks in\nsingle-thread atomic contexts at suspend/resume/boot time, but\n- I couldn\u0027t find anything suspicious with some grepping,\n- might_sleep shouldn\u0027t die,\n- and I think the upside of catching more potential issues is worth\n  the risk of getting a might_sleep backtrace that would have been\n  save (and then dealing with that fallout).\n\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "daee779718a319ff9f83e1ba3339334ac650bb22",
      "tree": "6e66b1e168b9c18af24136c669a369e96f13a75a",
      "parents": [
        "6f0c0580b70c89094b3422ba81118c7b959c7556"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Sat Sep 22 19:52:11 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:12:20 2012 -0700"
      },
      "message": "console: implement lockdep support for console_lock\n\nDave Airlie recently discovered a locking bug in the fbcon layer,\nwhere a timer_del_sync (for the blinking cursor) deadlocks with the\ntimer itself, since both (want to) hold the console_lock:\n\nhttps://lkml.org/lkml/2012/8/21/36\n\nUnfortunately the console_lock isn\u0027t a plain mutex and hence has no\nlockdep support. Which resulted in a few days wasted of tracking down\nthis bug (complicated by the fact that printk doesn\u0027t show anything\nwhen the console is locked) instead of noticing the bug much earlier\nwith the lockdep splat.\n\nHence I\u0027ve figured I need to fix that for the next deadlock involving\nconsole_lock - and with kms/drm growing ever more complex locking\nthat\u0027ll eventually happen.\n\nNow the console_lock has rather funky semantics, so after a quick irc\ndiscussion with Thomas Gleixner and Dave Airlie I\u0027ve quickly ditched\nthe original idead of switching to a real mutex (since it won\u0027t work)\nand instead opted to annotate the console_lock with lockdep\ninformation manually.\n\nThere are a few special cases:\n- The console_lock state is protected by the console_sem, and usually\n  grabbed/dropped at _lock/_unlock time. But the suspend/resume code\n  drops the semaphore without dropping the console_lock (see\n  suspend_console/resume_console). But since the same thread that did\n  the suspend will do the resume, we don\u0027t need to fix up anything.\n\n- In the printk code there\u0027s a special trylock, only used to kick off\n  the logbuffer printk\u0027ing in console_unlock. But all that happens\n  while lockdep is disable (since printk does a few other evil\n  tricks). So no issue there, either.\n\n- The console_lock can also be acquired form irq context (but only\n  with a trylock). lockdep already handles that.\n\nThis all leaves us with annotating the normal console_lock, _unlock\nand _trylock functions.\n\nAnd yes, it works - simply unloading a drm kms driver resulted in\nlockdep complaining about the deadlock in fbcon_deinit:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n3.6.0-rc2+ #552 Not tainted\n-------------------------------------------------------\nkms-reload/3577 is trying to acquire lock:\n ((\u0026info-\u003equeue)){+.+...}, at: [\u003cffffffff81058c70\u003e] wait_on_work+0x0/0xa7\n\nbut task is already holding lock:\n (console_lock){+.+.+.}, at: [\u003cffffffff81264686\u003e] bind_con_driver+0x38/0x263\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (console_lock){+.+.+.}:\n       [\u003cffffffff81087440\u003e] lock_acquire+0x95/0x105\n       [\u003cffffffff81040190\u003e] console_lock+0x59/0x5b\n       [\u003cffffffff81209cb6\u003e] fb_flashcursor+0x2e/0x12c\n       [\u003cffffffff81057c3e\u003e] process_one_work+0x1d9/0x3b4\n       [\u003cffffffff810584a2\u003e] worker_thread+0x1a7/0x24b\n       [\u003cffffffff8105ca29\u003e] kthread+0x7f/0x87\n       [\u003cffffffff813b1204\u003e] kernel_thread_helper+0x4/0x10\n\n-\u003e #0 ((\u0026info-\u003equeue)){+.+...}:\n       [\u003cffffffff81086cb3\u003e] __lock_acquire+0x999/0xcf6\n       [\u003cffffffff81087440\u003e] lock_acquire+0x95/0x105\n       [\u003cffffffff81058cab\u003e] wait_on_work+0x3b/0xa7\n       [\u003cffffffff81058dd6\u003e] __cancel_work_timer+0xbf/0x102\n       [\u003cffffffff81058e33\u003e] cancel_work_sync+0xb/0xd\n       [\u003cffffffff8120a3b3\u003e] fbcon_deinit+0x11c/0x1dc\n       [\u003cffffffff81264793\u003e] bind_con_driver+0x145/0x263\n       [\u003cffffffff81264a45\u003e] unbind_con_driver+0x14f/0x195\n       [\u003cffffffff8126540c\u003e] store_bind+0x1ad/0x1c1\n       [\u003cffffffff8127cbb7\u003e] dev_attr_store+0x13/0x1f\n       [\u003cffffffff8116d884\u003e] sysfs_write_file+0xe9/0x121\n       [\u003cffffffff811145b2\u003e] vfs_write+0x9b/0xfd\n       [\u003cffffffff811147b7\u003e] sys_write+0x3e/0x6b\n       [\u003cffffffff813b0039\u003e] system_call_fastpath+0x16/0x1b\n\nother info that might help us debug this:\n\n Possible unsafe locking scenario:\n\n       CPU0                    CPU1\n       ----                    ----\n  lock(console_lock);\n                               lock((\u0026info-\u003equeue));\n                               lock(console_lock);\n  lock((\u0026info-\u003equeue));\n\n *** DEADLOCK ***\n\nv2: Mark the lockdep_map static, noticed by Jani Nikula.\n\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "85eae82a0855d49852b87deac8653e4ebc8b291f",
      "tree": "c7b6a9334bf9f56c361537c8273a12f4b0549e0b",
      "parents": [
        "75fa29c7000924060677e0591368045576daad93"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Oct 15 21:35:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 16 18:17:44 2012 -0700"
      },
      "message": "printk: Fix scheduling-while-atomic problem in console_cpu_notify()\n\nThe console_cpu_notify() function runs with interrupts disabled in the\nCPU_DYING case.  It therefore cannot block, for example, as will happen\nwhen it calls console_lock().  Therefore, remove the CPU_DYING leg of\nthe switch statement to avoid this problem.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3756477aec028427fec767957c0d4b6cfb87208",
      "tree": "c92974b2e75dea5f050b2060cf181a44c2d49643",
      "parents": [
        "f4ba394c1b02e7fc2179fda8d3941a5b3b65efb6"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Aug 10 15:07:09 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 12 21:25:50 2012 +0300"
      },
      "message": "printk: Fix calculation of length used to discard records\n\nWhile tracking down a weird buffer overflow issue in a program that\nlooked to be sane, I started double checking the length returned by\nsyslog(SYSLOG_ACTION_READ_ALL, ...) to make sure it wasn\u0027t overflowing\nthe buffer.\n\nSure enough, it was.  I saw this in strace:\n\n  11339 syslog(SYSLOG_ACTION_READ_ALL, \"\u003c5\u003e[244017.708129] REISERFS (dev\"..., 8192) \u003d 8279\n\nIt turns out that the loops that calculate how much space the entries\nwill take when they\u0027re copied don\u0027t include the newlines and prefixes\nthat will be included in the final output since prev flags is passed as\nzero.\n\nThis patch properly accounts for it and fixes the overflow.\n\nCC: stable@kernel.org\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "088a52aac810655c1db1e40331e4936946701e9c",
      "tree": "51ad8938a70c0bd3a08c74379dbec3107037d602",
      "parents": [
        "04d2c8c83d0e3ac5f78aeede51babb3236200112"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 30 14:40:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:14 2012 -0700"
      },
      "message": "printk: only look for prefix levels in kernel messages\n\nvprintk_emit() prefix parsing should only be done for internal kernel\nmessages.  This allows existing behavior to be kept in all cases.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acc8fa41ad31c576cdbc569cc3e0e443b1b98b44",
      "tree": "74b4072203646bd7432249e57f5a1505fa346b5e",
      "parents": [
        "cdf53441368cc02ee4aa8a8343a5dc25132836f0"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 30 14:40:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "printk: add generic functions to find KERN_\u003cLEVEL\u003e headers\n\nThe current form of a KERN_\u003cLEVEL\u003e is \"\u003c.\u003e\".\n\nAdd printk_get_level and printk_skip_level functions to handle these\nformats.\n\nThese functions centralize tests of KERN_\u003cLEVEL\u003e so a future modification\ncan change the KERN_\u003cLEVEL\u003e style and shorten the number of bytes consumed\nby these headers.\n\n[akpm@linux-foundation.org: fix build error and warning]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Wu Fengguang \u003cwfg@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdf53441368cc02ee4aa8a8343a5dc25132836f0",
      "tree": "3867dc7e3a4477f7d2ed9ed5990b6d71f075c0d2",
      "parents": [
        "5353cf089bb32b69a7515be909c14bf05fe2e81e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon Jul 30 14:40:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "kmsg: /dev/kmsg - properly return possible copy_from_user() failure\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa93669a1917f93b09142d4b2298329b82d7d36d",
      "tree": "7f8d6dc9d1fbb086c59a799a3a7137c46fb9959e",
      "parents": [
        "b13bc8dda81c54a66a1c84e66f60b8feba659f28",
        "6791457a090d9a234a40b501c2536f0aefaeae4b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 11:25:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 11:25:33 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core changes from Greg Kroah-Hartman:\n \"Here\u0027s the big driver core pull request for 3.6-rc1.\n\n  Unlike 3.5, this kernel should be a lot tamer, with the printk changes\n  now settled down.  All we have here is some extcon driver updates, w1\n  driver updates, a few printk cleanups that weren\u0027t needed for 3.5, but\n  are good to have now, and some other minor fixes/changes in the driver\n  core.\n\n  All of these have been in the linux-next releases for a while now.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027driver-core-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (38 commits)\n  printk: Export struct log size and member offsets through vmcoreinfo\n  Drivers: hv: Change the hex constant to a decimal constant\n  driver core: don\u0027t trigger uevent after failure\n  extcon: MAX77693: Add extcon-max77693 driver to support Maxim MAX77693 MUIC device\n  sysfs: fail dentry revalidation after namespace change fix\n  sysfs: fail dentry revalidation after namespace change\n  extcon: spelling of detach in function doc\n  extcon: arizona: Stop microphone detection if we give up on it\n  extcon: arizona: Update cable reporting calls and split headset\n  PM / Runtime: Do not increment device usage counts before probing\n  kmsg - do not flush partial lines when the console is busy\n  kmsg - export \"continuation record\" flag to /dev/kmsg\n  kmsg - avoid warning for CONFIG_PRINTK\u003dn compilations\n  kmsg - properly print over-long continuation lines\n  driver-core: Use kobj_to_dev instead of re-implementing it\n  driver-core: Move kobj_to_dev from genhd.h to device.h\n  driver core: Move deferred devices to the end of dpm_list before probing\n  driver core: move uevent call to driver_register\n  driver core: fix shutdown races with probe/remove(v3)\n  Extcon: Arizona: Add driver for Wolfson Arizona class devices\n  ...\n"
    },
    {
      "commit": "533827c921c34310f63e859e1d6d0feec439657d",
      "tree": "6aaba38b5604be6ad3e9f7aa40239b5c3f9444e1",
      "parents": [
        "1b499d05eecbe04969516717a8e15afb6ad80689"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Fri Jul 20 17:28:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 21 10:34:00 2012 -0700"
      },
      "message": "printk: Implement some unlocked kmsg_dump functions\n\nIf used from KDB, the locked variants are prone to deadlocks (suppose we\ngot to the debugger w/ the logbuf lock held).\n\nSo, we have to implement a few routines that grab no logbuf lock.\n\nYet we don\u0027t need these functions in modules, so we don\u0027t export them.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b499d05eecbe04969516717a8e15afb6ad80689",
      "tree": "bd76ea04682094e21a4c34e770d818f80bdc3a7f",
      "parents": [
        "bc792e612e78a24ae0b30cc5b85f2368379ba4d4"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Fri Jul 20 17:27:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 21 10:34:00 2012 -0700"
      },
      "message": "printk: Remove kdb_syslog_data\n\nThe function is no longer needed, so remove it.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6791457a090d9a234a40b501c2536f0aefaeae4b",
      "tree": "39ba0f7e11dca9a88a38f85ca94b26f46f76365e",
      "parents": [
        "bd8a4f06d0310326f89fd58fed74f2db8e345056"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Jul 18 13:18:12 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jul 19 17:14:18 2012 -0700"
      },
      "message": "printk: Export struct log size and member offsets through vmcoreinfo\n\nThere are tools like makedumpfile and vmcore-dmesg which can extract\nkernel log buffer from vmcore. Since we introduced structured logging,\nthat functionality is broken. Now user space tools need to know about\n\"struct log\" and offsets of various fields to be able to parse struct\nlog data and extract text message or dictonary.\n\nThis patch exports some of the fields.\n\nCurrently I am not exporting log \"level\" info as that is a bitfield and\noffsetof() bitfields can\u0027t be calculated. But if people start asking for\nlog level info in the output then we probably either need to seprate\nout \"level\" or use bit shift operations for flags and level.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "eab072609e11a357181806ab5a5c309ef6eb76f5",
      "tree": "ffad9e6097c3a29fa3a54409e0ba9f551565dcfe",
      "parents": [
        "d39f3d77c9b1fe7cc33a14beb4a4849af0a4ac22"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon Jul 16 18:35:30 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 18:35:30 2012 -0700"
      },
      "message": "kmsg - do not flush partial lines when the console is busy\n\nFragments of continuation lines are flushed to the console immediately. In\ncase the console is locked, the fragment must be queued up in the cont\nbuffer.\n\nIf the the console is busy and the continuation line is complete, but no part\nof it was written to the console up to this point, we can just store the\nentire line as a regular record and free the buffer earlier.\n\nIf the console is busy and earlier messages are already queued up, we\nshould not flush the fragments of continuation lines, but store them after\nthe queued up messages, to ensure the proper ordering.\n\nThis keeps the console output better readable in case printk()s race against\neach other, or we receive over-long continuation lines we need to flush.\n\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d39f3d77c9b1fe7cc33a14beb4a4849af0a4ac22",
      "tree": "bf3a4fd34aa850a5f30f966dfd98a40a424f6b9a",
      "parents": [
        "96efedf1491cdf0616e5e4fff0711cebf20f69c7"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon Jul 16 18:35:30 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 18:35:30 2012 -0700"
      },
      "message": "kmsg - export \"continuation record\" flag to /dev/kmsg\n\nIn some cases we are forced to store individual records for a continuation\nline print.\n\nExport a flag to allow the external re-construction of the line. The flag\nallows us to apply a similar logic externally which is used internally when\nthe console, /proc/kmsg or the syslog() output is printed.\n\n  $ cat /dev/kmsg\n  4,165,0,-;Free swap  \u003d 0kB\n  4,166,0,-;Total swap \u003d 0kB\n  6,167,0,c;[\n  4,168,0,+;0\n  4,169,0,+;1\n  4,170,0,+;2\n  4,171,0,+;3\n  4,172,0,+;]\n  6,173,0,-;[0 1 2 3 ]\n  6,174,0,-;Console: colour VGA+ 80x25\n  6,175,0,-;console [tty0] enabled\n\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "96efedf1491cdf0616e5e4fff0711cebf20f69c7",
      "tree": "7134b4c674dd0f1de0bc9356830dd0b51c836fb7",
      "parents": [
        "70498253186586e5dca7bc3ebd3415203b059fbc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon Jul 16 18:35:29 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 18:35:29 2012 -0700"
      },
      "message": "kmsg - avoid warning for CONFIG_PRINTK\u003dn compilations\n\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "70498253186586e5dca7bc3ebd3415203b059fbc",
      "tree": "7039fd24627aff100b3fc5ddf97e9b27dae9b8b5",
      "parents": [
        "28a78e46f04ac5c4952533f2938a18699f207004"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon Jul 16 18:35:29 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 18:35:29 2012 -0700"
      },
      "message": "kmsg - properly print over-long continuation lines\n\nReserve PREFIX_MAX bytes in the LOG_LINE_MAX line when buffering a\ncontinuation line, to be able to properly prefix the LOG_LINE_MAX\nline with the syslog prefix and timestamp when printing it.\n\nReported-By: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "c313af145b9bc4fb8e8e0c83b8cfc10e1b894a50",
      "tree": "29abdf4b648d64068e424ed49ed379995a955d13",
      "parents": [
        "356c05d58af05d582e634b54b40050c73609617b"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Mon May 14 20:46:27 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 14 12:36:45 2012 -0700"
      },
      "message": "printk() - isolate KERN_CONT users from ordinary complete lines\n\nArrange the continuation printk() buffering to be fully separated from the\nordinary full line users.\n\nLimit the exposure to races and wrong printk() line merges to users of\ncontinuation only. Ordinary full line users racing against continuation\nusers will no longer affect each other.\n\nMultiple continuation users from different threads, racing against each\nother will not wrongly be merged into a single line, but printed as\nseparate lines.\n\nTest output of a kernel module which starts two separate threads which\nrace against each other, one of them printing a single full terminated\nline:\n  printk(\"(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\\n\");\n\nThe other one printing the line, every character separate in a\ncontinuation loop:\n  printk(\"(C\");\n  for (i \u003d 0; i \u003c 58; i++)\n          printk(KERN_CONT \"C\");\n  printk(KERN_CONT \"C)\\n\");\n\nBehavior of single and non-thread-aware printk() buffer:\n  # modprobe printk-race\n  printk test init\n  (CC(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  C(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  CC(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  C(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  CC(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  C(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  C(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  CC(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  C(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  C(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)\n  (CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)\n\nNew behavior with separate and thread-aware continuation buffer:\n  # modprobe printk-race\n  printk test init\n  (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  (CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)\n  (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)\n  (CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)\n  (CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ted Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Ingo Molnar  \u003cmingo@kernel.org\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3ce9a7c0ac28561567fadedf1a99272e4970f740",
      "tree": "8a3e9bd983941e75943d0a11dacdd85bce7e5c83",
      "parents": [
        "1fce677971e29ceaa7c569741fa9c685a7b1052a"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Sun May 13 23:30:46 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 14 08:42:22 2012 -0700"
      },
      "message": "printk() - restore prefix/timestamp printing for multi-newline strings\n\nCalls like:\n  printk(\"\\n *** DEADLOCK ***\\n\\n\");\nwill print 3 properly indented, separated, syslog + timestamp prefixed lines in\nthe log output.\n\nReported-By: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1fce677971e29ceaa7c569741fa9c685a7b1052a",
      "tree": "ed4e338140b9c44def77d53836c02e569dbf2981",
      "parents": [
        "42d1149f75a3d78033f66853796f20340d7b3ee2"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri May 11 16:36:07 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri May 11 16:44:54 2012 -0700"
      },
      "message": "printk: add stub for prepend_timestamp()\n\nAdd a stub for prepend_timestamp() when CONFIG_PRINTK is not\nenabled.  Fixes this build error:\n\nkernel/printk.c:1770:3: error: implicit declaration of function \u0027prepend_timestamp\u0027\n\nCc: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f8450fca6ecdea38b5a882fdf6cd097e3ec8651c",
      "tree": "bd304f4638508c8a6879798384199b994cbb6c04",
      "parents": [
        "af4681097b23fe9c63a03d774de7c742fa3a920e"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Thu May 10 16:14:33 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu May 10 15:36:59 2012 -0700"
      },
      "message": "printk: correctly align __log_buf\n\n__log_buf must be aligned, because a 64-bit value is written directly\nto it as part of struct log. Alignment of the log entries is typically\nhandled by log_store(), but this only triggers for subsequent entries,\nnot the very first (or wrapped) entries.\n\nCc: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "649e6ee33f73ba1c4f2492c6de9aff2254b540cb",
      "tree": "f7fe1b11f4eb7c306a07a8893980a5d34a0886d9",
      "parents": [
        "5c5d5ca51abd728c8de3be43ffd6bb00f977bfcd"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Thu May 10 04:30:45 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 09 20:35:06 2012 -0700"
      },
      "message": "printk() - restore timestamp printing at console output\n\nThe output of the timestamps got lost with the conversion of the\nkmsg buffer to records; restore the old behavior.\n\nDocument, that CONFIG_PRINTK_TIME now only controls the output of\nthe timestamps in the syslog() system call and on the console, and\nnot the recording of the timestamps.\n\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "5c5d5ca51abd728c8de3be43ffd6bb00f977bfcd",
      "tree": "737f0efbb6971c7055d7b07dacc79a2922bd19c7",
      "parents": [
        "7f3a781d6fd81e397c3928c9af33f1fc63232db6"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Thu May 10 04:32:53 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 09 20:29:59 2012 -0700"
      },
      "message": "printk() - do not merge continuation lines of different threads\n\nThis prevents the merging of printk() continuation lines of different\nthreads, in the case they race against each other.\n\nIt should properly isolate \"atomic\" single-line printk() users from\ncontinuation users, to make sure the single-line users will never be\nmerged with the racy continuation ones.\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7f3a781d6fd81e397c3928c9af33f1fc63232db6",
      "tree": "326e060d609a4c7e2775b2af7e82bfa2215a35a9",
      "parents": [
        "6a7e2618b3dbfbf1e8ab2b4be102b2944738fb68"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Wed May 09 01:37:51 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 09 15:51:09 2012 -0700"
      },
      "message": "printk - fix compilation for CONFIG_PRINTK\u003dn\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "5fc3249068c1ed87c6fd485f42ced24132405629",
      "tree": "31b2c682930b03e45fe27bc34c8b376e00da408e",
      "parents": [
        "a9e73211fb0fc875637793a8af770f3678b6c278"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Tue May 08 13:04:17 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 08 08:55:26 2012 -0700"
      },
      "message": "kmsg: use do_div() to divide 64bit integer\n\nOn Tue, May 8, 2012 at 10:02 AM, Stephen Rothwell \u003csfr@canb.auug.org.au\u003e wrote:\n\u003e kernel/built-in.o: In function `devkmsg_read\u0027:\n\u003e printk.c:(.text+0x27e8): undefined reference to `__udivdi3\u0027\n\u003e Most probably the \"msg-\u003ets_nsec / 1000\" since\n\u003e ts_nsec is a u64 and this is a 32 bit build ...\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e11fea92e13fb91c50bacca799a6131c81929986",
      "tree": "3b9204f4eccc6b488b843d6d00e65dc982c50160",
      "parents": [
        "7ff9554bb578ba02166071d2d487b7fc7d860d62"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Thu May 03 02:29:41 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 07 17:03:27 2012 -0700"
      },
      "message": "kmsg: export printk records to the /dev/kmsg interface\n\nSupport for multiple concurrent readers of /dev/kmsg, with read(),\nseek(), poll() support. Output of message sequence numbers, to allow\nuserspace log consumers to reliably reconnect and reconstruct their\nstate at any given time. After open(\"/dev/kmsg\"), read() always\nreturns *all* buffered records. If only future messages should be\nread, SEEK_END can be used. In case records get overwritten while\n/dev/kmsg is held open, or records get faster overwritten than they\nare read, the next read() will return -EPIPE and the current reading\nposition gets updated to the next available record. The passed\nsequence numbers allow the log consumer to calculate the amount of\nlost messages.\n\n  [root@mop ~]# cat /dev/kmsg\n  5,0,0;Linux version 3.4.0-rc1+ (kay@mop) (gcc version 4.7.0 20120315 ...\n  6,159,423091;ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])\n  7,160,424069;pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7] (ignored)\n   SUBSYSTEM\u003dacpi\n   DEVICE\u003d+acpi:PNP0A03:00\n  6,339,5140900;NET: Registered protocol family 10\n  30,340,5690716;udevd[80]: starting version 181\n  6,341,6081421;FDC 0 is a S82078B\n  6,345,6154686;microcode: CPU0 sig\u003d0x623, pf\u003d0x0, revision\u003d0x0\n  7,346,6156968;sr 1:0:0:0: Attached scsi CD-ROM sr0\n   SUBSYSTEM\u003dscsi\n   DEVICE\u003d+scsi:1:0:0:0\n  6,347,6289375;microcode: CPU1 sig\u003d0x623, pf\u003d0x0, revision\u003d0x0\n\nCc: Karel Zak \u003ckzak@redhat.com\u003e\nTested-by: William Douglas \u003cwilliam.douglas@intel.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7ff9554bb578ba02166071d2d487b7fc7d860d62",
      "tree": "fcd01f3dadfb451af453300663c60054d3e702cf",
      "parents": [
        "89528127fa5f4aca0483203c87c945555d057770"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Thu May 03 02:29:13 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 07 16:53:02 2012 -0700"
      },
      "message": "printk: convert byte-buffer to variable-length record buffer\n\n- Record-based stream instead of the traditional byte stream\n  buffer. All records carry a 64 bit timestamp, the syslog facility\n  and priority in the record header.\n\n- Records consume almost the same amount, sometimes less memory than\n  the traditional byte stream buffer (if printk_time is enabled). The record\n  header is 16 bytes long, plus some padding bytes at the end if needed.\n  The byte-stream buffer needed 3 chars for the syslog prefix, 15 char for\n  the timestamp and a newline.\n\n- Buffer management is based on message sequence numbers. When records\n  need to be discarded, the reading heads move on to the next full\n  record. Unlike the byte-stream buffer, no old logged lines get\n  truncated or partly overwritten by new ones. Sequence numbers also\n  allow consumers of the log stream to get notified if any message in\n  the stream they are about to read gets discarded during the time\n  of reading.\n\n- Better buffered IO support for KERN_CONT continuation lines, when printk()\n  is called multiple times for a single line. The use of KERN_CONT is now\n  mandatory to use continuation; a few places in the kernel need trivial fixes\n  here. The buffering could possibly be extended to per-cpu variables to allow\n  better thread-safety for multiple printk() invocations for a single line.\n\n- Full-featured syslog facility value support. Different facilities\n  can tag their messages. All userspace-injected messages enforce a\n  facility value \u003e 0 now, to be able to reliably distinguish them from\n  the kernel-generated messages. Independent subsystems like a\n  baseband processor running its own firmware, or a kernel-related\n  userspace process can use their own unique facility values. Multiple\n  independent log streams can co-exist that way in the same\n  buffer. All share the same global sequence number counter to ensure\n  proper ordering (and interleaving) and to allow the consumers of the\n  log to reliably correlate the events from different facilities.\n\nTested-by: William Douglas \u003cwilliam.douglas@intel.com\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2ba68940c893c8f0bfc8573c041254251bb6aeab",
      "tree": "fa83ebb01d32abd98123fa28f9f6f0b3eaeee25d",
      "parents": [
        "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
        "600e145882802d6ccbfe2c4aea243d97caeb91a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:31:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:31:44 2012 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes for v3.4 from Ingo Molnar\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)\n  printk: Make it compile with !CONFIG_PRINTK\n  sched/x86: Fix overflow in cyc2ns_offset\n  sched: Fix nohz load accounting -- again!\n  sched: Update yield() docs\n  printk/sched: Introduce special printk_sched() for those awkward moments\n  sched/nohz: Correctly initialize \u0027next_balance\u0027 in \u0027nohz\u0027 idle balancer\n  sched: Cleanup cpu_active madness\n  sched: Fix load-balance wreckage\n  sched: Clean up parameter passing of proc_sched_autogroup_set_nice()\n  sched: Ditch per cgroup task lists for load-balancing\n  sched: Rename load-balancing fields\n  sched: Move load-balancing arguments into helper struct\n  sched/rt: Do not submit new work when PI-blocked\n  sched/rt: Prevent idle task boosting\n  sched/wait: Add __wake_up_all_locked() API\n  sched/rt: Document scheduler related skip-resched-check sites\n  sched/rt: Use schedule_preempt_disabled()\n  sched/rt: Add schedule_preempt_disabled()\n  sched/rt: Do not throttle when PI boosting\n  sched/rt: Keep period timer ticking when rt throttling is active\n  ...\n"
    },
    {
      "commit": "600e145882802d6ccbfe2c4aea243d97caeb91a9",
      "tree": "0ad47fe66dfe2ea41a75c493e877483049dd446b",
      "parents": [
        "9993bc635d01a6ee7f6b833b4ee65ce7c06350b1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Mar 15 12:35:37 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 15 13:38:54 2012 +0100"
      },
      "message": "printk: Make it compile with !CONFIG_PRINTK\n\nCommit 3ccf3e830615 (\"printk/sched: Introduce special\nprintk_sched() for those awkward moments\") overlooked\nan #ifdef, so move code around to respect these directives.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nLink: http://lkml.kernel.org/r/1331811337.18960.179.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "47258cf3c4aa5d56e678bafe0dd0d03ddd980b88",
      "tree": "4856f0fb1185ba97f320a7ed6fb63bf136708a42",
      "parents": [
        "c308b56b5398779cd3da0f62ab26b0453494c3d4",
        "fde7d9049e55ab85a390be7f415d74c9f62dd0f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 13 16:26:52 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 13 16:26:52 2012 +0100"
      },
      "message": "Merge tag \u0027v3.3-rc7\u0027 into sched/core\n\nMerge reason: merge back final fixes, prepare for the merge window.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "35239e23c66f1614c76739b62a299c3c92d6eb68",
      "tree": "7b1e068df888ec9a00b43c1dd7517a6490da6a94",
      "parents": [
        "3f33ab1c0c741bfab2138c14ba1918a7905a1e8b",
        "87e24f4b67e68d9fd8df16e0bf9c66d1ad2a2533"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:07 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:11 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ccf3e8306156a28213adc720aba807e9a901ad5",
      "tree": "5b9db344b702299ea7eb53fbff3d0d74707d40ec",
      "parents": [
        "554cecaf733623b327eef9652b65965eb1081b81"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 27 10:47:00 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:43:16 2012 +0100"
      },
      "message": "printk/sched: Introduce special printk_sched() for those awkward moments\n\nThere\u0027s a few awkward printk()s inside of scheduler guts that people\nprefer to keep but really are rather deadlock prone. Fudge around it\nby storing the text in a per-cpu buffer and poll it using the existing\nprintk_tick() handler.\n\nThis will drop output when its more frequent than once a tick, however\nonly the affinity thing could possible go that fast and for that just\none should suffice to notify the admin he\u0027s done something silly..\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-wua3lmkt3dg8nfts66o6brne@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c22ab332902333f83766017478c1ef6607ace681",
      "tree": "20b7f296327cf1fd9349b7c99fdb11be1f4ff750",
      "parents": [
        "550cf00dbc8ee402bef71628cb71246493dd4500"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Mar 05 14:59:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "kmsg_dump: don\u0027t run on non-error paths by default\n\nSince commit 04c6862c055f (\"kmsg_dump: add kmsg_dump() calls to the\nreboot, halt, poweroff and emergency_restart paths\"), kmsg_dump() gets\nrun on normal paths including poweroff and reboot.\n\nThis is less than ideal given pstore implementations that can only\nrepresent single backtraces, since a reboot may overwrite a stored oops\nbefore it\u0027s been picked up by userspace.  In addition, some pstore\nbackends may have low performance and provide a significant delay in\nreboot as a result.\n\nThis patch adds a printk.always_kmsg_dump kernel parameter (which can also\nbe changed from userspace).  Without it, the code will only be run on\nfailure paths rather than on normal paths.  The option can be enabled in\nenvironments where there\u0027s a desire to attempt to audit whether or not a\nreboot was cleanly requested or not.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nCc: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nCc: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95100358491abaa2e9a5483811370059bbca4645",
      "tree": "4fc32c4bf2ef4416b4a914f5426f96ba58f29ec1",
      "parents": [
        "cdfb0d30e943f36c8a074a26c3d168a05bdbb372"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 24 20:03:08 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 13:46:05 2012 -0500"
      },
      "message": "printk/tracing: Add console output tracing\n\nAdd a printk.console trace point to record any printk\nmessages into the trace, regardless of the current\nconsole loglevel. This can help correlate (existing)\nprintk debugging with other tracing.\n\nLink: http://lkml.kernel.org/r/1322161388.5366.54.camel@jlt3.sipsolutions.net\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2329abfa344a9a824bc4c71f2415528777265510",
      "tree": "7779fadc6ceba76071e3f5db0ec6a1dee41a0dfd",
      "parents": [
        "6d6a55ec0877393f467067d44b9a2a8c2e4a82d2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:18 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:18 2012 +1030"
      },
      "message": "module_param: make bool parameters really bool (core code)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "29d4d6df107b9d86982dc759f5b1ddfe2c6b29c0",
      "tree": "270450c3ad8de1b5164d671209ea92f13175660f",
      "parents": [
        "f17dda94d48b654c793da6632f65654476291ba5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:17 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:17 2012 +1030"
      },
      "message": "printk: fix unnecessary module_param_name.\n\nYou don\u0027t need module_param_name if the name is the same!\n\nCc: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1483b3823542c9721eddf09a077af1e02ac96b50",
      "tree": "390dcff4ddfb8634ad62c7fc9c3c9d0e802e9c1e",
      "parents": [
        "4a2164a7dbf0d3b6a1c2ef6f20c0d54350491a12",
        "1a9a8aefa8f0530c97f4606ab7a2fc01fe31e9c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:01:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:01:59 2012 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  printk, lockdep: Switch to tracked irq ops\n  printk, lockdep: Remove superfluous preempt_disable()\n  printk, lockdep: Disable lock debugging on zap_locks()\n"
    },
    {
      "commit": "45aa0663cc408617b79a2b53f0a5f50e94688a48",
      "tree": "0a53931c317c3c72a3555bd2fbb70a881ee870f2",
      "parents": [
        "511585a28e5b5fd1cac61e601e42efc4c5dd64b5",
        "7bd0b0f0da3b1ec11cbcc798eb0ef747a1184077"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 12:14:26 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 12:14:26 2011 +0100"
      },
      "message": "Merge branch \u0027memblock-kill-early_node_map\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/memblock\n"
    },
    {
      "commit": "09dc3cf93f7d16fdd37a0ad8486faebb5e2769ec",
      "tree": "4db1b0103db218d0d0aa26a26232c3674dd18622",
      "parents": [
        "c193c82f054195aa352ccbef91afc28446e5a30e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Dec 08 14:34:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "printk: avoid double lock acquire\n\nCommit 4f2a8d3cf5e (\"printk: Fix console_sem vs logbuf_lock unlock race\")\nintroduced another silly bug where we would want to acquire an already\nheld lock.  Avoid this.\n\nReported-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4bbf7e7759afc172e2bfbc5c416324590049cdd",
      "tree": "7eab5ee5481cd3dcf1162329fec827177640018a",
      "parents": [
        "a150439c4a97db379f0ed6faa46fbbb6e7bf3cb2",
        "401d0069cb344f401bc9d264c31db55876ff78c0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 28 09:46:22 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 28 09:46:22 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 into x86/memblock\n\nConflicts \u0026 resolutions:\n\n* arch/x86/xen/setup.c\n\n\tdc91c728fd \"xen: allow extra memory to be in multiple regions\"\n\t24aa07882b \"memblock, x86: Replace memblock_x86_reserve/free...\"\n\n\tconflicted on xen_add_extra_mem() updates.  The resolution is\n\ttrivial as the latter just want to replace\n\tmemblock_x86_reserve_range() with memblock_reserve().\n\n* drivers/pci/intel-iommu.c\n\n\t166e9278a3f \"x86/ia64: intel-iommu: move to drivers/iommu/\"\n\t5dfe8660a3d \"bootmem: Replace work_with_active_regions() with...\"\n\n\tconflicted as the former moved the file under drivers/iommu/.\n\tResolved by applying the chnages from the latter on the moved\n\tfile.\n\n* mm/Kconfig\n\n\t6661672053a \"memblock: add NO_BOOTMEM config symbol\"\n\tc378ddd53f9 \"memblock, x86: Make ARCH_DISCARD_MEMBLOCK a config option\"\n\n\tconflicted trivially.  Both added config options.  Just\n\tletting both add their own options resolves the conflict.\n\n* mm/memblock.c\n\n\td1f0ece6cdc \"mm/memblock.c: small function definition fixes\"\n\ted7b56a799c \"memblock: Remove memblock_memory_can_coalesce()\"\n\n\tconfliected.  The former updates function removed by the\n\tlatter.  Resolution is trivial.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "1a9a8aefa8f0530c97f4606ab7a2fc01fe31e9c1",
      "tree": "41fb56adf3fd6f460e69450de5d66209ba62116d",
      "parents": [
        "47ff5c95db598184122aa634fa3452c0eecea877"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 07 11:17:30 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:35:20 2011 +0100"
      },
      "message": "printk, lockdep: Switch to tracked irq ops\n\nSwitch to local_irq_ ops so that the irq state is properly tracked\n(raw_local_irq_* isn\u0027t tracked by lockdep, causing confusion).\n\nPossible now that commit dd4e5d3ac4a (\"lockdep: Fix\ntrace_[soft,hard]irqs_[on,off]() recursion\") cured the reason we\nneeded the raw_ ops.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "47ff5c95db598184122aa634fa3452c0eecea877",
      "tree": "93ecf3431a4ebdf47a83a20f73b8964ab1c96f3b",
      "parents": [
        "94d24fc47219219b5aa23b45956cc37ee5aa5b01"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 07 11:17:30 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:35:18 2011 +0100"
      },
      "message": "printk, lockdep: Remove superfluous preempt_disable()\n\nThe raw_lock_irq_{save,restore}() already implies a\nnon-preemptibility.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94d24fc47219219b5aa23b45956cc37ee5aa5b01",
      "tree": "cc7f5fbf4f2e9c6243c9b3ce2439c2d3807d5f12",
      "parents": [
        "7f80850d3f9fd8fda23a317044aef3a6bafab06b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 07 11:17:30 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:35:16 2011 +0100"
      },
      "message": "printk, lockdep: Disable lock debugging on zap_locks()\n\nzap_locks() is used by printk() in a last ditch effort to get data\nout, clearly we cannot trust lock state after this so make it disable\nlock debugging.\n\nAlso don\u0027t treat printk recursion through lockdep as a normal\nrecursion bug but try hard to get the lockdep splat out.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-kqxwmo4xz37e1s8w0xopvr0q@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae29bc92da01a2e9d278a9a58c3b307d41cc0254",
      "tree": "7709a1afd9f2089b3f9c13ed3086f5ef1fc5a088",
      "parents": [
        "48e41899e4a3592746e5263c14681bf5c1393563"
      ],
      "author": {
        "name": "William Douglas",
        "email": "william.r.douglas@gmail.com",
        "time": "Mon Oct 31 17:11:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "printk: remove bounds checking for log_prefix\n\nCurrently log_prefix is testing that the first character of the log level\nand facility is less than \u00270\u0027 and greater than \u00279\u0027 (which is always\nfalse).\n\nSince the code being updated works because strtoul bombs out (endp isn\u0027t\nupdated) and 0 is returned anyway just remove the check and don\u0027t change\nthe behavior of the function.\n\nSigned-off-by: William Douglas \u003cwilliam.douglas@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48e41899e4a3592746e5263c14681bf5c1393563",
      "tree": "8d575fa52f27f63353fb0f3179b77c9e2172a69b",
      "parents": [
        "134620f7a865b3bc9e3d56d460603592b70ede21"
      ],
      "author": {
        "name": "William Douglas",
        "email": "william.r.douglas@gmail.com",
        "time": "Mon Oct 31 17:11:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "printk: fix bounds checking for log_prefix\n\nCurrently log_prefix is testing that the first character of the log level\nand facility is less than \u00270\u0027 and greater than \u00279\u0027 (which is always\nfalse).  It should be testing to see if the character less than \u00270\u0027 or\ngreater than \u00279\u0027 instead.  This patch makes that change.\n\nThe code being changed worked because strtoul bombs out (endp isn\u0027t\nupdated) and 0 is returned anyway.\n\nSigned-off-by: William Douglas \u003cwilliam.douglas@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "134620f7a865b3bc9e3d56d460603592b70ede21",
      "tree": "82d455ffba5417b731d0283c6593e101dfb625ac",
      "parents": [
        "0eca6b7c78fd997e02bd9850e608102382b7822e"
      ],
      "author": {
        "name": "Yanmin Zhang",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Mon Oct 31 17:11:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "printk: add console_suspend module parameter\n\nWe are enabling some power features on medfield.  To test suspend-2-RAM\nconveniently, we need turn on/off console_suspend_enabled frequently.\n\nAdd a module parameter, so users could change it by:\n/sys/module/printk/parameters/console_suspend\n\nSigned-off-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0eca6b7c78fd997e02bd9850e608102382b7822e",
      "tree": "39dd9b7b952da5560f4addb3df3e1f907b345d2e",
      "parents": [
        "73efc0394e148d0e15583e13712637831f926720"
      ],
      "author": {
        "name": "Yanmin Zhang",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Mon Oct 31 17:11:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "printk: add module parameter ignore_loglevel to control ignore_loglevel\n\nWe are enabling some power features on medfield.  To test suspend-2-RAM\nconveniently, we need turn on/off ignore_loglevel frequently without\nrebooting.\n\nAdd a module parameter, so users can change it by:\n/sys/module/printk/parameters/ignore_loglevel\n\nSigned-off-by: Yanmin Zhang \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07354eb1a74d1e1ece29f8bafe0b46e8c77a95ef",
      "tree": "4e2370ce5a6eb5eccc20d89dcfca44cc0dafbfa6",
      "parents": [
        "5389f6fad27019f2ba78f1b332f719ec05f12a42"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 25 17:50:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 13 11:11:54 2011 +0200"
      },
      "message": "locking, printk: Annotate logbuf_lock as raw\n\nThe logbuf_lock lock can be taken in atomic context and therefore\ncannot be preempted on -rt - annotate it.\n\nIn mainline this change documents the low level nature of\nthe lock - otherwise there\u0027s no functional difference. Lockdep\nand Sparse checking will work as usual.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[ merged and fixed it ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4c30c6f566c0989ddaee3407da44751e340a63ed",
      "tree": "0f8801e2449a37c1e4ac78588c474b3327a7c430",
      "parents": [
        "47331231bb997a8adb79774fc4cf4bb48fe4e00a"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Thu Aug 25 15:59:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 16:25:34 2011 -0700"
      },
      "message": "kernel/printk: do not turn off bootconsole in printk_late_init() if keep_bootcon\n\nIt seems that 7bf693951a8e (\"console: allow to retain boot console via\nboot option keep_bootcon\") doesn\u0027t always achieve what it aims, as when\nprintk_late_init() runs it unconditionally turns off all boot consoles.\nWith this patch, I am able to see more messages on the boot console in\nKVM guests than I can without, when keep_bootcon is specified.\n\nI think it is appropriate for the relevant -stable trees.  However, it\u0027s\nmore of an annoyance than a serious bug (ideally you don\u0027t need to keep\nthe boot console around as console handover should be working -- I was\nencountering a situation where the console handover wasn\u0027t working and\nnot having the boot console available meant I couldn\u0027t see why).\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Fabio M. Di Nitto \u003cfdinitto@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.39.x, 3.0.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2c0d0266cc5eb36a4aa44944b4096ec121490aa",
      "tree": "1f3ec14316bf428e278c06059868c85c87df53cb",
      "parents": [
        "9f50fad65b87a8776ae989ca059ad6c17925dfc3"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrnieder@gmail.com",
        "time": "Mon Aug 08 06:22:43 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 09 18:22:22 2011 -0700"
      },
      "message": "cap_syslog: don\u0027t use WARN_ONCE for CAP_SYS_ADMIN deprecation warning\n\nsyslog-ng versions before 3.3.0beta1 (2011-05-12) assume that\nCAP_SYS_ADMIN is sufficient to access syslog, so ever since CAP_SYSLOG\nwas introduced (2010-11-25) they have triggered a warning.\n\nCommit ee24aebffb75 (\"cap_syslog: accept CAP_SYS_ADMIN for now\")\nimproved matters a little by making syslog-ng work again, just keeping\nthe WARN_ONCE().  But still, this is a warning that writes a stack trace\nwe don\u0027t care about to syslog, sets a taint flag, and alarms sysadmins\nwhen nothing worse has happened than use of an old userspace with a\nrecent kernel.\n\nConvert the WARN_ONCE to a printk_once to avoid that while continuing to\ngive userspace developers a hint that this is an unwanted\nbackward-compatibility feature and won\u0027t be around forever.\n\nReported-by: Ralf Hildebrandt \u003cralf.hildebrandt@charite.de\u003e\nReported-by: Niels \u003czorglub_olsen@hotmail.com\u003e\nReported-by: Paweł Sikora \u003cpluto@agmk.net\u003e\nSigned-off-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nLiked-by: Gergely Nagy \u003calgernon@madhouse-project.org\u003e\nAcked-by: Serge Hallyn \u003cserge@hallyn.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f5026a7e21e409c2b9dd54f6dfb9446511fb7c5",
      "tree": "bcf0529d5f05ea8b685d6c0fddcb3197c2fab49c",
      "parents": [
        "348968eb151e2569ad0ebe19b2f9c3c25b5c816a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 12 09:58:09 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jul 13 16:36:01 2011 -0700"
      },
      "message": "memblock: Kill MEMBLOCK_ERROR\n\n25818f0f28 (memblock: Make MEMBLOCK_ERROR be 0) thankfully made\nMEMBLOCK_ERROR 0 and there already are codes which expect error return\nto be 0.  There\u0027s no point in keeping MEMBLOCK_ERROR around.  End its\nmisery.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310457490-3356-6-git-send-email-tj@kernel.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "4f2a8d3cf5e0486fd547633fa86c5d130ae98cad",
      "tree": "4f60a635565fd63473e5c23f45745b3b502a1d52",
      "parents": [
        "0b5e1c5255e7ee8670e077e8224e5c2281229a5b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jun 22 11:20:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 22 11:39:34 2011 +0200"
      },
      "message": "printk: Fix console_sem vs logbuf_lock unlock race\n\nFix up the fallout from commit 0b5e1c5255 (\"printk: Release\nconsole_sem after logbuf_lock\").\n\nThe reason for unlocking the console_sem under the logbuf_lock\nis that a concurrent printk() might fill up the buffer but fail\nto acquire the console sem, resulting in a missed write to the\nconsole until a subsequent console_sem acquire/release cycle.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: efault@gmx.de\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1308734409.1022.14.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b5e1c5255e7ee8670e077e8224e5c2281229a5b",
      "tree": "eb6f967b14d69553e380ab2f13a2dcd8789e865e",
      "parents": [
        "59c5f46fbe01a00eedf54a23789634438bb80603"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 07 11:15:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 07 12:50:02 2011 +0200"
      },
      "message": "printk: Release console_sem after logbuf_lock\n\nRelease console_sem after unlocking the logbuf_lock so that we don\u0027t\ngenerate wakeups while holding logbuf_lock. This avoids some lock\ninversion troubles once we remove the lockdep_off bits between\nlogbuf_lock and rq-\u003elock (prints while holding rq-\u003elock vs doing\nwakeups while holding logbuf_lock).\n\nThere\u0027s of course still an actual deadlock where the printk()s under\nrq-\u003elock will issue a wakeup from the up() call, but lockdep won\u0027t\nwarn about that since semaphores are not tracked.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-j8swthl12u73h4znbvitljzd@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "162a7e7500f9664636e649ba59defe541b7c2c60",
      "tree": "f44d4e480975d7f2c4bd4fd8625dbdb81eb04ade",
      "parents": [
        "95dde501907b06e7203c74f8435acfdab9eb2659"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue May 24 17:13:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:48 2011 -0700"
      },
      "message": "printk: allocate kernel log buffer earlier\n\nOn larger systems, because of the numerous ACPI, Bootmem and EFI messages,\nthe static log buffer overflows before the larger one specified by the\nlog_buf_len param is allocated.  Minimize the overflow by allocating the\nnew log buffer as soon as possible.\n\nOn kernels without memblock, a later call to setup_log_buf from\nkernel/init.c is the fallback.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix CONFIG_PRINTK\u003dn build]\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5af5bcb8d37f99ba415a1adc6da71051b84f93a5",
      "tree": "58ae14d126ef40cbc5a91538cfe04433d26510ae",
      "parents": [
        "9f36e2c448007b54851e7e4fa48da97d1477a175"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Tue Mar 22 16:34:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:13 2011 -0700"
      },
      "message": "printk: allow setting DEFAULT_MESSAGE_LEVEL via Kconfig\n\nWe\u0027ve been burned by regressions/bugs which we later realized could have\nbeen triaged quicker if only we\u0027d paid closer attention to dmesg.  To make\nit easier to audit dmesg, we\u0027d like to make DEFAULT_MESSAGE_LEVEL\nKconfig-settable.  That way we can set it to KERN_NOTICE and audit any\nmessages \u003c\u003d KERN_WARNING.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Olof Johansson \u003colofj@chromium.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe3d8ad31cf51b062bbb8a9609eeb1d0c41a7f30",
      "tree": "f0e0f85582a695d0da7bae97897835ee51a0ab09",
      "parents": [
        "7bf693951a8e5f7e600a45b74d91d962a453146e"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Tue Mar 22 16:34:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "console: prevent registered consoles from dumping old kernel message over again\n\nFor a platform with many consoles like:\n \"console\u003dtty1 console\u003dttyMFD2 console\u003dttyS0 earlyprintk\u003dmrst\"\n\nEach time when the non \"selected_console\" (tty1 and ttyMFD2 here) get\nregistered, the existing kernel message will be printed out on registered\nconsoles again, the \"mrst\" early console will get some same message for 3\ntimes, and \"tty1\" will get some for twice.\n\nAs suggested by Andrew Morton, every time a new console is registered, it\nwill be set as the \"exclusive\" console which will dump the already\nexisting kernel messages.\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bf693951a8e5f7e600a45b74d91d962a453146e",
      "tree": "d322e17d0d6b445d8332e210e01d3cce7ddfe5ca",
      "parents": [
        "26297607e09ca6c7e6f2a6b86a8bee2f23503bb8"
      ],
      "author": {
        "name": "Fabio M. Di Nitto",
        "email": "fdinitto@redhat.com",
        "time": "Tue Mar 22 16:34:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "console: allow to retain boot console via boot option keep_bootcon\n\nOn some architectures, the boot process involves de-registering the boot\nconsole (early boot), initialize drivers and then re-register the console.\n\nThis mechanism introduces a window in which no printk can happen on the\nconsole and messages are buffered and then printed once the new console is\navailable.\n\nIf a kernel crashes during this window, all it\u0027s left on the boot console\nis \"console [foo] enabled, bootconsole disabled\" making debug of the crash\nrather \u0027interesting\u0027.\n\nBy adding \"keep_bootcon\" option, do not unregister the boot console, that\nwill allow to printk everything that is happening up to the crash.\n\nThe option is clearly meant only for debugging purposes as it introduces\nlots of duplicated info printed on console, but will make bug report from\nusers easier as it doesn\u0027t require a kernel build just to figure out where\nwe crash.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@fabbione.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5e6b135bdff649e4330f98e2e80dbb1984f7e77",
      "tree": "475bfb1163c59d1370fd77415255afba768f9520",
      "parents": [
        "971f115a50afbe409825c9f3399d5a3b9aca4381",
        "9d90c8d9cde929cbc575098e825d7c29d9f45054"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (50 commits)\n  printk: do not mangle valid userspace syslog prefixes\n  efivars: Add Documentation\n  efivars: Expose efivars functionality to external drivers.\n  efivars: Parameterize operations.\n  efivars: Split out variable registration\n  efivars: parameterize efivars\n  efivars: Make efivars bin_attributes dynamic\n  efivars: move efivars globals into struct efivars\n  drivers:misc: ti-st: fix debugging code\n  kref: Fix typo in kref documentation\n  UIO: add PRUSS UIO driver support\n  Fix spelling mistakes in Documentation/zh_CN/SubmittingPatches\n  firmware: Fix unaligned memory accesses in dmi-sysfs\n  firmware: Add documentation for /sys/firmware/dmi\n  firmware: Expose DMI type 15 System Event Log\n  firmware: Break out system_event_log in dmi-sysfs\n  firmware: Basic dmi-sysfs support\n  firmware: Add DMI entry types to the headers\n  Driver core: convert platform_{get,set}_drvdata to static inline functions\n  Translate linux-2.6/Documentation/magic-number.txt into Chinese\n  ...\n"
    },
    {
      "commit": "9d90c8d9cde929cbc575098e825d7c29d9f45054",
      "tree": "49cd83812a9cbbb40cb0c6b73b13455cad0029ea",
      "parents": [
        "54fad532b29aa9145f12a83f4f82820c2f23b4e2"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Mar 13 03:19:51 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 14 08:49:16 2011 -0700"
      },
      "message": "printk: do not mangle valid userspace syslog prefixes\n\nprintk: do not mangle valid userspace syslog prefixes with /dev/kmsg\n\nLog messages passed to the kernel log by using /dev/kmsg or /dev/ttyprintk\nmight contain a syslog prefix including the syslog facility value.\n\nThis makes printk to recognize these headers properly, extract the real log\nlevel from it to use, and add the prefix as a proper prefix to the\nlog buffer, instead of wrongly printing it as the log message text.\n\nBefore:\n  $ echo \u0027\u003c14\u003etext\u0027 \u003e /dev/kmsg\n  $ dmesg -r\n  \u003c4\u003e[135159.594810] \u003c14\u003etext\n\nAfter:\n  $ echo \u0027\u003c14\u003etext\u0027 \u003e /dev/kmsg\n  $ dmesg -r\n  \u003c14\u003e[   50.750654] text\n\nCc: Lennart Poettering \u003clennart@poettering.net\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ee24aebffb75a7f940cf52c8cf6910947b3130c0",
      "tree": "ed1eafa8b1a30b078c9fa680aafbb49632921a0d",
      "parents": [
        "67d019528e5c2693145217cf18a507689980d2a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 17:53:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 17:53:55 2011 -0800"
      },
      "message": "cap_syslog: accept CAP_SYS_ADMIN for now\n\nIn commit ce6ada35bdf7 (\"security: Define CAP_SYSLOG\") Serge Hallyn\nintroduced CAP_SYSLOG, but broke backwards compatibility by no longer\naccepting CAP_SYS_ADMIN as an override (it would cause a warning and\nthen reject the operation).\n\nRe-instate CAP_SYS_ADMIN - but keeping the warning - as an acceptable\ncapability until any legacy applications have been updated.  There are\napparently applications out there that drop all capabilities except for\nCAP_SYS_ADMIN in order to access the syslog.\n\n(This is a re-implementation of a patch by Serge, cleaning the logic up\nand making the code more readable)\n\nAcked-by: Serge Hallyn \u003cserge@hallyn.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff",
      "tree": "e2d3f799e20e2cbca80891ea17af7484f21d628f",
      "parents": [
        "3689456b4bd36027022b3215eb2acba51cd0e6b5"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Tue Jan 25 15:07:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:06 2011 +1000"
      },
      "message": "console: rename acquire/release_console_sem() to console_lock/unlock()\n\nThe -rt patches change the console_semaphore to console_mutex.  As a\nresult, a quite large chunk of the patches changes all\nacquire/release_console_sem() to acquire/release_console_mutex()\n\nThis commit makes things use more neutral function names which dont make\nimplications about the underlying lock.\n\nThe only real change is the return value of console_trylock which is\ninverted from try_acquire_console_sem()\n\nThis patch also paves the way to switching console_sem from a semaphore to\na mutex.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Thomas Gleixner \u003ctglx@tglx.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb842b00c5eab66ec361b31550aa8a922745ce9e",
      "tree": "cef7e6a0bd01849fcfc911f36293304f9ba7b3c2",
      "parents": [
        "f0f2c2b5b40b5e621a47a6a274117cce77841f1e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jan 12 16:59:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:09 2011 -0800"
      },
      "message": "printk: use RCU to prevent potential lock contention in kmsg_dump\n\ndump_list_lock is used to protect dump_list in kmsg_dumper implementation,\nkmsg_dump() uses it to traverse dump_list too.  But if there is contention\non the lock, kmsg_dump() will fail, and the valuable kernel message may be\nlost.\n\nThis patch solves this issue with RCU.  Because kmsg_dump() only read the\nlist, no lock is needed in kmsg_dump().  So that kmsg_dump() will never\nfail because of lock contention.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c6862c055fb687c90d9652f32c11a063df15cf",
      "tree": "b381c4c2005118f05ce8d2f3d363b73807c0eddf",
      "parents": [
        "fc2d557c74dc58294b9acc7231a2113ae59af97c"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Jan 12 16:59:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:07 2011 -0800"
      },
      "message": "kmsg_dump: add kmsg_dump() calls to the reboot, halt, poweroff and emergency_restart paths\n\nWe need to know the reason why system rebooted in support service.\nHowever, we can\u0027t inform our customers of the reason because final\nmessages are lost on current Linux kernel.\n\nThis patch improves the situation above because the final messages are\nsaved by adding kmsg_dump() to reboot, halt, poweroff and\nemergency_restart path.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nReviewed-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2e7ad19229f982fc1eb731827d82ceac90abfb3",
      "tree": "98a3741b4d4b27a48b3c7ea9babe331e539416a8",
      "parents": [
        "d03a5d888fb688c832d470b749acc5ed38e0bc1d",
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 09:46:24 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 09:46:24 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/smack/smack_lsm.c\n\nVerified and added fix by Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nOk\u0027d by Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "56b85f32d530d09d6805488ad00775d4e0e3baab",
      "tree": "e7fbe69e338ef775d3b2dd822aa915d259b4bc94",
      "parents": [
        "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
        "568389c257fa7d74ce36c2f78bad31965fded4cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (36 commits)\n  serial: apbuart: Fixup apbuart_console_init()\n  TTY: Add tty ioctl to figure device node of the system console.\n  tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n  drivers: serial: apbuart: Handle OF failures gracefully\n  Serial: Avoid unbalanced IRQ wake disable during resume\n  tty: fix typos/errors in tty_driver.h comments\n  pch_uart : fix warnings for 64bit compile\n  8250: fix uninitialized FIFOs\n  ip2: fix compiler warning on ip2main_pci_tbl\n  specialix: fix compiler warning on specialix_pci_tbl\n  rocket: fix compiler warning on rocket_pci_ids\n  8250: add a UPIO_DWAPB32 for 32 bit accesses\n  8250: use container_of() instead of casting\n  serial: omap-serial: Add support for kernel debugger\n  serial: fix pch_uart kconfig \u0026 build\n  drivers: char: hvc: add arm JTAG DCC console support\n  RS485 documentation: add 16C950 UART description\n  serial: ifx6x60: fix memory leak\n  serial: ifx6x60: free IRQ on error\n  Serial: EG20T: add PCH_UART driver\n  ...\n\nFixed up conflicts in drivers/serial/apbuart.c with evil merge that\nmakes the code look fairly sane (unlike either side).\n"
    },
    {
      "commit": "fbc92a3455577ab17615cbcb91826399061bd789",
      "tree": "0f47703d9d3b40969e007a6d27a1b603cdff43da",
      "parents": [
        "35c64e5d13c3d7d8c4ad061ad5e20498b9160c24"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Dec 01 18:51:05 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 16 16:15:34 2010 -0800"
      },
      "message": "tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n\ntty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n\nUserspace can query the actual virtual console, and the configured\nconsole devices behind /dev/tt0 and /dev/console.\n\nThe last entry in the list of devices is the active device, analog\nto the console\u003d kernel command line option.\n\nThe attribute supports poll(), which is raised when the virtual\nconsole is changed or /dev/console is reconfigured.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nindex 0000000..b138b66\n"
    },
    {
      "commit": "38ef4c2e437d11b5922723504b62824e96761459",
      "tree": "ccec1f38348af3c2776fc5bc0b589e14504f4b33",
      "parents": [
        "5c6d1125f8dbd1bfef39e38fbc2837003be78a59"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Dec 08 15:19:01 2010 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 09 09:48:48 2010 +1100"
      },
      "message": "syslog: check cap_syslog when dmesg_restrict\n\nEric Paris pointed out that it doesn\u0027t make sense to require\nboth CAP_SYS_ADMIN and CAP_SYSLOG for certain syslog actions.\nSo require CAP_SYSLOG, not CAP_SYS_ADMIN, when dmesg_restrict\nis set.\n\n(I\u0027m also consolidating the now common error path)\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "40dc11ffb35e8c4e8fa71092048e0f8de9db758c",
      "tree": "88ae143dab98b902b7ec94220160560463c063f9",
      "parents": [
        "806c09a7db457be3758e14b1f152761135d89af5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 26 17:22:16 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:01 2010 +0100"
      },
      "message": "printk: Use this_cpu_{read|write} api on printk_pending\n\n__get_cpu_var() is a bit inefficient, lets use __this_cpu_read() and\n__this_cpu_write() to manipulate printk_pending.\n\nprintk_needs_cpu(cpu) is called only for the current cpu :\nUse faster __this_cpu_read().\n\nRemove the redundant unlikely on (cpu_is_offline(cpu)) test:\n\n # size kernel/printk.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   9942\t    756\t 263488\t 274186\t  42f0a\tkernel/printk.o.new\n   9990\t    756\t 263488\t 274234\t  42f3a\tkernel/printk.o.old\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290788536.2855.237.camel@edumazet-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ce6ada35bdf710d16582cc4869c26722547e6f11",
      "tree": "c2b5fd46c883f4b7285b191bac55940022662b43",
      "parents": [
        "1d6d75684d869406e5bb2ac5d3ed9454f52d0cab"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Thu Nov 25 17:11:32 2010 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Nov 29 08:35:12 2010 +1100"
      },
      "message": "security: Define CAP_SYSLOG\n\nPrivileged syslog operations currently require CAP_SYS_ADMIN.  Split\nthis off into a new CAP_SYSLOG privilege which we can sanely take away\nfrom a container through the capability bounding set.\n\nWith this patch, an lxc container can be prevented from messing with\nthe host\u0027s syslog (i.e. dmesg -c).\n\nChangelog: mar 12 2010: add selinux capability2:cap_syslog perm\nChangelog: nov 22 2010:\n\t. port to new kernel\n\t. add a WARN_ONCE if userspace isn\u0027t using CAP_SYSLOG\n\nSigned-off-by: Serge Hallyn \u003cserge.hallyn@ubuntu.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-By: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: \"Christopher J. PeBenito\" \u003ccpebenito@tresys.com\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "61ab25447ad6334a74e32f60efb135a3467223f8",
      "tree": "f0cda4931a7ba79609b3b1b4c2e0fda31851e14b",
      "parents": [
        "49f4138346b3cec2706adff02658fe27ceb1e46f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Nov 26 13:00:59 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:12 2010 +0100"
      },
      "message": "nohz: Fix printk_needs_cpu() return value on offline cpus\n\nThis patch fixes a hang observed with 2.6.32 kernels where timers got enqueued\non offline cpus.\n\nprintk_needs_cpu() may return 1 if called on offline cpus. When a cpu gets\nofflined it schedules the idle process which, before killing its own cpu, will\ncall tick_nohz_stop_sched_tick(). That function in turn will call\nprintk_needs_cpu() in order to check if the local tick can be disabled. On\noffline cpus this function should naturally return 0 since regardless if the\ntick gets disabled or not the cpu will be dead short after. That is besides the\nfact that __cpu_disable() should already have made sure that no interrupts on\nthe offlined cpu will be delivered anyway.\n\nIn this case it prevents tick_nohz_stop_sched_tick() to call\nselect_nohz_load_balancer(). No idea if that really is a problem. However what\nmade me debug this is that on 2.6.32 the function get_nohz_load_balancer() is\nused within __mod_timer() to select a cpu on which a timer gets enqueued. If\nprintk_needs_cpu() returns 1 then the nohz_load_balancer cpu doesn\u0027t get\nupdated when a cpu gets offlined. It may contain the cpu number of an offline\ncpu. In turn timers get enqueued on an offline cpu and not very surprisingly\nthey never expire and cause system hangs.\n\nThis has been observed 2.6.32 kernels. On current kernels __mod_timer() uses\nget_nohz_timer_target() which doesn\u0027t have that problem. However there might be\nother problems because of the too early exit tick_nohz_stop_sched_tick() in\ncase a cpu goes offline.\n\nEasiest way to fix this is just to test if the current cpu is offline and call\nprintk_tick() directly which clears the condition.\n\nAlternatively I tried a cpu hotplug notifier which would clear the condition,\nhowever between calling the notifier function and printk_needs_cpu() something\ncould have called printk() again and the problem is back again. This seems to\nbe the safest fix.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c20101126120235.406766476@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49f4138346b3cec2706adff02658fe27ceb1e46f",
      "tree": "20259bf8196685766e8b4d3ae761102a0f635913",
      "parents": [
        "d5ad140bc1505a98c0f040937125bfcbb508078f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Nov 26 13:42:47 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:11 2010 +0100"
      },
      "message": "printk: Fix wake_up_klogd() vs cpu hotplug\n\nwake_up_klogd() may get called from preemptible context but uses\n__raw_get_cpu_var() to write to a per cpu variable. If it gets preempted\nbetween getting the address and writing to it, the cpu in question could be\noffline if the process gets scheduled back and hence writes to the per cpu data\nof an offline cpu.\n\nThis buggy behaviour was introduced with fa33507a \"printk: robustify\nprintk, fix #2\" which was supposed to fix a \"using smp_processor_id() in\npreemptible\" warning.\n\nLet\u0027s use this_cpu_write() instead which disables preemption and makes sure\nthat the outlined scenario cannot happen.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101126124247.GC7023@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a75d946f42ae1771424a9582129fc5182ff48a1b",
      "tree": "118c2d23427c507a29bd46b6a046035d62005ecb",
      "parents": [
        "2adc2917ce4bfb482a6e3c05ff543cef151c9830"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Nov 04 16:20:20 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 16 12:50:17 2010 -0800"
      },
      "message": "console: move for_each_console to linux/console.h\n\nMove it out of printk.c so that we can use it all over the code. There\nare some potential users which will be converted to that macro in next\npatches.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "12b3052c3ee8f508b2c7ee4ddd63ed03423409d8",
      "tree": "b97d0f209f363cfad94ce9d075312274e349da89",
      "parents": [
        "6800e4c0ea3e96cf78953b8b5743381cb1bb9e37"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 15 18:36:29 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 15 15:40:01 2010 -0800"
      },
      "message": "capabilities/syslog: open code cap_syslog logic to fix build failure\n\nThe addition of CONFIG_SECURITY_DMESG_RESTRICT resulted in a build\nfailure when CONFIG_PRINTK\u003dn.  This is because the capabilities code\nwhich used the new option was built even though the variable in question\ndidn\u0027t exist.\n\nThe patch here fixes this by moving the capabilities checks out of the\nLSM and into the caller.  All (known) LSMs should have been calling the\ncapabilities hook already so it actually makes the code organization\nbetter to eliminate the hook altogether.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eaf06b241b091357e72b76863ba16e89610d31bd",
      "tree": "83bc8667309050b3538630707513574c14c51f37",
      "parents": [
        "203f40a5a030ed4048cd40e3bd9ab5df6c5df589"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Thu Nov 11 14:05:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "Restrict unprivileged access to kernel syslog\n\nThe kernel syslog contains debugging information that is often useful\nduring exploitation of other vulnerabilities, such as kernel heap\naddresses.  Rather than futilely attempt to sanitize hundreds (or\nthousands) of printk statements and simultaneously cripple useful\ndebugging functionality, it is far simpler to create an option that\nprevents unprivileged users from reading the syslog.\n\nThis patch, loosely based on grsecurity\u0027s GRKERNSEC_DMESG, creates the\ndmesg_restrict sysctl.  When set to \"0\", the default, no restrictions are\nenforced.  When set to \"1\", only users with CAP_SYS_ADMIN can read the\nkernel syslog via dmesg(8) or other mechanisms.\n\n[akpm@linux-foundation.org: explain the config option in kernel.txt]\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "674dff6507d3f9b110219ea125cf5e1213c9acef",
      "tree": "ce1799340d42aa814e6b4d4311c6bcf6ff2c5f5c",
      "parents": [
        "8155c02a44a95562e1ae0999360eb31288d7195a"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: change type of \u0027boot_delay\u0027 to int *\n\nget_option() takes its 2nd arg as int * so passing boot_delay to it\ncaused following warnings from sparse:\n\n kernel/printk.c:223:27: warning: incorrect type in argument 2 (different signedness)\n kernel/printk.c:223:27:    expected int *pint\n kernel/printk.c:223:27:    got unsigned int static [toplevel] *\u003cnoident\u003e\n\nSince boot_delay can\u0027t grow more than 10,000 changing it to \u0027int *\u0027\nwill not produce any problem.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8155c02a44a95562e1ae0999360eb31288d7195a",
      "tree": "65a5d03b8ce866b149d50f9a9d6b798fbeae715b",
      "parents": [
        "6c095efd82e8f6a98515426a733110f91cf0a709"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: add lock context annotation\n\nacquire_console_semaphore_for_printk() releases logbuf_lock but\nwas missing proper annotation. Add it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c095efd82e8f6a98515426a733110f91cf0a709",
      "tree": "32352a70fff2b51c6f948df514c80e2dd0cb053d",
      "parents": [
        "5f2365d8c24aec8dbedf49c69b7601c7cfaee2c1"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: fixup declaration of kmsg_reasons\n\nMove redundant \u0027const\u0027 after \u0027*\u0027 to make pointer itself const\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b8c4f23c54edda640a4850bc9b81dee70acb525",
      "tree": "a09362e849e00625e2a37520e3f81a5ace00dee4",
      "parents": [
        "8192b1f6b1a46b33213b993471356495a93ffc70"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 07 14:33:43 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 17:36:10 2010 +0200"
      },
      "message": "printk: Make console_sem a semaphore not a pseudo mutex\n\nIt needs to be investigated whether it can be replaced by a real\nmutex, but that needs more thought.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nLKML-Reference: \u003c20100907125057.179587334@linutronix.de\u003e\n\n"
    }
  ],
  "next": "8c4af38e9b2c2a78369c4e2e5706fe539ac64eb2"
}
