)]}'
{
  "commit": "a288eecce5253cc1565d400a52b9b476a157e040",
  "tree": "a933dd8c9791be83b7a67a33502c79e7b441960e",
  "parents": [
    "f3c04b934d429b1ace21866f011b66de328c0dc9"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Fri Jun 17 16:50:37 2011 +0200"
  },
  "committer": {
    "name": "Oleg Nesterov",
    "email": "oleg@redhat.com",
    "time": "Wed Jun 22 19:26:28 2011 +0200"
  },
  "message": "ptrace: kill trivial tracehooks\n\nAt this point, tracehooks aren\u0027t useful to mainline kernel and mostly\njust add an extra layer of obfuscation.  Although they have comments,\nwithout actual in-kernel users, it is difficult to tell what are their\nassumptions and they\u0027re actually trying to achieve.  To mainline\nkernel, they just aren\u0027t worth keeping around.\n\nThis patch kills the following trivial tracehooks.\n\n* Ones testing whether task is ptraced.  Replace with -\u003eptrace test.\n\n\ttracehook_expect_breakpoints()\n\ttracehook_consider_ignored_signal()\n\ttracehook_consider_fatal_signal()\n\n* ptrace_event() wrappers.  Call directly.\n\n\ttracehook_report_exec()\n\ttracehook_report_exit()\n\ttracehook_report_vfork_done()\n\n* ptrace_release_task() wrapper.  Call directly.\n\n\ttracehook_finish_release_task()\n\n* noop\n\n\ttracehook_prepare_release_task()\n\ttracehook_report_death()\n\nThis doesn\u0027t introduce any behavior change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a65d2e82f61d56813851d293436c697309515cda",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/traps.c",
      "new_id": "a63d34c3611e5c978df849f07c36b9b67e0a89fc",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/traps.c"
    },
    {
      "type": "modify",
      "old_id": "a9f2b3631bdb081b17a25e4be600026bd5df4453",
      "old_mode": 33188,
      "old_path": "fs/exec.c",
      "new_id": "b37030d0a50bab84fbc879d40396fc7b5c08e9b7",
      "new_mode": 33188,
      "new_path": "fs/exec.c"
    },
    {
      "type": "modify",
      "old_id": "3b68aa842a92c9e87ce2c05e6295c782dc4dfc01",
      "old_mode": 33188,
      "old_path": "include/linux/tracehook.h",
      "new_id": "8b06d4f2b814bd98a39ed407d0819739b830c31e",
      "new_mode": 33188,
      "new_path": "include/linux/tracehook.h"
    },
    {
      "type": "modify",
      "old_id": "e5cc05644609430be9a4570d665b8d6a23837f9d",
      "old_mode": 33188,
      "old_path": "kernel/exit.c",
      "new_id": "d49134a7f250a9ddad008f14c5a79f6186e88ab0",
      "new_mode": 33188,
      "new_path": "kernel/exit.c"
    },
    {
      "type": "modify",
      "old_id": "0276c30401a081132d1e4fadac663f3afdf292c0",
      "old_mode": 33188,
      "old_path": "kernel/fork.c",
      "new_id": "d4f0dff9d617fdf011ec435f0c15079ad53e49bb",
      "new_mode": 33188,
      "new_path": "kernel/fork.c"
    },
    {
      "type": "modify",
      "old_id": "0f3370872506cd2aafa717a9895cef4425b1eb86",
      "old_mode": 33188,
      "old_path": "kernel/signal.c",
      "new_id": "1550aee34f42ec7704e4e99cfb8e240880f8b578",
      "new_mode": 33188,
      "new_path": "kernel/signal.c"
    },
    {
      "type": "modify",
      "old_id": "1fd0c51b10a63db69181fc6ba2f42127aaad6ef7",
      "old_mode": 33188,
      "old_path": "mm/nommu.c",
      "new_id": "54ae707bdae8a0ac76783026d88a190803382eb1",
      "new_mode": 33188,
      "new_path": "mm/nommu.c"
    }
  ]
}
