)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
