)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "8c4af38e9b2c2a78369c4e2e5706fe539ac64eb2",
      "tree": "17671814cc7afb4e5eaafad32f0ed0c428764515",
      "parents": [
        "547415d5edf8660aee040dc81d8c71b081a59bda"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Aug 09 17:20:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:06 2010 -0700"
      },
      "message": "gcc-4.6: printk: use stable variable to dump kmsg buffer\n\nkmsg_dump takes care to sample the global variables\ninside a spinlock, but then goes on to use the same\nvariables outside the spinlock region too.\n\nUse the correct variable. This will make the race\nwindow smaller.\n\nFound by gcc 4.6\u0027s new warnings.\n\nSigned-off-by: Andi Kleen \u003cak@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": "034260d6779087431a8b2f67589c68b919299e5c",
      "tree": "9d9f1def96651ae098c87687a640079ddd2aafd4",
      "parents": [
        "d745866e4d8c0675bab90868b5e4a8fcd053eff2"
      ],
      "author": {
        "name": "Kevin Cernekee",
        "email": "cernekee@gmail.com",
        "time": "Thu Jun 03 22:11:25 2010 -0700"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Aug 05 13:25:59 2010 +0100"
      },
      "message": "printk: fix delayed messages from CPU hotplug events\n\nWhen a secondary CPU is being brought up, it is not uncommon for\nprintk() to be invoked when cpu_online(smp_processor_id()) \u003d\u003d 0.  The\ncase that I witnessed personally was on MIPS:\n\nhttp://lkml.org/lkml/2010/5/30/4\n\nIf (can_use_console() \u003d\u003d 0), printk() will spool its output to log_buf\nand it will be visible in \"dmesg\", but that output will NOT be echoed to\nthe console until somebody calls release_console_sem() from a CPU that\nis online.  Therefore, the boot time messages from the new CPU can get\nstuck in \"limbo\" for a long time, and might suddenly appear on the\nscreen when a completely unrelated event (e.g. \"eth0: link is down\")\noccurs.\n\nThis patch modifies the console code so that any pending messages are\nautomatically flushed out to the console whenever a CPU hotplug\noperation completes successfully or aborts.\n\nThe issue was seen on 2.6.34.\n\nOriginal patch by Kevin Cernekee with cleanups by akpm and additional fixes\nby Santosh Shilimkar.  This patch superseeds\nhttps://patchwork.linux-mips.org/patch/1357/.\n\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nTo: \u003cmingo@elte.hu\u003e\nTo: \u003cakpm@linux-foundation.org\u003e\nTo: \u003csimon.kagstrom@netinsight.net\u003e\nTo: \u003cDavid.Woodhouse@intel.com\u003e\nTo: \u003clethal@linux-sh.org\u003e\nCc: \u003clinux-kernel@vger.kernel.org\u003e\nCc: \u003clinux-mips@linux-mips.org\u003e\nReviewed-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/1534/\nLKML-Reference: \u003cede63b5a20af951c755736f035d1e787772d7c28@localhost\u003e\nLKML-Reference: \u003cEAF47CD23C76F840A9E7FCE10091EFAB02C5DB6D1F@dbde02.ent.ti.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "d37d39ae3b4a8f9a21114921fb344fe7cadb1abd",
      "tree": "2c20219725a12c343429758ec378b5c9d08b04bd",
      "parents": [
        "efe2f29e324fd20e0449bcd6dc6dbe4734c2ba94"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:27 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:27 2010 -0500"
      },
      "message": "printk,kdb: capture printk() when in kdb shell\n\nCertain calls from the kdb shell will call out to printk(), and any of\nthese calls should get vectored back to the kdb_printf() so that the\nkdb pager and processing can be used, as well as to properly channel\nI/O to the polled I/O devices.\n\nCC: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67fc4e0cb931d6b4ccf21248e4199b154478ecea",
      "tree": "4cf49d00bc9ac03c3c77d91fadd13fcabc75e0c9",
      "parents": [
        "5d5314d6795f3c1c0f415348ff8c51f7de042b77"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:21 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:21 2010 -0500"
      },
      "message": "kdb: core for kgdb back end (2 of 2)\n\nThis patch contains the hooks and instrumentation into kernel which\nlive outside the kernel/debug directory, which the kdb core\nwill call to run commands like lsmod, dmesg, bt etc...\n\nCC: linux-arch@vger.kernel.org\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\n"
    },
    {
      "commit": "cea83886dde49fd7524e9f4a246dd5dff4ad236a",
      "tree": "972db619ba8ae866a858744708a454f088182e75",
      "parents": [
        "5ef097dd7ba4eab8b4f0026d85fcef9fe23b821f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Mar 05 13:42:58 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "printk: avoid warning when CONFIG_PRINTK is disabled\n\nkernel/printk.c:72: warning: `saved_console_loglevel\u0027 defined but not used\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\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": "b4ccebdd37ff70d349321a198f416ba737a5e833",
      "tree": "275d717070346722c3aacd8355fb4f743216e03b",
      "parents": [
        "30ff056c42c665b9ea535d8515890857ae382540",
        "ef57471a73b67a7b65fd8708fd55c77cb7c619af"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Mar 01 09:36:31 2010 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Mar 01 09:36:31 2010 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "d78ca3cd733d8a2c3dcd88471beb1a15d973eed8",
      "tree": "a27ccf86f5f7df3cc987d0203ed0bff2db46db57",
      "parents": [
        "002345925e6c45861f60db6f4fc6236713fd8847"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Feb 03 15:37:13 2010 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 04 14:20:41 2010 +1100"
      },
      "message": "syslog: use defined constants instead of raw numbers\n\nRight now the syslog \"type\" action are just raw numbers which makes\nthe source difficult to follow.  This patch replaces the raw numbers\nwith defined constants for some level of sanity.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nAcked-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "002345925e6c45861f60db6f4fc6236713fd8847",
      "tree": "d7849eafe1755116597166bbebf43e2bee86cb76",
      "parents": [
        "0719aaf5ead7555b7b7a4a080ebf2826a871384e"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Feb 03 15:36:43 2010 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 04 14:20:12 2010 +1100"
      },
      "message": "syslog: distinguish between /proc/kmsg and syscalls\n\nThis allows the LSM to distinguish between syslog functions originating\nfrom /proc/kmsg access and direct syscalls.  By default, the commoncaps\nwill now no longer require CAP_SYS_ADMIN to read an opened /proc/kmsg\nfile descriptor.  For example the kernel syslog reader can now drop\nprivileges after opening /proc/kmsg, instead of staying privileged with\nCAP_SYS_ADMIN.  MAC systems that implement security_syslog have unchanged\nbehavior.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b8be634e01b400fa2528848ad0cd6a5580a15bc4",
      "tree": "f36da264249540727a60e13a54d1d44c8821b48d",
      "parents": [
        "298a4c3a57fed38df365a6807728d1930a72c728",
        "f5e2bae0aad03164ffc7ce9dfeee6608e2c87dba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 24 10:31:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 24 10:31:34 2010 -0800"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/mtd-2.6.33\n\n* git://git.infradead.org/~dwmw2/mtd-2.6.33:\n  mtd: tests: fix read, speed and stress tests on NOR flash\n  mtd: Really add ARM pismo support\n  kmsg_dump: Dump on crash_kexec as well\n"
    },
    {
      "commit": "0f4bd46ec252887f44f1f065b41867cac8f70dfb",
      "tree": "daa176e9f9e1f5e9ba8c5476b5333142f31aa062",
      "parents": [
        "60d9aa758c00f20ade0cb1951f6a934f628dd2d7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Dec 22 03:15:43 2009 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Dec 31 19:45:04 2009 +0000"
      },
      "message": "kmsg_dump: Dump on crash_kexec as well\n\ncrash_kexec gets called before kmsg_dump(KMSG_DUMP_OOPS) if\npanic_on_oops is set, so the kernel log buffer is not stored\nfor this case.\n\nThis patch adds a KMSG_DUMP_KEXEC dump type which gets called\nwhen crash_kexec() is invoked. To avoid getting double dumps,\nthe old KMSG_DUMP_PANIC is moved below crash_kexec(). The\nmtdoops driver is modified to handle KMSG_DUMP_KEXEC in the\nsame way as a panic.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "6485536bcf499839a54dcda8a8d47ea0bd29b375",
      "tree": "86c94469801a264a964399ebbd4c57877eb18ff3",
      "parents": [
        "65a80b4c61f5b5f6eb0f5669c8fb120893bfb388"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Dec 17 15:27:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:32 2009 -0800"
      },
      "message": "printk: fix new kernel-doc warnings\n\nFix kernel-doc warnings in printk.c:\n\nWarning(kernel/printk.c:1422): No description found for parameter \u0027dumper\u0027\nWarning(kernel/printk.c:1422): Excess function parameter \u0027dump\u0027 description in \u0027kmsg_dump_register\u0027\nWarning(kernel/printk.c:1451): No description found for parameter \u0027dumper\u0027\nWarning(kernel/printk.c:1451): Excess function parameter \u0027dump\u0027 description in \u0027kmsg_dump_unregister\u0027\n\nSigned-off-by: 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": "60d9aa758c00f20ade0cb1951f6a934f628dd2d7",
      "tree": "e3bdfa4ec0d3f9a29a822810b8b9188c7d613cbd",
      "parents": [
        "b2adf0cbec4cf0934c63f48f893e0cebde380d0c",
        "2e16cfca6e17ae37ae21feca080a6f2eca9087dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:23:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:23:43 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (90 commits)\n  jffs2: Fix long-standing bug with symlink garbage collection.\n  mtd: OneNAND: Fix test of unsigned in onenand_otp_walk()\n  mtd: cfi_cmdset_0002, fix lock imbalance\n  Revert \"mtd: move mxcnd_remove to .exit.text\"\n  mtd: m25p80: add support for Macronix MX25L4005A\n  kmsg_dump: fix build for CONFIG_PRINTK\u003dn\n  mtd: nandsim: add support for 4KiB pages\n  mtd: mtdoops: refactor as a kmsg_dumper\n  mtd: mtdoops: make record size configurable\n  mtd: mtdoops: limit the maximum mtd partition size\n  mtd: mtdoops: keep track of used/unused pages in an array\n  mtd: mtdoops: several minor cleanups\n  core: Add kernel message dumper to call on oopses and panics\n  mtd: add ARM pismo support\n  mtd: pxa3xx_nand: Fix PIO data transfer\n  mtd: nand: fix multi-chip suspend problem\n  mtd: add support for switching old SST chips into QRY mode\n  mtd: fix M29W800D dev_id and uaddr\n  mtd: don\u0027t use PF_MEMALLOC\n  mtd: Add bad block table overrides to Davinci NAND driver\n  ...\n\nFixed up conflicts (mostly trivial) in\n\tdrivers/mtd/devices/m25p80.c\n\tdrivers/mtd/maps/pcmciamtd.c\n\tdrivers/mtd/nand/pxa3xx_nand.c\n\tkernel/printk.c\n"
    },
    {
      "commit": "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
      "tree": "deaed4192d440b6afb7470b0c36e69d9d65dd119",
      "parents": [
        "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
        "5c828713358cb9df8aa174371edcbbb62203a490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ratelimit: Make suppressed output messages more useful\n  printk: Remove ratelimit.h from kernel.h\n  ratelimit: Fix/allow use in atomic contexts\n  ratelimit: Use per ratelimit context locking\n"
    },
    {
      "commit": "595dd3d8bf953254d8d2f30f99c54fe09c470040",
      "tree": "f7a1d6c8ccb2e32f4fdf7e04a6a6ba8cfe0acc0c",
      "parents": [
        "75352662c54421b48ed58200565395b123952748"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Dec 01 10:52:02 2009 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Dec 02 08:44:33 2009 +0000"
      },
      "message": "kmsg_dump: fix build for CONFIG_PRINTK\u003dn\n\nkmsg_dump() fails to build when CONFIG_PRINTK\u003dn; provide stubs\nfor the kmsg_dump*() functions when CONFIG_PRINTK\u003dn.\n\nkernel/printk.c: In function \u0027kmsg_dump\u0027:\nkernel/printk.c:1501: error: \u0027log_buf_len\u0027 undeclared (first use in this function)\nkernel/printk.c:1502: error: \u0027logged_chars\u0027 undeclared (first use in this function)\nkernel/printk.c:1506: error: \u0027log_buf\u0027 undeclared (first use in this function)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "456b565cc52fbcdaa2e19ffdf40d9dd3b726d603",
      "tree": "c73029f31756289ed54183e97e0613f87cef6ed5",
      "parents": [
        "7cb777a3d71f9d1f7eb149c7a504d21f24219ae8"
      ],
      "author": {
        "name": "Simon Kagstrom",
        "email": "simon.kagstrom@netinsight.net",
        "time": "Fri Oct 16 14:09:18 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Nov 30 12:01:49 2009 +0000"
      },
      "message": "core: Add kernel message dumper to call on oopses and panics\n\nThe core functionality is implemented as per Linus suggestion from\n\n  http://lists.infradead.org/pipermail/linux-mtd/2009-October/027620.html\n\n(with the kmsg_dump implementation by Linus). A struct kmsg_dumper has\nbeen added which contains a callback to dump the kernel log buffers on\ncrashes. The kmsg_dump function gets called from oops_exit() and panic()\nand invokes this callbacks with the crash reason.\n\n[dwmw2: Fix log_end handling]\nSigned-off-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nReviewed-by: Anders Grafstrom \u003canders.grafstrom@netinsight.net\u003e\nReviewed-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5c828713358cb9df8aa174371edcbbb62203a490",
      "tree": "c8aeafba911cb428b5dc46a9e252c337b7c51d17",
      "parents": [
        "3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Oct 23 14:58:11 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 17:26:37 2009 +0200"
      },
      "message": "ratelimit: Make suppressed output messages more useful\n\nToday I got:\n\n  [39648.224782] Registered led device: iwl-phy0::TX\n  [40676.545099] __ratelimit: 246 callbacks suppressed\n  [40676.545103] abcdef[23675]: segfault at 0 ...\n\nas you can see the ratelimit message contains a function prefix.\nSince this is always __ratelimit, this wont help much.\n\nThis patch changes __ratelimit and printk_ratelimit to print the\nfunction name that calls ratelimit.\n\nThis will pinpoint the responsible function, as long as not several\ndifferent places call ratelimit with the same ratelimit state at\nthe same time. In that case we catch only one random function that\ncalls ratelimit after the wait period.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c200910231458.11832.borntraeger@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af91322ef3f29ae4114e736e2a72e28b4d619cf9",
      "tree": "debba08531c7dd78b90b5d8f2c03f6bf7c9e7877",
      "parents": [
        "3a3b6ed2235f2f619889dd6096e24b6d93bf3339"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Sep 22 16:43:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "printk: add printk_delay to make messages readable for some scenarios\n\nWhen syslog is not possible, at the same time there\u0027s no serial/net\nconsole available, it will be hard to read the printk messages.  For\nexample oops/panic/warning messages in shutdown phase.\n\nAdd a printk delay feature, we can make each printk message delay some\nmilliseconds.\n\nSetting the delay by proc/sysctl interface: /proc/sys/kernel/printk_delay\n\nThe value range from 0 - 10000, default value is 0\n\n[akpm@linux-foundation.org: fix a few things]\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: 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": "3a3b6ed2235f2f619889dd6096e24b6d93bf3339",
      "tree": "f187d60c22a00a5aeea9df9483ae0182d265704f",
      "parents": [
        "5ae87e79ecb5baa65e9cf48be874098fafad0668"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Sep 22 16:43:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "printk boot_delay: rename printk_delay_msec to loops_per_msec\n\nRename `printk_delay_msec\u0027 to `loops_per_msec\u0027, because the patch \"printk:\nadd printk_delay to make messages readable for some scenarios\" wishes to\nmore appropriately use the `printk_delay_msec\u0027 identifier.\n\n[akpm@linux-foundation.org: add a comment]\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: 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": "3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5",
      "tree": "67c476b8aa52a2f5d17dc9b94da360e10d373bd5",
      "parents": [
        "edaac8e3167501cda336231d00611bf59c164346"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 16:18:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 16:18:09 2009 +0200"
      },
      "message": "printk: Remove ratelimit.h from kernel.h\n\nDecouple kernel.h from ratelimit.h: the global declaration of\nprintk\u0027s ratelimit_state is not needed, and it leads to messy\ncircular dependencies due to ratelimit.h\u0027s (new) adding of a\nspinlock_types.h include.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "353f6dd2dec992ddd34620a94b051b0f76227379",
      "tree": "38f48b57f8f0f1bb05983ec32205fac9b8bab14c",
      "parents": [
        "bb193c986a7104f718c1b92709e1e6e22ac3f864"
      ],
      "author": {
        "name": "Anirban Sinha",
        "email": "asinha@zeugmasystems.com",
        "time": "Mon Sep 14 11:13:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:41:42 2009 -0700"
      },
      "message": "cleanup console_print()\n\nconsole_print() is an old legacy interface mostly unused in the entire\nkernel tree. It\u0027s best to clean up its existing use and let developers\nuse their own implementation of it as they feel fit.\n\nSigned-off-by: Anirban Sinha \u003casinha@zeugmasystems.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42c2c8c854a716b05882a122632ddcd6dbe108f1",
      "tree": "982192ec05b5be92a33f52c6e145cfafcdb43395",
      "parents": [
        "1aaad49e856ce41adc07d8ae0c8ef35fc4483245"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "Sonic.Zhang@analog.com",
        "time": "Thu Aug 06 15:58:11 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 08 18:27:37 2009 +0200"
      },
      "message": "printk: Fix \"printk: Enable the use of more than one CON_BOOT (early console)\"\n\nDon\u0027t return when we find the first bootconsole - it can leave\nother bootconsoles still installed, and they can be used and\ncause problems later (if they are in the init section, and\neventually released), and cause problems.  Make sure we remove\nall of them.\n\nSigned-off-by: Sonic Zhang \u003cSonic.Zhang@analog.com\u003e\nSigned-off-by: Robin Getz \u003crgetz@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1aaad49e856ce41adc07d8ae0c8ef35fc4483245",
      "tree": "0f5b0ef305ad1b2c79132729d44ffbad72a84b84",
      "parents": [
        "8259cf4342029aad37660e524178c8858f48b0ab"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Mon Jul 06 13:31:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 16:02:23 2009 +0200"
      },
      "message": "printk: Restore previous console_loglevel when re-enabling logging\n\nWhen logging to console is disabled from userspace using klogctl()\nand later re-enabled, console_loglevel gets set to the default\nlog level instead to the previous value.\n\nThis means that if the kernel was booted with \u0027quiet\u0027, the boot is\nsuddenly no longer quiet after logging to console gets re-enabled.\n\nSave the current console_loglevel when logging is disabled and\nrestore to that value. If the log level is set to a specific value\nwhile disabled, this is interpreted as an implicit re-enabling of\nthe logging.\n\nThe problem that prompted this patch is described in:\n\n    http://lkml.org/lkml/2009/6/28/234\n\nThere are two variations possible on the patch below:\n\n 1) If klogctl(7) is called while logging is not disabled, then set level\n    to default (partially preserving current functionality):\n  \tcase 7:\t\t/* Enable logging to console */\n -\t\tconsole_loglevel \u003d default_console_loglevel;\n +\t\tif (saved_console_loglevel \u003d\u003d -1)\n +\t\t\tconsole_loglevel \u003d default_console_loglevel;\n +\t\telse {\n +\t\t\tconsole_loglevel \u003d saved_console_loglevel;\n +\t\t\tsaved_console_loglevel \u003d -1;\n +\t\t}\n\n 2) If klogctl(8) is called while logging is disabled, then don\u0027t enable\n    logging, but remember the requested value for when logging does get\n    enabled again:\n  \tcase 8:\t\t/* Set level of messages printed to console */\n [...]\n - \t\tconsole_loglevel \u003d len;\n +\t\tif (saved_console_loglevel \u003d\u003d -1)\n +\t\t\tconsole_loglevel \u003d len;\n +\t\telse\n +\t\t\tsaved_console_loglevel \u003d len;\n\nYet another option would be to ignore the request.\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\nCc: cryptsetup@packages.debian.org\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c200907061331.49930.elendil@planet.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8259cf4342029aad37660e524178c8858f48b0ab",
      "tree": "c0f7f931c6daca79a941dcab142cf49059a8722f",
      "parents": [
        "4d09161196c9a836eacea4b36e2f217bc34894cf"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Thu Jul 09 13:08:37 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 12:24:47 2009 +0200"
      },
      "message": "printk: Ensure that \"console enabled\" messages are printed on the console\n\nToday, when a console is registered without CON_PRINTBUFFER,\nend users never see the announcement of it being added, and\nnever know if they missed something, if the console is really\nat the start or not, and just leads to general confusion.\n\nThis re-orders existing code, to make sure the console is\nadded, before the \"console [%s%d] enabled\" is printed out -\nensuring that this message is _always_ seen.\n\nThis has the desired/intended side effect of making sure that\n\"console enabled:\" messages are printed on the bootconsole, and\nthe real console. This does cause the same line is printed\ntwice if the bootconsole and real console are the same device,\nbut if they are on different devices, the message is printed to\nboth consoles.\n\nSigned-off-by : Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: \"Andrew Morton\" \u003cakpm@linux-foundation.org\u003e\nCc: \"Linus Torvalds\" \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c200907091308.37370.rgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d09161196c9a836eacea4b36e2f217bc34894cf",
      "tree": "d6ca11be7c741a4380f383bea4dc6c36a9587f77",
      "parents": [
        "7c5371c403abb29f01bc6cff6c5096abdf2dc524"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Wed Jul 01 21:08:37 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 10:10:43 2009 +0200"
      },
      "message": "printk: Enable the use of more than one CON_BOOT (early console)\n\nToday, register_console() assumes the following usage:\n\n  - The first console to register with a flag set to CON_BOOT\n    is the one and only bootconsole.\n\n  - If another register_console() is called with an additional\n    CON_BOOT, it is silently rejected.\n\n  - As soon as a console without the CON_BOOT set calls\n    registers the bootconsole is automatically unregistered.\n\n  - Once there is a \"real\" console - register_console() will\n    silently reject any consoles with it\u0027s CON_BOOT flag set.\n\nIn many systems (alpha, blackfin, microblaze, mips, powerpc,\nsh, \u0026 x86), there are early_printk implementations, which use\nthe CON_BOOT which come out serial ports, vga, usb, \u0026 memory\nbuffers.\n\nIn many embedded systems, it would be nice to have two\nbootconsoles - in case the primary fails, you always have\naccess to a backup memory buffer - but this requires at least\ntwo CON_BOOT consoles...\n\nThis patch enables that functionality.\n\nWith the change applied, on boot you get (if you try to\nre-enable a boot console after the \"real\" console has been\nregistered):\n\n  root:/\u003e dmesg | grep console\n  bootconsole [early_shadow0] enabled\n  bootconsole [early_BFuart0] enabled\n  Kernel command line: root\u003d/dev/mtdblock0 rw earlyprintk\u003dserial,uart0,57600 console\u003dttyBF0,57600 nmi_debug\u003dregs\n  console handover:boot [early_BFuart0] boot [early_shadow0]  -\u003e real [ttyBF0]\n  Too late to register bootconsole early_shadow0\n\nor:\n\n  root:/\u003e dmesg | grep console\n  Kernel command line: root\u003d/dev/mtdblock0 rw console\u003dttyBF0,57600\n  console [ttyBF0] enabled\n\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: \"Linus Torvalds\" \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Andrew Morton\" \u003cakpm@linux-foundation.org\u003e\nCc: \"Mike Frysinger\" \u003cvapier.adi@gmail.com\u003e\nCc: \"Paul Mundt\" \u003clethal@linux-sh.org\u003e\nLKML-Reference: \u003c200907012108.38030.rgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e28d713704117bca0820c732210df6075b09f13b",
      "tree": "c2c8b2a40cb5081e8b6368eecc21220ee59903bf",
      "parents": [
        "5fd29d6ccbc98884569d6f3105aeca70858b3e0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:02:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:02:28 2009 -0700"
      },
      "message": "printk: Add KERN_DEFAULT printk log-level\n\nThis adds a KERN_DEFAULT loglevel marker, for when you cannot decide\nwhich loglevel you want, and just want to keep an existing printk\nwith the default loglevel.\n\nThe difference between having KERN_DEFAULT and having no log-level\nmarker at all is two-fold:\n\n - having the log-level marker will now force a new-line if the\n   previous printout had not added one (perhaps because it forgot,\n   but perhaps because it expected a continuation)\n\n - having a log-level marker is required if you are printing out a\n   message that otherwise itself could perhaps otherwise be mistaken\n   for a log-level.\n\nSigned-of-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fd29d6ccbc98884569d6f3105aeca70858b3e0f",
      "tree": "93ac507debc6b35e5863116086c57170618099cf",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 10:57:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 10:57:02 2009 -0700"
      },
      "message": "printk: clean up handling of log-levels and newlines\n\nIt used to be that we would only look at the log-level in a printk()\nafter explicit newlines, which can cause annoying problems when the\nprevious printk() did not end with a \u0027\\n\u0027. In that case, the log-level\nmarker would be just printed out in the middle of the line, and be\nseen as just noise rather than change the logging level.\n\nThis changes things to always look at the log-level in the first\nbytes of the printout. If a log level marker is found, it is always\nused as the log-level. Additionally, if no newline existed, one is\nadded (unless the log-level is the explicit KERN_CONT marker, to\nexplicitly show that it\u0027s a continuation of a previous line).\n\nAcked-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4c393fd551654179c46b65e4a70ea20d831c783",
      "tree": "087c5c1f514a2ffeb75c925545e584fb269bea3a",
      "parents": [
        "0a053e8c71d666daf30da2d407147b1293923d8b",
        "38a6ed3ed8e108b662f4016a1ebf068dcf4c1ef4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:23:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:23:25 2009 -0700"
      },
      "message": "Merge branch \u0027printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  printk: correct the behavior of printk_timed_ratelimit()\n  vsprintf: unify the format decoding layer for its 3 users, cleanup\n  fix regression from \"vsprintf: unify the format decoding layer for its 3 users\"\n  vsprintf: fix bug in negative value printing\n  vsprintf: unify the format decoding layer for its 3 users\n  vsprintf: add binary printf\n  printk: introduce printk_once()\n\nFix trivial conflicts (printk_once vs log_buf_kexec_setup() added near\neach other) in include/linux/kernel.h.\n"
    },
    {
      "commit": "04d491ab2a53008a1aa98ac09561768c7f3adda3",
      "tree": "ab8fff6fb8674c8061b733ce64d6d6fba9d68ff3",
      "parents": [
        "23c36c1aec895fd52d7dd8cd3ce4bbce43c969fd"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Apr 02 16:58:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:04 2009 -0700"
      },
      "message": "kexec: add dmesg log symbols to /proc/vmcoreinfo lists\n\nIt would be nice to be able to extract the dmesg log from a vmcore file\nwithout needing to keep the debug symbols for the running kernel handy all\nthe time.  We have a facility to do this in /proc/vmcore.  This patch adds\nthe log_buf and log_end symbols to the vmcoreinfo area so that tools (like\nmakedumpfile) can easily extract the dmesg logs from a vmcore image.\n\n[akpm@linux-foundation.org: several fixes and cleanups]\n[akpm@linux-foundation.org: fix unused log_buf_kexec_setup()]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\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": "f2d28a2ebcb525a6ec7e2152106ddb385ef52b73",
      "tree": "207920700ba3c7c7091d547184c883e7bd05a2a8",
      "parents": [
        "47239561e39bceefecc3cd67f71fcf86a198a8ff"
      ],
      "author": {
        "name": "Guillaume Knispel",
        "email": "gknispel@proformatique.com",
        "time": "Tue Mar 17 16:18:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 16:25:28 2009 +0100"
      },
      "message": "printk: correct the behavior of printk_timed_ratelimit()\n\nImpact: fix jiffies-comparison sign-wrap behavior\n\nThe behavior provided by printk_timed_ratelimit() is, in some\nsituations, probably not what a caller would reasonably expect:\n\nbool printk_timed_ratelimit(unsigned long *caller_jiffies,\n\t\t\tunsigned int interval_msecs)\n{\n\tif (*caller_jiffies \u003d\u003d 0 || time_after(jiffies, *caller_jiffies)) {\n\t\t*caller_jiffies \u003d jiffies + msecs_to_jiffies(interval_msecs);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nOn a 32 bit computer, if printk_timed_ratelimit() is initially called at\ntime jiffies \u003d\u003d Ja, *caller_jiffies is set to\nJa + msecs_to_jiffies(interval_msecs): let\u0027s say Ja + 42 for this\nexample.\n\nIf this caller then doesn\u0027t call printk_timed_ratelimit() until\njiffies \u003d\u003d Ja + (1 \u003c\u003c 31) + 42 (which can happen as soon as ~ 25 days\nlater on a 1000 HZ system), printk_timed_ratelimit() will then always\nreturn false to this caller until jiffies loops completely (1 \u003c\u003c 31 more\nticks).\n\nThs change makes it only return false if jiffies is in the small\ntime window starting at the previous call when true was returned and\nending interval_msecs later.  Note that if jiffies loops completely\nbetween two calls to printk_timed_ratelimit(), it will obviously still\nwrongly return false, but this is something with a low probability.\n\nIf something completely reliable is needed I guess jiffies_64 must be\nused (which this change does not do).\n\nSigned-off-by: Guillaume Knispel \u003cgknispel@proformatique.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20090317161842.0059096b@xilun.lan.proformatique.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "403f307576396f3362fbb65af190885b6036c72c",
      "tree": "d3737ebe960d65152b7ee119b8b5a7ad2d59e09b",
      "parents": [
        "b090f9fa53d51c8a33370071de9e391919ee1fa7"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:07:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:18 2009 -0800"
      },
      "message": "PM: Fix suspend_console and resume_console to use only one semaphore\n\nThis fixes a race where a thread acquires the console while the\nconsole is suspended, and the console is resumed before this\nthread releases it. In this case, the secondary console\nsemaphore would be left locked, and the primary semaphore would\nbe released twice. This in turn would cause the console switch\non suspend or resume to hang forever.\n\nNote that suspend_console does not actually lock the console\nfor clients that use acquire_console_sem, it only locks it for\nclients that use try_acquire_console_sem. If we change\nsuspend_console to fully lock the console, then the kernel\nmay deadlock on suspend. One client of try_acquire_console_sem\nis acquire_console_semaphore_for_printk, which uses it to\nprevent printk from using the console while it is suspended.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e7bfb2134dfec37ce04fb3a4ca89299e892d10c",
      "tree": "99c676262e696754dcbfb2d6f59499972cd0c38c",
      "parents": [
        "c4ea37c26a691ad0b7e86aa5884aab27830e95c9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:29 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:29 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 27\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "f627a741d24f12955fa2d9f8831c3b12860635bd",
      "tree": "2b96ea5be1df1978fd08544929c2ab3d4fbad8ba",
      "parents": [
        "c9da9f2129d6a421c32e334a83770a9e67f7feac"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:58 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:16 2009 +0100"
      },
      "message": "[CVE-2009-0029] Make sys_syslog a conditional system call\n\nRemove the -ENOSYS implementation for !CONFIG_PRINTK and use\nthe cond_syscall infrastructure instead.\n\nAcked-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "edb123e16c6092bd08b67d1130ff03efeada0c89",
      "tree": "092b92af4af4c31719d7ad0a23b932650992f95c",
      "parents": [
        "277835adca10a696ac3e2a103ea537658c141a3c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Dec 04 12:39:49 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:06 2009 +0100"
      },
      "message": "trivial: printk: fix indentation of new_text_line declaration\n\nRemove bogus indentation of new_text_line declaration introduced in\ncommit ac60ad741.\n\nAcked-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "26cc271db798cf211d35967cbfbb53e997126b84",
      "tree": "c4131ca7cdf2cfbc90c421b82e2b3b88b8927e6a",
      "parents": [
        "929096fe9ff1f4b3645cf3919527ab47e8d5e17c"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Fri Dec 19 10:23:03 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 22:52:47 2008 +0100"
      },
      "message": "printk: fix discarding message when recursion_bug\n\nImpact: fix truncated recursion bug message printout\n\nWhen recursion_bug is true, kernel discards original message because printk_buf\ncontains recursion_bug_msg with NULL terminator. The sizeof(recursion_bug_msg)\nmakes this, use strlen() to get correct length without NULL terminator.\n\nReported-by: Toshikazu Nakayama \u003cnakayama.ts@ncos.nec.co.jp\u003e\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acff181d3574244e651913df77332e897b88bff4",
      "tree": "ff3ccaeb76856d7b6e14a6bf35f3d356be34adb9",
      "parents": [
        "d2441183dc222d12961ff2201f5086c846505d93"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Oct 21 19:49:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 21:54:29 2008 +0200"
      },
      "message": "printk: remove unused code from kernel/printk.c\n\nboth log_buf_copy() and log_buf_len are unused.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e533b227055598b1f7dc8503a3b4f36b14b9da8a",
      "tree": "28fec4125eac45c8e2fac75b3d10ff5cd987d2f6",
      "parents": [
        "0999d978dcdcf59350dafa25afd70def9f924eee",
        "6b2ada82101a08e2830fb29d7dc9b858be637dd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "message": "Merge branch \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails\n  softirq, warning fix: correct a format to avoid a warning\n  softirqs, debug: preemption check\n  x86, pci-hotplug, calgary / rio: fix EBDA ioremap()\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes\n  softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description\n  dmi scan: warn about too early calls to dmi_check_system()\n  generic: redefine resource_size_t as phys_addr_t\n  generic: make PFN_PHYS explicitly return phys_addr_t\n  generic: add phys_addr_t for holding physical addresses\n  softirq: allocate less vectors\n  IO resources: fix/remove printk\n  printk: robustify printk, update comment\n  printk: robustify printk, fix #2\n  printk: robustify printk, fix\n  printk: robustify printk\n\nFixed up conflicts in:\n\tarch/powerpc/include/asm/types.h\n\tarch/powerpc/platforms/Kconfig.cputype\nmanually.\n"
    },
    {
      "commit": "20036fdcaf05fac0a84ed81a56906493a7d822e2",
      "tree": "df06d92ffa8190dfafa59cbb7528564f8d0a055a",
      "parents": [
        "9536727ef696861b205834dd2e01456b91088cb7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Oct 15 22:02:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:32 2008 -0700"
      },
      "message": "Add kerneldoc documentation for new printk format extensions\n\nAdd documentation in kerneldoc for new printk format extensions\n\nThis patch documents the new %pS/%pF options in printk in kernel doc.\n\nHope I didn\u0027t miss any other extension.\n\nSigned-off-by: Andi Kleen \u003cak@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": "e1f8e87449147ffe5ea3de64a46af7de450ce279",
      "tree": "304e90a6747f5a7586a67305b7225ed4b4dbb53a",
      "parents": [
        "8033fe65a6d6c0e47ba9e3cb2e4e6902f9dfb8dd"
      ],
      "author": {
        "name": "Francois Cami",
        "email": "francois.cami@free.fr",
        "time": "Wed Oct 15 22:01:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:32 2008 -0700"
      },
      "message": "Remove Andrew Morton\u0027s old email accounts\n\nPeople can use the real name an an index into MAINTAINERS to find the\ncurrent email address.\n\nSigned-off-by: Francois Cami \u003cfrancois.cami@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b2ada82101a08e2830fb29d7dc9b858be637dd4",
      "tree": "c0580c250211f8773674f3a4f7cd575818f153cc",
      "parents": [
        "278429cff8809958d25415ba0ed32b59866ab1a8",
        "3b7ecb5d2ffde82efd1b1bcc6780dc8a019acf02",
        "77af7e3403e7314c47b0c07fbc5e4ef21d939532",
        "15160716eea5591eb31f40fd4dba56d83bea4209",
        "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
        "85462323555dda749f1c5373a8d72679464c968d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "message": "Merge branches \u0027core/softlockup\u0027, \u0027core/softirq\u0027, \u0027core/resources\u0027, \u0027core/printk\u0027 and \u0027core/misc\u0027 into core-v28-for-linus\n"
    }
  ],
  "next": "95f9bfc6b76e862265a2d70ae061eec18fe14140"
}
