)]}'
{
  "log": [
    {
      "commit": "b0f4c4b32c8e3aa0d44fc4dd6c40a9a9a8d66b63",
      "tree": "7387d97d5b69c587ae67a46de025468d474e0eb4",
      "parents": [
        "b64b223aed5f8aeeb6c046f1b050a8f976b87de0"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Thu Jan 26 08:55:34 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 21:28:45 2012 +0100"
      },
      "message": "bugs, x86: Fix printk levels for panic, softlockups and stack dumps\n\nrsyslog will display KERN_EMERG messages on a connected\nterminal.  However, these messages are useless/undecipherable\nfor a general user.\n\nFor example, after a softlockup we get:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Stack:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Call Trace:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Code: ff ff a8 08 75 25 31 d2 48 8d 86 38 e0 ff ff 48 89\n d1 0f 01 c8 0f ae f0 48 8b 86 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 \u003ce8\u003e ea 69 dd ff 4c 29 e8 48 89 c7 e8 0f bc da ff 49 89 c4 49 89\n\nThis happens because the printk levels for these messages are\nincorrect. Only an informational message should be displayed on\na terminal.\n\nI modified the printk levels for various messages in the kernel\nand tested the output by using the drivers/misc/lkdtm.c kernel\nmodules (ie, softlockups, panics, hard lockups, etc.) and\nconfirmed that the console output was still the same and that\nthe output to the terminals was correct.\n\nFor example, in the case of a softlockup we now see the much\nmore informative:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 10:18:06 ...\n BUG: soft lockup - CPU4 stuck for 60s!\n\ninstead of the above confusing messages.\n\nAFAICT, the messages no longer have to be KERN_EMERG.  In the\nmost important case of a panic we set console_verbose().  As for\nthe other less severe cases the correct data is output to the\nconsole and /var/log/messages.\n\nSuccessfully tested by me using the drivers/misc/lkdtm.c module.\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: dzickus@redhat.com\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1327586134-11926-1-git-send-email-prarit@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5336377d6225959624146629ce3fc88ee8ecda3d",
      "tree": "571b9db75d1ba50faa1e399509563f367fd5694f",
      "parents": [
        "2f6b3aa7a563d05453c4d73ccf88191aee84333f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 05 11:29:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 05 11:29:27 2010 -0700"
      },
      "message": "modules: Fix module_bug_list list corruption race\n\nWith all the recent module loading cleanups, we\u0027ve minimized the code\nthat sits under module_mutex, fixing various deadlocks and making it\npossible to do most of the module loading in parallel.\n\nHowever, that whole conversion totally missed the rather obscure code\nthat adds a new module to the list for BUG() handling.  That code was\ndoubly obscure because (a) the code itself lives in lib/bugs.c (for\ndubious reasons) and (b) it gets called from the architecture-specific\n\"module_finalize()\" rather than from generic code.\n\nCalling it from arch-specific code makes no sense what-so-ever to begin\nwith, and is now actively wrong since that code isn\u0027t protected by the\nmodule loading lock any more.\n\nSo this commit moves the \"module_bug_{finalize,cleanup}()\" calls away\nfrom the arch-specific code, and into the generic code - and in the\nprocess protects it with the module_mutex so that the list operations\nare now safe.\n\nFuture fixups:\n - move the module list handling code into kernel/module.c where it\n   belongs.\n - get rid of \u0027module_bug_list\u0027 and just use the regular list of modules\n   (called \u0027modules\u0027 - imagine that) that we already create and maintain\n   for other reasons.\n\nReported-and-tested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "863a6049202412a6d655d052eb1c45ca7dd74a83",
      "tree": "9550c1f6c484460cb646f4472558512ac8a9f149",
      "parents": [
        "e2e7e093259d4c6b73b432122974393d6fcdfc2a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Aug 10 18:03:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "lib/bug.c: add oops end marker to WARN implementation\n\nWe are missing the oops end marker for the exception based WARN implementation\nin lib/bug.c. This is useful for logfile analysis tools.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2e7e093259d4c6b73b432122974393d6fcdfc2a",
      "tree": "d8a5ff294a21c074724539f4fc8f9b7783ae96b4",
      "parents": [
        "c7ff0d9c92435e836e13aaa8d0e56d4000424bcc"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Aug 10 18:03:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "lib/bug.c: make WARN implementation match the kernel/panic.c one\n\nThere are a few issues with the exception based WARN implementation in\nlib/bug.c:\n\n- Inconsistent printk flags. The \"cut here\" line is printed at KERN_EMERG, so\n  the console and all logged in users see the single line:\n\n------------[ cut here ]------------\n\n  for each WARN. Fix this so we print everything at KERN_WARNING to match the\n  kernel/panic.c version.\n\n- The lib/bug.c WARN would print \"Badness at\". Change it to match the\n  kernel/panic.c version which prints \"WARNING: at\".\n\n- Print the list of modules, similar to kernel/panic.c of modules, similar to\n  kernel/panic.c\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2be05273a1744d175bf4b67f6665637bb9ac7a8",
      "tree": "c0b6333fbc7a1834bfc0eec86dd204b1daacf1b4",
      "parents": [
        "8954da1f82a468deeeae3683252b5440e7f4ccbe"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sat Apr 03 19:34:56 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 19 08:36:48 2010 +0100"
      },
      "message": "panic: Allow warnings to set different taint flags\n\nWARN() is used in some places to report firmware or hardware bugs that\nare then worked-around.  These bugs do not affect the stability of the\nkernel and should not set the flag for TAINT_WARN.  To allow for this,\nadd WARN_TAINT() and WARN_TAINT_ONCE() macros that take a taint number\nas argument.\n\nArchitectures that implement warnings using trap instructions instead\nof calls to warn_slowpath_*() now implement __WARN_TAINT(taint)\ninstead of __WARN().\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Helge Deller \u003cdeller@gmx.de\u003e\nTested-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b93a531e315e97ef00367099e6b5f19651936e20",
      "tree": "231e6d626fbf85dd80d7cbac49a9c9a14282f898",
      "parents": [
        "85072bd55219231b8ca5d9d3fa3492eb4fa6635f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Dec 16 11:40:27 2008 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 18:40:32 2008 +0100"
      },
      "message": "allow bug table entries to use relative pointers (and use it on x86-64)\n\nImpact: reduce bug table size\n\nThis allows reducing the bug table size by half. Perhaps there are\nother 64-bit architectures that could also make use of this.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da9eac8990dc614ab4756f2a3d84870b675f1f1e",
      "tree": "6b2361df995b9e895fec50f9e8f9c00190a53754",
      "parents": [
        "c4a2d7fbec3029c8891a3ad5fceec2992096a3b7"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 04 09:59:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:05 2008 -0700"
      },
      "message": "lib: taint kernel in common report_bug() WARN path.\n\nCommit 95b570c9cef3b12356454c7112571b7e406b4b51 (\"Taint kernel after\nWARN_ON(condition)\") introduced a TAINT_WARN that was implemented for\nall architectures using the generic warn_on_slowpath(), which excluded\nany architecture that set HAVE_ARCH_WARN_ON.\n\nAs all of the architectures that implement their own WARN_ON() all go\nthrough the report_bug() path (specifically handling BUG_TRAP_TYPE_WARN),\ntaint the kernel there as well for consistency.\n\nTested on avr32 and sh. Also relevant for s390, parisc, and powerpc.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "608e2619682e951f525b08e7a48669a3c0263b41",
      "tree": "034ec1a626c776da201c6664a0ac8b2ec0934167",
      "parents": [
        "94bed2a9c4ae980838003f5d32681eef794ecc28"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun Jul 15 23:41:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:51 2007 -0700"
      },
      "message": "generic bug: use show_regs() instead of dump_stack()\n\nThe current generic bug implementation has a call to dump_stack() in case a\nWARN_ON(whatever) gets hit.  Since report_bug(), which calls dump_stack(),\ngets called from an exception handler we can do better: just pass the\npt_regs structure to report_bug() and pass it to show_regs() in case of a\nwarning.  This will give more debug informations like register contents,\netc...  In addition this avoids some pointless lines that dump_stack()\nemits, since it includes a stack backtrace of the exception handler which\nis of no interest in case of a warning.  E.g.  on s390 the following lines\nare currently always present in a stack backtrace if dump_stack() gets\ncalled from report_bug():\n\n [\u003c000000000001517a\u003e] show_trace+0x92/0xe8)\n [\u003c0000000000015270\u003e] show_stack+0xa0/0xd0\n [\u003c00000000000152ce\u003e] dump_stack+0x2e/0x3c\n [\u003c0000000000195450\u003e] report_bug+0x98/0xf8\n [\u003c0000000000016cc8\u003e] illegal_op+0x1fc/0x21c\n [\u003c00000000000227d6\u003e] sysc_return+0x0/0x10\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nAcked-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7664c5a1da4711bb6383117f51b94c8dc8f3f1cd",
      "tree": "79a2e2a4626c66a411488b5ceb554b011d862a7d",
      "parents": [
        "c48f70c3d046f021b1c22438604ef2a583380eca"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Dec 08 02:36:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:39 2006 -0800"
      },
      "message": "[PATCH] Generic BUG implementation\n\nThis patch adds common handling for kernel BUGs, for use by architectures as\nthey wish.  The code is derived from arch/powerpc.\n\nThe advantages of having common BUG handling are:\n - consistent BUG reporting across architectures\n - shared implementation of out-of-line file/line data\n - implement CONFIG_DEBUG_BUGVERBOSE consistently\n\nThis means that in inline impact of BUG is just the illegal instruction\nitself, which is an improvement for i386 and x86-64.\n\nA BUG is represented in the instruction stream as an illegal instruction,\nwhich has file/line information associated with it.  This extra information is\nstored in the __bug_table section in the ELF file.\n\nWhen the kernel gets an illegal instruction, it first confirms it might\npossibly be from a BUG (ie, in kernel mode, the right illegal instruction).\nIt then calls report_bug().  This searches __bug_table for a matching\ninstruction pointer, and if found, prints the corresponding file/line\ninformation.  If report_bug() determines that it wasn\u0027t a BUG which caused the\ntrap, it returns BUG_TRAP_TYPE_NONE.\n\nSome architectures (powerpc) implement WARN using the same mechanism; if the\nillegal instruction was the result of a WARN, then report_bug(Q) returns\nCONFIG_DEBUG_BUGVERBOSE; otherwise it returns BUG_TRAP_TYPE_BUG.\n\nlib/bug.c keeps a list of loaded modules which can be searched for __bug_table\nentries.  The architecture must call\nmodule_bug_finalize()/module_bug_cleanup() from its corresponding\nmodule_finalize/cleanup functions.\n\nUnsetting CONFIG_DEBUG_BUGVERBOSE will reduce the kernel size by some amount.\nAt the very least, filename and line information will not be recorded for each\nbut, but architectures may decide to store no extra information per BUG at\nall.\n\nUnfortunately, gcc doesn\u0027t have a general way to mark an asm() as noreturn, so\narchitectures will generally have to include an infinite loop (or similar) in\nthe BUG code, so that gcc knows execution won\u0027t continue beyond that point.\ngcc does have a __builtin_trap() operator which may be useful to achieve the\nsame effect, unfortunately it cannot be used to actually implement the BUG\nitself, because there\u0027s no way to get the instruction\u0027s address for use in\ngenerating the __bug_table entry.\n\n[randy.dunlap@oracle.com: Handle BUG\u003dn, GENERIC_BUG\u003dn to prevent build errors]\n[bunk@stusta.de: include/linux/bug.h must always #include \u003clinux/module.h]\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Hugh Dickens \u003chugh@veritas.com\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
