)]}'
{
  "log": [
    {
      "commit": "3751d3e85cf693e10e2c47c03c8caa65e171099b",
      "tree": "65d123dac17103f6862831bcb4271b263805fd9f",
      "parents": [
        "98b54aa1a2241b59372468bd1e9c2d207bdba54b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 23 09:35:05 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:25 2012 -0500"
      },
      "message": "x86,kgdb: Fix DEBUG_RODATA limitation using text_poke()\n\nThere has long been a limitation using software breakpoints with a\nkernel compiled with CONFIG_DEBUG_RODATA going back to 2.6.26. For\nthis particular patch, it will apply cleanly and has been tested all\nthe way back to 2.6.36.\n\nThe kprobes code uses the text_poke() function which accommodates\nwriting a breakpoint into a read-only page.  The x86 kgdb code can\nsolve the problem similarly by overriding the default breakpoint\nset/remove routines and using text_poke() directly.\n\nThe x86 kgdb code will first attempt to use the traditional\nprobe_kernel_write(), and next try using a the text_poke() function.\nThe break point install method is tracked such that the correct break\npoint removal routine will get called later on.\n\nCc: x86@kernel.org\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.36\nInspried-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "23bbd8e346f1ef3fc1219c79cea53d8d52b207d8",
      "tree": "b135674cee5a441902b8a1f0c42cd887578b8cc3",
      "parents": [
        "486c5987a00a89d56c2c04c506417ef8f823ca2e"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:24 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:24 2012 -0500"
      },
      "message": "kgdbts: (2 of 2) fix single step awareness to work correctly with SMP\n\nThe do_fork and sys_open tests have never worked properly on anything\nother than a UP configuration with the kgdb test suite.  This is\nbecause the test suite did not fully implement the behavior of a real\ndebugger.  A real debugger tracks the state of what thread it asked to\nsingle step and can correctly continue other threads of execution or\nconditionally stop while waiting for the original thread single step\nrequest to return.\n\nBelow is a simple method to cause a fatal kernel oops with the kgdb\ntest suite on a 2 processor ARM system:\n\nwhile [ 1 ] ; do ls \u003e /dev/null 2\u003e /dev/null; done\u0026\nwhile [ 1 ] ; do ls \u003e /dev/null 2\u003e /dev/null; done\u0026\necho V1I1F100 \u003e /sys/module/kgdbts/parameters/kgdbts\n\nVery soon after starting the test the kernel will start warning with\nmessages like:\n\nkgdbts: BP mismatch c002487c expected c0024878\n------------[ cut here ]------------\nWARNING: at drivers/misc/kgdbts.c:317 check_and_rewind_pc+0x9c/0xc4()\n[\u003cc01f6520\u003e] (check_and_rewind_pc+0x9c/0xc4)\n[\u003cc01f595c\u003e] (validate_simple_test+0x3c/0xc4)\n[\u003cc01f60d4\u003e] (run_simple_test+0x1e8/0x274)\n\nThe kernel will eventually recovers, but the test suite has completely\nfailed to test anything useful.\n\nThis patch implements behavior similar to a real debugger that does\nnot rely on hardware single stepping by using only software planted\nbreakpoints.\n\nIn order to mimic a real debugger, the kgdb test suite now tracks the\nmost recent thread that was continued (cont_thread_id), with the\nintent to single step just this thread.  When the response to the\nsingle step request stops in a different thread that hit the original\nbreak point that thread will now get continued, while the debugger\nwaits for the thread with the single step pending.  Here is a high\nlevel description of the sequence of events.\n\n   cont_instead_of_sstep \u003d 0;\n\n1) set breakpoint at do_fork\n2) continue\n3)   Save the thread id where we stop to cont_thread_id\n4) Remove breakpoint at do_fork\n5) Reset the PC if needed depending on kernel exception type\n6) soft single step\n7)   Check where we stopped\n       if current thread !\u003d cont_thread_id {\n           if (here for more than 2 times for the same thead) {\n              ### must be a really busy system, start test again ###\n\t      goto step 1\n           }\n           goto step 5\n       } else {\n           cont_instead_of_sstep \u003d 0;\n       }\n8) clean up and run test again if needed\n9) Clear out any threads that were waiting on a break point at the\n   point in time the test is ended with get_cont_catch().  This\n   happens sometimes because breakpoints are used in place of single\n   stepping and some threads could have been in the debugger exception\n   handling queue because breakpoints were hit concurrently on\n   different CPUs.  This also means we wait at least one second before\n   unplumbing the debugger connection at the very end, so as respond\n   to any debug threads waiting to be serviced.\n\nCc: stable@vger.kernel.org # \u003e\u003d 3.0\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "486c5987a00a89d56c2c04c506417ef8f823ca2e",
      "tree": "9b1ec804014c2f05198661c4f58006acb321ea7f",
      "parents": [
        "456ca7ff24841bf2d2a2dfd690fe7d42ef70d932"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:24 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:24 2012 -0500"
      },
      "message": "kgdbts: (1 of 2) fix single step awareness to work correctly with SMP\n\nThe do_fork and sys_open tests have never worked properly on anything\nother than a UP configuration with the kgdb test suite.  This is\nbecause the test suite did not fully implement the behavior of a real\ndebugger.  A real debugger tracks the state of what thread it asked to\nsingle step and can correctly continue other threads of execution or\nconditionally stop while waiting for the original thread single step\nrequest to return.\n\nBelow is a simple method to cause a fatal kernel oops with the kgdb\ntest suite on a 4 processor x86 system:\n\nwhile [ 1 ] ; do ls \u003e /dev/null 2\u003e /dev/null; done\u0026\nwhile [ 1 ] ; do ls \u003e /dev/null 2\u003e /dev/null; done\u0026\nwhile [ 1 ] ; do ls \u003e /dev/null 2\u003e /dev/null; done\u0026\nwhile [ 1 ] ; do ls \u003e /dev/null 2\u003e /dev/null; done\u0026\necho V1I1F1000 \u003e /sys/module/kgdbts/parameters/kgdbts\n\nVery soon after starting the test the kernel will oops with a message like:\n\nkgdbts: BP mismatch 3b7da66480 expected ffffffff8106a590\nWARNING: at drivers/misc/kgdbts.c:303 check_and_rewind_pc+0xe0/0x100()\nCall Trace:\n [\u003cffffffff812994a0\u003e] check_and_rewind_pc+0xe0/0x100\n [\u003cffffffff81298945\u003e] validate_simple_test+0x25/0xc0\n [\u003cffffffff81298f77\u003e] run_simple_test+0x107/0x2c0\n [\u003cffffffff81298a18\u003e] kgdbts_put_char+0x18/0x20\n\nThe warn will turn to a hard kernel crash shortly after that because\nthe pc will not get properly rewound to the right value after hitting\na breakpoint leading to a hard lockup.\n\nThis change is broken up into 2 pieces because archs that have hw\nsingle stepping (2.6.26 and up) need different changes than archs that\ndo not have hw single stepping (3.0 and up).  This change implements\nthe correct behavior for an arch that supports hw single stepping.\n\nA minor defect was fixed where sys_open should be do_sys_open\nfor the sys_open break point test.  This solves the problem of running\na 64 bit with a 32 bit user space.  The sys_open() never gets called\nwhen using the 32 bit file system for the kgdb testsuite because the\n32 bit binaries invoke the compat_sys_open() call leading to the test\nnever completing.\n\nIn order to mimic a real debugger, the kgdb test suite now tracks the\nmost recent thread that was continued (cont_thread_id), with the\nintent to single step just this thread.  When the response to the\nsingle step request stops in a different thread that hit the original\nbreak point that thread will now get continued, while the debugger\nwaits for the thread with the single step pending.  Here is a high\nlevel description of the sequence of events.\n\n   cont_instead_of_sstep \u003d 0;\n\n1) set breakpoint at do_fork\n2) continue\n3)   Save the thread id where we stop to cont_thread_id\n4) Remove breakpoint at do_fork\n5) Reset the PC if needed depending on kernel exception type\n6) if (cont_instead_of_sstep) { continue } else { single step }\n7)   Check where we stopped\n       if current thread !\u003d cont_thread_id {\n           cont_instead_of_sstep \u003d 1;\n           goto step 5\n       } else {\n           cont_instead_of_sstep \u003d 0;\n       }\n8) clean up and run test again if needed\n\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.26\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "456ca7ff24841bf2d2a2dfd690fe7d42ef70d932",
      "tree": "979edc05aadcf59f7f9896ceb4d03b6586f3f19b",
      "parents": [
        "78724b8ef83fc2bcfbc0a72a7ad8a3ce5ad25e6a"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 06:55:44 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:24 2012 -0500"
      },
      "message": "kgdbts: Fix kernel oops with CONFIG_DEBUG_RODATA\n\nOn x86 the kgdb test suite will oops when the kernel is compiled with\nCONFIG_DEBUG_RODATA and you run the tests after boot time. This is\nregression has existed since 2.6.26 by commit: b33cb815 (kgdbts: Use\nHW breakpoints with CONFIG_DEBUG_RODATA).\n\nThe test suite can use hw breakpoints for all the tests, but it has to\nexecute the hardware breakpoint specific tests first in order to\ndetermine that the hw breakpoints actually work.  Specifically the\nvery first test causes an oops:\n\n# echo V1I1 \u003e /sys/module/kgdbts/parameters/kgdbts\nkgdb: Registered I/O driver kgdbts.\nkgdbts:RUN plant and detach test\n\nEntering kdb (current\u003d0xffff880017aa9320, pid 1078) on processor 0 due to Keyboard Entry\n[0]kdb\u003e kgdbts: ERROR PUT: end of test buffer on \u0027plant_and_detach_test\u0027 line 1 expected OK got $E14#aa\nWARNING: at drivers/misc/kgdbts.c:730 run_simple_test+0x151/0x2c0()\n[...oops clipped...]\n\nThis commit re-orders the running of the tests and puts the RODATA\ncheck into its own function so as to correctly avoid the kernel oops\nby detecting and using the hw breakpoints.\n\nCc: \u003cstable@vger.kernel.org\u003e # \u003e\u003d 2.6.26\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "eb12a679b242c03b9eaa38a67cae9fa3e17ddea6",
      "tree": "01471247795d16850cdedab6cee654a6b1b579b9",
      "parents": [
        "314ef9cb52d8543821cdfd34decd696cd4139a68"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 03 15:14:56 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:53 2011 -0400"
      },
      "message": "drivers/misc: Add module.h to files who are really modular.\n\nThese files really need the full module.h header file present, but\nwere just getting it implicitly before.  Fix it up in advance so we\navoid build failures once the cleanup commit is present.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "603d04b2010976a52f62b7633f9999d104046900",
      "tree": "884a5db96f4254cda481423fcaa18bae7e2a4c67",
      "parents": [
        "e12ca23d41bd157354a5d1aadff30211a410c53a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 28 10:04:25 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 16:35:01 2011 +0900"
      },
      "message": "kgdbts: only use new asm-generic/ptrace.h api when needed\n\nThe new instruction_pointer_set helper is defined for people who have\nconverted to asm-generic/ptrace.h, so don\u0027t use it generally unless\nthe arch needs it (in which case it has been converted).  This should\nfix building of kgdb tests for arches not yet converted.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63ab25ebbc50f74550bd8d164a34724b498f6fb9",
      "tree": "5753779e8ba6413174ee224286eabc18c2e9c6ee",
      "parents": [
        "3cea45c6ef459b776123a4855eba6dafd506f3ce"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu May 26 16:25:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "message": "kgdbts: unify/generalize gdb breakpoint adjustment\n\nThe Blackfin arch, like the x86 arch, needs to adjust the PC manually\nafter a breakpoint is hit as normally this is handled by the remote gdb.\nHowever, rather than starting another arch ifdef mess, create a common\nGDB_ADJUSTS_BREAK_OFFSET define for any arch to opt-in via their kgdb.h.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "adb4b83c12f9d966ea3478aa14c60511467c9916",
      "tree": "b9dd2efee119cc6f053ffa6fb50a3d336e5e3dfb",
      "parents": [
        "521cb40b0c44418a4fd36dc633f575813d59a43d"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Mar 15 07:28:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 25 16:37:30 2011 -0500"
      },
      "message": "kgdboc,kgdbts: strlen() doesn\u0027t count the terminator\n\nThis is an off by one because strlen() doesn\u0027t count the null\nterminator.  We strcpy() these strings into an array of size\nMAX_CONFIG_LEN.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "4dacd5c073150cd78dfb6004cbfa71986f0258a4",
      "tree": "7da8bd47cc31480a44b579d37290339021d11162",
      "parents": [
        "d7ba979d45272385ce0fdf141d922e61ff48e07b"
      ],
      "author": {
        "name": "Dongdong Deng",
        "email": "dongdong.deng@windriver.com",
        "time": "Mon Aug 30 21:06:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:41 2010 -0500"
      },
      "message": "kgdbts: prevent re-entry to kgdbts before it unregisters\n\nThe \"kgdb_connected\" variable of debug_core just indicates whether or\nnot kgdbts is connected to the debug_core.  It does not completely\nprevent a script from trying invoke kgdbts again and possibly crashing\nthe system (see Call Trace below).\n\nThe configured variable in kgtbts can be used instead of\nkgdb_connected instead of kgdb_connected. The cleanup_kgdbts() can\nalso be removed because there is no possible way to build kgdbts as a\nkernel module that you could unload with rmmod.\n\nCall Trace:\n-----------------------------------------------------------------\nroot:/$ echo kgdbts\u003dV1S1000 \u003e /sys/module/kgdbts/parameters/kgdbts\nkgdb: Unregistered I/O driver kgdbts, debugger disabled.\n------------[ cut here ]------------\nWARNING: at kernel/debug/debug_core.c:1002\nkgdb_unregister_io_module+0xec/0x100()\nHardware name: Moon Creek platform\nModules linked in:\nPid: 664, comm: sh Not tainted 2.6.34.1-WR4.0.0.0_standard #58\nCall Trace:\n [\u003cc103b1ed\u003e] warn_slowpath_common+0x6d/0xa0\n [\u003cc1079fdc\u003e] ? kgdb_unregister_io_module+0xec/0x100\n [\u003cc1079fdc\u003e] ? kgdb_unregister_io_module+0xec/0x100\n [\u003cc10544e0\u003e] ? param_attr_store+0x0/0x20\n [\u003cc103b235\u003e] warn_slowpath_null+0x15/0x20\n [\u003cc1079fdc\u003e] kgdb_unregister_io_module+0xec/0x100\n [\u003cc124e4ea\u003e] cleanup_kgdbts+0x1a/0x20\n [\u003cc124eced\u003e] param_set_kgdbts_var+0x6d/0xb0\n [\u003cc124ec80\u003e] ? param_set_kgdbts_var+0x0/0xb0\n [\u003cc10544f7\u003e] param_attr_store+0x17/0x20\n [\u003cc105457c\u003e] module_attr_store+0x2c/0x40\n [\u003cc111fe84\u003e] sysfs_write_file+0x94/0xf0\n [\u003cc10d42f6\u003e] vfs_write+0x96/0x130\n [\u003cc111fdf0\u003e] ? sysfs_write_file+0x0/0xf0\n [\u003cc10d44d6\u003e] sys_write+0x46/0xd0\n [\u003cc13bf329\u003e] system_call_done+0x0/0x4\n---[ end trace 4eb028c6ee43154c ]---\nkgdb: Unregistered I/O driver kgdbts, debugger disabled.\n-----------------------------------------------------------------\n\n[jason.wessel@windriver.com: remove cleanup_kgdbts() ]\nSigned-off-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "cad08acebf4b7d993b0cefb9af67208c48fb9a5e",
      "tree": "0fddb37b3faf89a082f85d7f3fb8f57dd8b180d5",
      "parents": [
        "a0279bd58060ccedbd414edf97d50cfa3778c370"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Apr 02 11:31:35 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Apr 02 14:58:17 2010 -0500"
      },
      "message": "kgdbts,sh: Add in breakpoint pc offset for superh\n\nThe kgdb test suite mimics the behavior of gdb.  For the sh\narchitecture the pc must be decremented by 2 for software breakpoint.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "59d309f9c8ef0bd01bf93cc0e758f1d810417bdb",
      "tree": "7f6fd4135a6761350c5332db908122f1de180ad4",
      "parents": [
        "b4f1b67be99d6eda8f2f252460905858ace871ef"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Dec 11 08:43:15 2009 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:15 2009 -0600"
      },
      "message": "kgdb: Replace strstr() by strchr() for single-character needles\n\nSome versions of gcc replace calls to strstr() with single-character\n\"needle\" string parameters by calls to strchr() behind our back.\nThis causes linking errors if strchr() is defined as an inline function\nin \u003casm/string.h\u003e (e.g. on m68k, which BTW doesn\u0027t have kgdb support).\n\nPrevent this by explicitly calling strchr() instead.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "b4f1b67be99d6eda8f2f252460905858ace871ef",
      "tree": "192b55a4f009716d7a4e82ac061c9b8e89ffb377",
      "parents": [
        "84667d4849b0e0a939a76f9f62d45fa3b4d59692"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Fri Dec 11 08:43:15 2009 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Dec 11 08:43:15 2009 -0600"
      },
      "message": "kgdbts: Read buffer overflow\n\nPrevent write to put_buf[BUFMAX] in kgdb test suite.\n\nIf put_buf_cnt was BUFMAX - 1 at the earlier test,\n`\\0\u0027 is written to put_buf[BUFMAX].\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "b33cb815b565a94c654a0fe8e62e36f5b4053888",
      "tree": "cf0c5213903420338e71c44fc14322d34cc1c488",
      "parents": [
        "827e609b4581282b98bdf7666f6e93ff1bd1a63e"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed May 28 12:49:57 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed May 28 12:49:57 2008 -0500"
      },
      "message": "kgdbts: Use HW breakpoints with CONFIG_DEBUG_RODATA\n\nWhenever CONFIG_DEBUG_RODATA is set in the kernel config many kernel\ntext sections become read-only, and the use of software breakpoints in\nthe kgdb tests will cause the kernel to fail to complete the start up.\n\nUntil such time that there is an official API for modifying read-only\ntext sections hardware breakpoints must be used to run the do_fork or\nsys_open tests or the tests get skipped.\n\nAlso fix the duplicated include reported by:\nHuang Weiyi \u003cweiyi.huang@gmail.com\u003e\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "827e609b4581282b98bdf7666f6e93ff1bd1a63e",
      "tree": "52b998e4204e77eb7a0d662f7ff04460d074164c",
      "parents": [
        "0a2ce2ffc358da96792d514c1024b72c52be9cc1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed May 28 12:49:56 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed May 28 12:49:56 2008 -0500"
      },
      "message": "kgdb: use common ascii helpers and put_unaligned_be32 helper\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "7cfcd985d36031459cc64e3843ea36a4d801097d",
      "tree": "6e5b83ddcf390fccd778a6c387cb5734a19cbc81",
      "parents": [
        "001fddf5fdcfe2c08ac9c4e5ca80c5e5698363bb"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 24 16:57:23 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 05 07:13:21 2008 -0500"
      },
      "message": "kgdb: 1000 loops for the single step test in kgdbts\n\nThe single step test is not terribly costly and it should be able to\npass at 1000 loops successfully in under 1 second.  A non-kgdb timing\nregression was found using this test, but it did not occur frequently\nbecause by default the test was only executed a single time.\n\nThis patch changes the default for the single step test to 1000\niterations and allows for individual configuration of the single step\ntest to further exercise the kgdb subsystem when needed.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "001fddf5fdcfe2c08ac9c4e5ca80c5e5698363bb",
      "tree": "8f5ed69dd0a3b968745959db31e9558967f11f23",
      "parents": [
        "f92509371ec06227a7e29778f395776d31b0deab"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 24 16:57:23 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 05 07:13:21 2008 -0500"
      },
      "message": "kgdb: trivial sparse fixes in kgdb test-suite\n\nShadowed variable and integer as NULL pointer fixes:\ndrivers/misc/kgdbts.c:877:6: warning: symbol \u0027sys_open_test\u0027 shadows an earlier one\ndrivers/misc/kgdbts.c:537:27: originally declared here\ndrivers/misc/kgdbts.c:378:22: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:386:22: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:468:30: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:472:15: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:502:30: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:506:30: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:509:30: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:523:20: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:527:20: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:530:15: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:541:21: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:545:21: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:548:15: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:559:30: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:563:15: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:573:16: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:574:19: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:578:15: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:588:16: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:589:19: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:593:15: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:602:16: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:604:15: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:925:3: warning: Using plain integer as NULL pointer\ndrivers/misc/kgdbts.c:938:3: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "4d7ffa49909a830f5f926a3280731d01e29f31fb",
      "tree": "cce91331c597a8374f5a00ae21b0746ee2707ea5",
      "parents": [
        "0a9e9b110c4ef05ab6c35440e2779ec4aa2c65e6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 01:36:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 01:36:14 2008 -0700"
      },
      "message": "kgdbts: Sparc needs sstep emulation.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "974460c5bfd9f6c38aa3dda189a63f9fc351035f",
      "tree": "fbfe9c79956e5fb31ff3da72b628d72d31d5f453",
      "parents": [
        "e3e2aaf7dc0d82a055e084cfd48b9257c0c66b68"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 20 13:43:44 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:43 2008 +0200"
      },
      "message": "kgdb: allow static kgdbts boot configuration\n\nThis patch adds in the ability to compile the kgdb internal test\nstring into the kernel so as to run the tests at boot without changing\nthe kernel boot arguments.  This patch also changes all the error\npaths to invoke WARN_ON(1) which will emit the line number of the file\nand dump the kernel stack when an error occurs.\n\nYou can disable the tests in a kernel that is built this way\nusing \"kgdbts\u003d\"\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e8d31c204e36e019b9134f2a11926cac0fcf9b19",
      "tree": "2720c1deadb6e57981254ec4120624b8a24dfdcf",
      "parents": [
        "737a460f21febe551ff1d2299b63bae9b154078f"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 07 16:34:17 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:42 2008 +0200"
      },
      "message": "kgdb: add kgdb internal test suite\n\nThis patch adds regression tests for testing the kgdb core and arch\nspecific implementation.\n\nThe kgdb test suite is designed to be built into the kernel and not as\na module because it uses a number of low level kernel and kgdb\nprimitives which should not be exported externally.\n\nThe kgdb test suite is designed as a KGDB I/O module which\nsimulates the communications that a debugger would have with kgdb.\nThe tests are broken up in to a line by line and referenced here as\na \"get\" which is kgdb requesting input and \"put\" which is kgdb\nsending a response.\n\nThe kgdb suite can be invoked from the kernel command line\narguments system or executed dynamically at run time.  The test\nsuite uses the variable \"kgdbts\" to obtain the information about\nwhich tests to run and to configure the verbosity level.  The\nfollowing are the various characters you can use with the kgdbts\u003d\nline:\n\nWhen using the \"kgdbts\u003d\" you only choose one of the following core\ntest types:\nA \u003d Run all the core tests silently\nV1 \u003d Run all the core tests with minimal output\nV2 \u003d Run all the core tests in debug mode\n\nYou can also specify optional tests:\nN## \u003d Go to sleep with interrupts of for ## seconds\n      to test the HW NMI watchdog\nF## \u003d Break at do_fork for ## iterations\nS## \u003d Break at sys_open for ## iterations\n\nNOTE: that the do_fork and sys_open tests are mutually exclusive.\n\nTo invoke the kgdb test suite from boot you use a kernel start\nargument as follows:\n\tkgdbts\u003dV1 kgdbwait\nOr if you wanted to perform the NMI test for 6 seconds and do_fork\ntest for 100 forks, you could use:\n\tkgdbts\u003dV1N6F100 kgdbwait\n\nThe test suite can also be invoked at run time with:\necho kgdbts\u003dV1N6F100 \u003e /sys/module/kgdbts/parameters/kgdbts\nOr as another example:\necho kgdbts\u003dV2 \u003e /sys/module/kgdbts/parameters/kgdbts\n\nWhen developing a new kgdb arch specific implementation or\nusing these tests for the purpose of regression testing,\nseveral invocations are required.\n\n1) Boot with the test suite enabled by using the kernel arguments\n      \"kgdbts\u003dV1F100 kgdbwait\"\n   ## If kgdb arch specific implementation has NMI use\n      \"kgdbts\u003dV1N6F100\n\n2) After the system boot run the basic test.\necho kgdbts\u003dV1 \u003e /sys/module/kgdbts/parameters/kgdbts\n\n3) Run the concurrency tests.  It is best to use n+1\n   while loops where n is the number of cpus you have\n   in your system.  The example below uses only two\n   loops.\n\n## This tests break points on sys_open\nwhile [ 1 ] ; do find / \u003e /dev/null 2\u003e\u00261 ; done \u0026\nwhile [ 1 ] ; do find / \u003e /dev/null 2\u003e\u00261 ; done \u0026\necho kgdbts\u003dV1S10000 \u003e /sys/module/kgdbts/parameters/kgdbts\nfg # and hit control-c\nfg # and hit control-c\n## This tests break points on do_fork\nwhile [ 1 ] ; do date \u003e /dev/null ; done \u0026\nwhile [ 1 ] ; do date \u003e /dev/null ; done \u0026\necho kgdbts\u003dV1F1000 \u003e /sys/module/kgdbts/parameters/kgdbts\nfg # and hit control-c\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
