)]}'
{
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fdc37b3d0ce35ab379b09eed4d2811fdf95fc511",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/kgdb.c",
      "new_id": "b9bd9d8de665ada43b98864108ac4412b78a3f8c",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/kgdb.c"
    },
    {
      "type": "modify",
      "old_id": "d087456ba0897a7b9e3acf5b452a09b7ce39a3b6",
      "old_mode": 33188,
      "old_path": "drivers/misc/kgdbts.c",
      "new_id": "3aa9a969b373a4ffd102e35e2f5c804274675dab",
      "new_mode": 33188,
      "new_path": "drivers/misc/kgdbts.c"
    },
    {
      "type": "modify",
      "old_id": "e5d689c1d774fb2590a64e42dca63f009781adcd",
      "old_mode": 33188,
      "old_path": "include/linux/kgdb.h",
      "new_id": "c4d2fc194edec1c07cc5cb3d8fd2fd8059a9cefb",
      "new_mode": 33188,
      "new_path": "include/linux/kgdb.h"
    }
  ]
}
