)]}'
{
  "commit": "35114fcbe0b9b0fa3f6653a2a8e4c6b8a9f8cc2d",
  "tree": "520b0ab0c8aa28c808eabb81e979f01749811018",
  "parents": [
    "1853a65ec5bd07c18f4a43e6709486c81400afa6"
  ],
  "author": {
    "name": "Oleg Nesterov",
    "email": "oleg@redhat.com",
    "time": "Tue Aug 06 17:43:37 2013 +0200"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Aug 06 13:16:32 2013 -0700"
  },
  "message": "Revert \"ptrace: PTRACE_DETACH should do flush_ptrace_hw_breakpoint(child)\"\n\nThis reverts commit fab840fc2d542fabcab903db8e03589a6702ba5f.\n\nThis commit even has the test-case to prove that the tracee\ncan be killed by SIGTRAP if the debugger does not remove the\nbreakpoints before PTRACE_DETACH.\n\nHowever, this is exactly what wineserver deliberately does,\nset_thread_context() calls PTRACE_ATTACH + PTRACE_DETACH just\nfor PTRACE_POKEUSER(DR*) in between.\n\nSo we should revert this fix and document that PTRACE_DETACH\nshould keep the breakpoints.\n\nReported-by: Felipe Contreras \u003cfelipe.contreras@gmail.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4041f5747e73bf70f8d8dbb412f8e7b7067a8017",
      "old_mode": 33188,
      "old_path": "kernel/ptrace.c",
      "new_id": "a146ee327f6ac15029b64424f0abd07e8d316f67",
      "new_mode": 33188,
      "new_path": "kernel/ptrace.c"
    }
  ]
}
